void ImageshackTalker::parseAccessToken(const QByteArray &data) { qCDebug(KIPIPLUGINS_LOG) << "Data received is "<< data; QJsonParseError err; QJsonDocument doc = QJsonDocument::fromJson(data, &err); if(err.error != QJsonParseError::NoError) { emit signalBusy(false); return; } QJsonObject jsonObject = doc.object(); if(jsonObject[QString::fromLatin1("success")].toBool()) { m_imageshack->m_loggedIn = true; QJsonObject obj = jsonObject[QString::fromLatin1("result")].toObject(); m_imageshack->setUsername(obj[QString::fromLatin1("username")].toString()); m_imageshack->setEmail(obj[QString::fromLatin1("email")].toString()); m_imageshack->setAuthToken(obj[QString::fromLatin1("auth_token")].toString()); checkRegistrationCodeDone(0,QString::fromLatin1("")); } else { m_imageshack->m_loggedIn = false; QJsonObject obj = jsonObject[QString::fromLatin1("error")].toObject(); checkRegistrationCodeDone(obj[QString::fromLatin1("error_code")].toInt(), obj[QString::fromLatin1("error_message")].toString()); } }
void ImageshackTalker::slotResult(KJob* kjob) { m_job = 0; KIO::Job* job = static_cast<KIO::Job*>(kjob); if (job->error()) { if (m_loginInProgress) { checkRegistrationCodeDone(job->error(), job->errorString()); } else if (m_state == IMGHCK_ADDPHOTO) { emit signalBusy(false); emit signalAddPhotoDone(job->error(), job->errorString()); } return; } switch (m_state) { case IMGHCK_CHECKREGCODE: parseCheckRegistrationCode(m_buffer); break; case IMGHCK_ADDPHOTO: parseUploadPhotoDone(m_buffer); break; default: break; } }
void ImageshackTalker::slotFinished(QNetworkReply* reply) { if (reply != m_reply) { return; } m_reply = 0; if (reply->error() != QNetworkReply::NoError) { if (m_state == IMGHCK_AUTHENTICATING) { checkRegistrationCodeDone(reply->error(), reply->errorString()); emit signalBusy(false); } else if (m_state == IMGHCK_GETGALLERIES) { emit signalBusy(false); emit signalGetGalleriesDone(reply->error(), reply->errorString()); } else if (m_state == IMGHCK_ADDPHOTO || m_state == IMGHCK_ADDPHOTOGALLERY) { emit signalBusy(false); emit signalAddPhotoDone(reply->error(), reply->errorString()); } m_state = IMGHCK_DONOTHING; reply->deleteLater(); return; } m_buffer.append(reply->readAll()); switch (m_state) { case IMGHCK_AUTHENTICATING: parseAccessToken(m_buffer); break; case IMGHCK_ADDPHOTOGALLERY: parseAddPhotoToGalleryDone(m_buffer); break; case IMGHCK_ADDVIDEO: case IMGHCK_ADDPHOTO: parseUploadPhotoDone(m_buffer); break; case IMGHCK_GETGALLERIES: parseGetGalleries(m_buffer); break; default: break; } reply->deleteLater(); }
void ImageshackTalker::slotResult(KJob* kjob) { KIO::Job* job = static_cast<KIO::Job*>(kjob); if (job->error()) { if (m_loginInProgress) { checkRegistrationCodeDone(job->error(), job->errorString()); m_loginInProgress = false; } else if (m_state == IMGHCK_GETGALLERIES) { emit signalBusy(false); emit signalGetGalleriesDone(job->error(), job->errorString()); } else if (m_state == IMGHCK_ADDPHOTO || m_state == IMGHCK_ADDPHOTOGALLERY) { emit signalBusy(false); emit signalAddPhotoDone(job->error(), job->errorString()); } m_state = IMGHCK_DONOTHING; m_job = 0; return; } int step; switch (m_state) { case IMGHCK_CHECKREGCODE: m_job = 0; parseCheckRegistrationCode(m_buffer); break; case IMGHCK_ADDPHOTOGALLERY: step = job->property("k_step").toInt(); if (step == STEP_UPLOADITEM) parseUploadPhotoDone(m_buffer); else parseAddPhotoToGalleryDone(m_buffer); break; case IMGHCK_ADDVIDEO: case IMGHCK_ADDPHOTO: m_job = 0; parseUploadPhotoDone(m_buffer); break; case IMGHCK_GETGALLERIES: m_job = 0; parseGetGalleries(m_buffer); break; default: break; } }