本文整理汇总了C++中kio::StoredTransferJob::data方法的典型用法代码示例。如果您正苦于以下问题:C++ StoredTransferJob::data方法的具体用法?C++ StoredTransferJob::data怎么用?C++ StoredTransferJob::data使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类kio::StoredTransferJob
的用法示例。
在下文中一共展示了StoredTransferJob::data方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: slotUpload
void Posterous::slotUpload(KJob *job)
{
QUrl localUrl = mUrlMap.take(job);
if (job->error()) {
qCritical() << "Job Error:" << job->errorString();
Q_EMIT uploadingFailed(localUrl, job->errorString());
return;
} else {
KIO::StoredTransferJob *stj = qobject_cast<KIO::StoredTransferJob *>(job);
//qDebug() << stj->data();
const QJsonDocument json = QJsonDocument::fromJson(stj->data());
if (!json.isNull()) {
const QVariantMap map = json.toVariant().toMap();
if (map.contains(QLatin1String("error"))) {
Q_EMIT uploadingFailed(localUrl, map.value(QLatin1String("error")).toString());
} else {
if (PosterousSettings::oauth()) {
Q_EMIT mediumUploaded(localUrl, map.value(QLatin1String("url")).toString());
}
if (PosterousSettings::basic()) {
Q_EMIT mediumUploaded(localUrl, map.value(QLatin1String("full_url")).toString());
}
}
} else {
Q_EMIT uploadingFailed(localUrl, i18n("Malformed response"));
qWarning() << "Parse error:" << stj->data();
}
}
}
示例2: searchResultsReturned
void LaconicaSearch::searchResultsReturned(KJob* job)
{
kDebug();
if( job == 0 ) {
kDebug() << "job is a null pointer";
emit error( i18n( "Unable to fetch search results." ) );
return;
}
SearchInfo info = mSearchJobs.take(job);
if( job->error() ) {
kError() << "Error: " << job->errorString();
emit error( i18n( "Unable to fetch search results: %1", job->errorString() ) );
return;
}
KIO::StoredTransferJob *jj = qobject_cast<KIO::StoredTransferJob *>( job );
QList<Choqok::Post*> postsList;
if(info.option == ReferenceHashtag)
postsList = parseAtom( jj->data() );
else
postsList = parseRss( jj->data() );
kDebug()<<"Emiting searchResultsReceived()";
emit searchResultsReceived( info, postsList );
}
示例3: getAuthToken
QString Posterous::getAuthToken(const QUrl &localUrl)
{
QUrl url(QLatin1String("http://posterous.com/api/2/auth/token"));
QString login = PosterousSettings::login();
QString pass = Choqok::PasswordManager::self()->readPassword(QStringLiteral("posterous_%1").arg(PosterousSettings::login()));
KIO::StoredTransferJob *job = KIO::storedGet(url, KIO::Reload, KIO::HideProgressInfo);
job->addMetaData(QLatin1String("customHTTPHeader"),
QLatin1String("Authorization: Basic ") + QLatin1String(QStringLiteral("%1:%2").arg(login).arg(pass).toUtf8().toBase64()));
job->exec();
if (!job->error()) {
const QByteArray data = job->data();
const QJsonDocument json = QJsonDocument::fromJson(data);
if (!json.isNull()) {
QVariantMap map = json.toVariant().toMap();
if (map.contains(QLatin1String("api_token"))) {
QString tkn = map.value(QLatin1String("api_token")).toString();
return tkn;
} else {
Q_EMIT uploadingFailed(localUrl, map.value(QLatin1String("error")).toString());
qWarning() << "Parse error:" << data;
}
}
} else {
qCritical() << "Job error:" << job->errorString();
}
return QString();
}
示例4: slotFetchUserLists
void TwitterMicroBlog::slotFetchUserLists(KJob *job)
{
qCDebug(CHOQOK);
if (!job) {
qCWarning(CHOQOK) << "NULL Job returned";
return;
}
QString username = mFetchUsersListMap.take(job);
Choqok::Account *theAccount = mJobsAccount.take(job);
if (job->error()) {
qCDebug(CHOQOK) << "Job Error:" << job->errorString();
Q_EMIT error(theAccount, Choqok::MicroBlog::CommunicationError,
i18n("Fetching %1's lists failed. %2", username, job->errorString()), Critical);
} else {
KIO::StoredTransferJob *stj = qobject_cast<KIO::StoredTransferJob *> (job);
QByteArray buffer = stj->data();
QList<Twitter::List> list = readUserListsFromJson(theAccount, buffer);
if (list.isEmpty()) {
qCDebug(CHOQOK) << buffer;
QString errorMsg;
errorMsg = checkForError(buffer);
if (errorMsg.isEmpty()) {
KMessageBox::information(choqokMainWindow, i18n("There is no list record for user %1", username));
} else {
Q_EMIT error(theAccount, ServerError, errorMsg, Critical);
}
} else {
Q_EMIT userLists(theAccount, username, list);
}
}
}
示例5: slotParseResults
void ArchiveOrg::slotParseResults(KJob* job)
{
KIO::StoredTransferJob* storedQueryJob = static_cast<KIO::StoredTransferJob*>( job );
QDomDocument doc;
doc.setContent(QString::fromUtf8(storedQueryJob->data()));
QDomNodeList links = doc.elementsByTagName(QStringLiteral("a"));
QString html = QStringLiteral("<style type=\"text/css\">tr.cellone {background-color: %1;}").arg(qApp->palette().alternateBase().color().name());
html += QLatin1String("</style><table width=\"100%\" cellspacing=\"0\" cellpadding=\"2\">");
QString link;
int ct = 0;
m_thumbsPath.clear();
for (int i = 0; i < links.count(); ++i) {
QString href = links.at(i).toElement().attribute(QStringLiteral("href"));
if (href.endsWith(QLatin1String(".thumbs/"))) {
// sub folder contains image thumbs, display one.
m_thumbsPath = m_metaInfo.value(QStringLiteral("url")) + '/' + href;
KJob* thumbJob = KIO::storedGet( QUrl(m_thumbsPath), KIO::NoReload, KIO::HideProgressInfo );
thumbJob->setProperty("id", m_metaInfo.value(QStringLiteral("id")));
connect(thumbJob, &KJob::result, this, &ArchiveOrg::slotParseThumbs);
}
else if (!href.contains('/') && !href.endsWith(QLatin1String(".xml"))) {
link = m_metaInfo.value(QStringLiteral("url")) + '/' + href;
ct++;
if (ct %2 == 0) {
html += QLatin1String("<tr class=\"cellone\">");
}
else html += QLatin1String("<tr>");
html += "<td>" + QUrl(link).fileName() + QStringLiteral("</td><td><a href=\"%1\">%2</a></td><td><a href=\"%3\">%4</a></td></tr>").arg(link).arg(i18n("Preview")).arg(link + "_import").arg(i18n("Import"));
}
}
html += QLatin1String("</table>");
if (m_metaInfo.value(QStringLiteral("id")) == job->property("id").toString()) emit gotMetaInfo(html);
}
示例6: downloadFinished
void Core::downloadFinished(KJob* job)
{
KIO::StoredTransferJob* j = (KIO::StoredTransferJob*)job;
int err = j->error();
if (err == KIO::ERR_USER_CANCELED)
return;
if (err)
{
gui->errorMsg(j);
}
else
{
// load in the file (target is always local)
QString group;
QMap<KUrl, QString>::iterator i = add_to_groups.find(j->url());
if (i != add_to_groups.end())
{
group = i.value();
add_to_groups.erase(i);
}
QString dir = locationHint(group);
if (dir != QString::null)
loadFromData(j->data(), dir, group, false, j->url());
}
}
示例7: slotShowResults
void OpenClipArt::slotShowResults(KJob* job)
{
if (job->error() != 0 ) return;
m_listWidget->blockSignals(true);
KIO::StoredTransferJob* storedQueryJob = static_cast<KIO::StoredTransferJob*>( job );
QDomDocument doc;
doc.setContent(QString::fromLatin1(storedQueryJob->data()));
QDomNodeList items = doc.documentElement().elementsByTagName("item");
for (int i = 0; i < items.count(); ++i) {
QDomElement currentClip = items.at(i).toElement();
QDomElement title = currentClip.firstChildElement("title");
QListWidgetItem *item = new QListWidgetItem(title.firstChild().nodeValue(), m_listWidget);
QDomElement thumb = currentClip.firstChildElement("media:thumbnail");
item->setData(imageRole, thumb.attribute("url"));
QDomElement enclosure = currentClip.firstChildElement("enclosure");
item->setData(downloadRole, enclosure.attribute("url"));
QDomElement link = currentClip.firstChildElement("link");
item->setData(infoUrl, link.firstChild().nodeValue());
QDomElement license = currentClip.firstChildElement("cc:license");
item->setData(licenseRole, license.firstChild().nodeValue());
QDomElement desc = currentClip.firstChildElement("description");
item->setData(descriptionRole, desc.firstChild().nodeValue());
QDomElement author = currentClip.firstChildElement("dc:creator");
item->setData(authorRole, author.firstChild().nodeValue());
item->setData(authorUrl, QString("http://openclipart.org/user-detail/") + author.firstChild().nodeValue());
}
m_listWidget->blockSignals(false);
m_listWidget->setCurrentRow(0);
emit searchDone();
}
示例8: finished
void ManPageDocumentation::finished(KJob* j)
{
KIO::StoredTransferJob* job = qobject_cast<KIO::StoredTransferJob*>(j);
if(job && job->error()==0) {
m_description = QString::fromUtf8(job->data());
} else {
m_description.clear();
}
emit descriptionChanged();
}
示例9: onScrapeResult
void HTTPTracker::onScrapeResult(KJob* j)
{
if (j->error())
{
Out(SYS_TRK | LOG_IMPORTANT) << "Scrape failed : " << j->errorString() << endl;
return;
}
KIO::StoredTransferJob* st = (KIO::StoredTransferJob*)j;
BDecoder dec(st->data(), false, 0);
BNode* n = 0;
try
{
n = dec.decode();
}
catch (bt::Error & err)
{
Out(SYS_TRK | LOG_IMPORTANT) << "Invalid scrape data " << err.toString() << endl;
return;
}
if (n && n->getType() == BNode::DICT)
{
BDictNode* d = (BDictNode*)n;
d = d->getDict(QString("files"));
if (d)
{
d = d->getDict(tds->infoHash().toByteArray());
if (d)
{
try
{
seeders = d->getInt("complete");
leechers = d->getInt("incomplete");
total_downloaded = d->getInt("downloaded");
supports_partial_seed_extension = d->getValue("downloaders") != 0;
Out(SYS_TRK | LOG_DEBUG) << "Scrape : leechers = " << leechers
<< ", seeders = " << seeders << ", downloaded = " << total_downloaded << endl;
}
catch (...)
{}
scrapeDone();
if (status == bt::TRACKER_ERROR)
{
status = bt::TRACKER_OK;
failures = 0;
}
}
}
}
delete n;
}
示例10: slotShowResults
void ArchiveOrg::slotShowResults(KJob* job)
{
if (job->error() != 0 ) return;
m_listWidget->blockSignals(true);
KIO::StoredTransferJob* storedQueryJob = static_cast<KIO::StoredTransferJob*>( job );
QJsonParseError jsonError;
QJsonDocument doc = QJsonDocument::fromJson(storedQueryJob->data(), &jsonError);
if (jsonError.error != QJsonParseError::NoError) {
// There was an error parsing data
KMessageBox::sorry(m_listWidget, jsonError.errorString(), i18n("Error Loading Data"));
}
QVariant data = doc.toVariant();
QVariant sounds;
if (data.canConvert(QVariant::Map)) {
QMap <QString, QVariant> map = data.toMap();
QMap<QString, QVariant>::const_iterator i = map.constBegin();
while (i != map.constEnd()) {
if (i.key() == QLatin1String("response")) {
sounds = i.value();
if (sounds.canConvert(QVariant::Map)) {
QMap <QString, QVariant> soundsList = sounds.toMap();
if (soundsList.contains(QStringLiteral("numFound"))) emit searchInfo(i18np("Found %1 result", "Found %1 results", soundsList.value("numFound").toInt()));
QList <QVariant> resultsList;
if (soundsList.contains(QStringLiteral("docs"))) {
resultsList = soundsList.value(QStringLiteral("docs")).toList();
}
for (int j = 0; j < resultsList.count(); ++j) {
if (resultsList.at(j).canConvert(QVariant::Map)) {
QMap <QString, QVariant> soundmap = resultsList.at(j).toMap();
if (soundmap.contains(QStringLiteral("title"))) {
QListWidgetItem *item = new QListWidgetItem(soundmap.value(QStringLiteral("title")).toString(), m_listWidget);
item->setData(descriptionRole, soundmap.value(QStringLiteral("description")).toString());
item->setData(idRole, soundmap.value(QStringLiteral("identifier")).toString());
QString author = soundmap.value(QStringLiteral("creator")).toString();
item->setData(authorRole, author);
if (author.startsWith(QLatin1String("http"))) item->setData(authorUrl, author);
item->setData(infoUrl, "http://archive.org/details/" + soundmap.value(QStringLiteral("identifier")).toString());
item->setData(downloadRole, "http://archive.org/download/" + soundmap.value(QStringLiteral("identifier")).toString());
item->setData(licenseRole, soundmap.value(QStringLiteral("licenseurl")).toString());
}
}
}
}
}
++i;
}
}
m_listWidget->blockSignals(false);
m_listWidget->setCurrentRow(0);
emit searchDone();
}
示例11: onAnnounceResult
void HTTPTracker::onAnnounceResult(KIO::Job* j)
{
if (j->error())
{
KIO::StoredTransferJob* st = (KIO::StoredTransferJob*)j;
KURL u = st->url();
active_job = 0;
Out(SYS_TRK|LOG_IMPORTANT) << "Error : " << st->errorString() << endl;
if (u.queryItem("event") != "stopped")
{
failures++;
requestFailed(j->errorString());
}
else
{
stopDone();
}
}
else
{
KIO::StoredTransferJob* st = (KIO::StoredTransferJob*)j;
KURL u = st->url();
active_job = 0;
if (u.queryItem("event") != "stopped")
{
try
{
if (updateData(st->data()))
{
failures = 0;
peersReady(this);
requestOK();
if (u.queryItem("event") == "started")
started = true;
}
}
catch (bt::Error & err)
{
failures++;
requestFailed(i18n("Invalid response from tracker"));
}
event = QString::null;
}
else
{
failures = 0;
stopDone();
}
}
doAnnounceQueue();
}
示例12: onScrapeResult
void HTTPTracker::onScrapeResult(KIO::Job* j)
{
if (j->error())
{
Out(SYS_TRK|LOG_IMPORTANT) << "Scrape failed : " << j->errorString() << endl;
return;
}
KIO::StoredTransferJob* st = (KIO::StoredTransferJob*)j;
BDecoder dec(st->data(),false,0);
BNode* n = 0;
try
{
n = dec.decode();
}
catch (bt::Error & err)
{
Out(SYS_TRK|LOG_IMPORTANT) << "Invalid scrape data " << err.toString() << endl;
return;
}
if (n && n->getType() == BNode::DICT)
{
BDictNode* d = (BDictNode*)n;
d = d->getDict("files");
if (d)
{
d = d->getDict(tor->getInfoHash().toByteArray());
if (d)
{
BValueNode* vn = d->getValue("complete");
if (vn && vn->data().getType() == Value::INT)
{
seeders = vn->data().toInt();
}
vn = d->getValue("incomplete");
if (vn && vn->data().getType() == Value::INT)
{
leechers = vn->data().toInt();
}
Out(SYS_TRK|LOG_DEBUG) << "Scrape : leechers = " << leechers
<< ", seeders = " << seeders << endl;
}
}
}
delete n;
}
示例13: slotImageFetched
void MediaManager::slotImageFetched( KJob * job )
{
KIO::StoredTransferJob *baseJob = qobject_cast<KIO::StoredTransferJob *>( job );
QString remote = d->queue.value(job);
d->queue.remove( job );
if ( job->error() ) {
kDebug() << "Job error: " << job->error() << "\t" << job->errorString();
QString errMsg = i18n( "Cannot download image from %1.",
job->errorString() );
emit fetchError( remote, errMsg );
} else {
QPixmap p;
if( !baseJob->data().startsWith(QByteArray("<?xml version=\"")) &&
p.loadFromData( baseJob->data() ) ) {
d->cache.insert( remote, p );
emit imageFetched( remote, p );
} else {
kDebug()<<"Parse Error: \nBase Url:"<<baseJob->url()<<"\ndata:"<<baseJob->data();
emit fetchError( remote, i18n( "The download failed. The returned file is corrupted." ) );
}
}
}
示例14: setImageData
void LoadWaiter::setImageData(KJob *job)
{
if (m_vectorShape) {
KIO::StoredTransferJob *transferJob = qobject_cast<KIO::StoredTransferJob*>(job);
Q_ASSERT(transferJob);
const QByteArray contents = transferJob->data();
const VectorShape::VectorType vectorType = VectorShape::vectorType(contents);
m_vectorShape->setCompressedContents(qCompress(contents), vectorType);
}
deleteLater();
}
示例15: sendDataFinished
void KexiUserFeedbackAgent::sendDataFinished(KFakeJob* job)
{
if (job->error()) {
//! @todo error...
return;
}
KIO::StoredTransferJob* sendJob = qobject_cast<KIO::StoredTransferJob*>(job);
QByteArray result = sendJob->data();
result.chop(1); // remove \n
kDebug() << result;
if (result == "ok") {
d->sentDataInThisSession = d->areas;
}
}