void LoginController::checkReply() { QNetworkReply* reply = qobject_cast<QNetworkReply*>(sender()); QString response; if (reply) { if (reply->error() == QNetworkReply::NoError) { const int available = reply->bytesAvailable(); if (available > 0) { const QByteArray buffer(reply->readAll()); response = QString::fromUtf8(buffer); // save cookies on disk CookieJar::get()->saveToDisk(); saveUserName(); emit complete(); } } else { connectionTimedOut(); } reply->deleteLater(); } if (response.trimmed().isEmpty()) { errorMessage(); } }
/* Creates an ClientTCPRequest object where TCPSocket is the socket that will be used for data transfer */ ClientTCPRequest::ClientTCPRequest() : socket(new QTcpSocket(this)), data(new QString()), totalBytesSent(0), timer(NULL){ QTimer * timeoutTimer = new QTimer(); timeoutTimer->setInterval(8000); timeoutTimer->setSingleShot(true); timer = timeoutTimer; timer->start(); connect(timer, SIGNAL(timeout()), this, SLOT(connectionTimedOut())); connect(getSocket(), SIGNAL(connected()), this, SLOT(readyToSend())); connect(getSocket(), SIGNAL(bytesWritten(qint64)), this, SLOT(dataSent(qint64))); }