Example #1
0
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;
}
Example #2
0
//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;
}