void Qip::error( int code, const QString& msg ) { if ( operationInProgress() ) { operationInProgress()->setState( StFailed ); operationInProgress()->setErrorCode( code ); operationInProgress()->setProtocolDetail( msg ); clearOperationQueue(); emit finished( operationInProgress() ); } state = Start; }
void QNetworkProtocol::stop() { QNetworkOperation *op = d->opInProgress; clearOperationQueue(); if ( op ) { op->setState( StStopped ); op->setProtocolDetail( tr( "Operation stopped by the user" ) ); emit finished( op ); setUrl( 0 ); op->free(); } }
void Nntp::error( int code ) { if ( code == QSocket::ErrHostNotFound || code == QSocket::ErrConnectionRefused ) { // this signal is called if connecting to the server failed if ( operationInProgress() ) { QString msg = tr( "Host not found or couldn't connect to: \n" + url()->host() ); operationInProgress()->setState( StFailed ); operationInProgress()->setProtocolDetail( msg ); operationInProgress()->setErrorCode( (int)ErrHostNotFound ); clearOperationQueue(); emit finished( operationInProgress() ); } } }
void QNetworkProtocol::processNextOperation( QNetworkOperation *old ) { #ifdef QNETWORKPROTOCOL_DEBUG qDebug( "QNetworkOperation: process next operation, old: %p", old ); #endif d->removeTimer->stop(); if ( old ) d->oldOps.append( old ); if ( d->opInProgress && d->opInProgress!=old ) d->oldOps.append( d->opInProgress ); if ( d->operationQueue.isEmpty() ) { d->opInProgress = 0; if ( d->autoDelete ) d->removeTimer->start( d->removeInterval, TRUE ); return; } QNetworkOperation *op = d->operationQueue.head(); d->opInProgress = 0; if ( !checkConnection( op ) ) { if ( op->state() != QNetworkProtocol::StFailed ) { d->opStartTimer->start( 0, TRUE ); d->opInProgress = op; } else { d->opInProgress = op; d->operationQueue.dequeue(); clearOperationQueue(); emit finished( op ); } return; } d->opInProgress = op; d->operationQueue.dequeue(); processOperation( op ); }