bool CometRequest::getQueryId(const QByteArray& data, QString& out) { json_spirit::Value v; if (json_spirit::read(std::string(data.constData(), data.size()), v)) { std::string qid; if (jsonGetMember(v, "qid", qid)) { out = QString::fromStdString(qid); return true; } } return false; }
//virtual bool BoffinRqlRequest::handleJsonPollResponse(int poll, const json_spirit::Object& query, const json_spirit::Array& results) { query; QList<BoffinPlayableItem> trackList; BOOST_FOREACH(const json_spirit::Value& i, results) { int duration = 0; jsonGetMember(i, "duration", duration); std::string artist, album, track, source, mimetype, url; if (jsonGetMember(i, "artist", artist) && jsonGetMember(i, "album", album) && jsonGetMember(i, "track", track) && jsonGetMember(i, "source", source) && jsonGetMember(i, "mimetype", mimetype) && jsonGetMember(i, "url", url) ) { trackList << BoffinPlayableItem(artist, album, track, source, mimetype, url, duration); } }
//static BoffinPlayableItem BoffinPlayableItem::fromBoffinRqlResult(const QVariantMap& map) { BoffinPlayableItem result; jsonGetMember(map, "album", result.d->album); jsonGetMember(map, "artist", result.d->artist); jsonGetMember(map, "bitrate", result.d->bitrate); jsonGetMember(map, "duration", result.d->duration); jsonGetMember(map, "mimetype", result.d->mimetype); jsonGetMember(map, "preference", result.d->preference); jsonGetMember(map, "source", result.d->source); jsonGetMember(map, "size", result.d->size); jsonGetMember(map, "track", result.d->track); jsonGetMember(map, "url", result.d->url); jsonGetMember(map, "weight", result.d->weight); return result; }