void QNetworkReplyWrapper::stopForwarding() { if (m_reply) { // Disconnect all connections that might affect the ResourceHandleClient. m_reply->disconnect(this, SLOT(receiveMetaData())); m_reply->disconnect(this, SLOT(didReceiveFinished())); m_reply->disconnect(this, SLOT(didReceiveReadyRead())); } QCoreApplication::removePostedEvents(this, QEvent::MetaCall); }
void QNetworkReplyWrapper::resetConnections() { if (m_reply) { // Disconnect all connections except the one to setFinished() slot. m_reply->disconnect(this, SLOT(receiveMetaData())); m_reply->disconnect(this, SLOT(didReceiveFinished())); m_reply->disconnect(this, SLOT(didReceiveReadyRead())); } QCoreApplication::removePostedEvents(this, QEvent::MetaCall); }
void QNetworkReplyWrapper::emitMetaDataChanged() { QueueLocker lock(m_queue); m_queue->push(&QNetworkReplyHandler::sendResponseIfNeeded); if (m_reply->bytesAvailable()) { m_responseContainsData = true; m_queue->push(&QNetworkReplyHandler::forwardData); } if (isFinished()) { m_queue->push(&QNetworkReplyHandler::finish); return; } // If not finished, connect to the slots that will be used from this point on. connect(m_reply, SIGNAL(readyRead()), this, SLOT(didReceiveReadyRead())); connect(m_reply, SIGNAL(finished()), this, SLOT(didReceiveFinished())); }