本文整理汇总了C++中ContentFetcher::results方法的典型用法代码示例。如果您正苦于以下问题:C++ ContentFetcher::results方法的具体用法?C++ ContentFetcher::results怎么用?C++ ContentFetcher::results使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ContentFetcher
的用法示例。
在下文中一共展示了ContentFetcher::results方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: raw
void
Reader::updateFinished( int /*id*/, bool error )
{
DEBUG_BLOCK
ContentFetcher* http = (ContentFetcher*) sender();
disconnect( http, SIGNAL( requestFinished( int, bool ) ), this, SLOT( updateFinished( int, bool ) ) );
if( error )
{
http->deleteLater();
warning() << "what is going on here? " << http->error();
return;
}
QDataStream raw( http->results() );
Map updateResults = parse( raw, 0, true );
if( updateResults["mupd"].toList().isEmpty() )
return; //error
if( updateResults["mupd"].toList()[0].toMap()["musr"].toList().isEmpty() )
return; //error
m_loginString = m_loginString + "&revision-number=" +
QString::number( updateResults["mupd"].toList()[0].toMap()["musr"].toList()[0].toInt() );
connect( http, SIGNAL( requestFinished( int, bool ) ), this, SLOT( databaseIdFinished( int, bool ) ) );
http->getDaap( "/databases?" + m_loginString );
}
示例2: raw
void
Reader::contentCodesReceived( int /* id */, bool error )
{
DEBUG_BLOCK
ContentFetcher* http = (ContentFetcher*) sender();
disconnect( http, SIGNAL(requestFinished(int,bool)), this, SLOT(contentCodesReceived(int,bool)) );
if( error )
{
http->deleteLater();
return;
}
QDataStream raw( http->results() );
Map contentCodes = parse( raw );
QList<QVariant> root = contentCodes["mccr"].toList();
if( root.isEmpty() )
return; //error
root = root[0].toMap().value( "mdcl" ).toList();
foreach( QVariant v, root )
{
Map entry = v.toMap();
QString code = entry.value( "mcnm" ).toList().value( 0 ).toString();
QString name = entry.value( "mcna" ).toList().value( 0 ).toString();
ContentTypes type = ContentTypes( entry.value( "mcty" ).toList().value( 0 ).toInt() );
if( !m_codes.contains( code ) && !code.isEmpty() && type > 0 )
{
m_codes[code] = Code( name, type );
debug() << "Added DAAP code" << code << ":" << name << "with type" << type;
}
}
示例3: sender
void
Reader::songListFinished( int /*id*/, bool error )
{
DEBUG_BLOCK
ContentFetcher* http = (ContentFetcher*) sender();
disconnect( http, SIGNAL( requestFinished( int, bool ) ), this, SLOT( songListFinished( int, bool ) ) );
if( error )
{
http->deleteLater();
return;
}
QByteArray result = http->results();
http->deleteLater();
ThreadWeaver::Weaver::instance()->enqueue( new WorkerThread( result, this, m_memColl ) );
}
示例4: daapBundles
void
Reader::songListFinished( int /*id*/, bool error )
{
ContentFetcher* http = (ContentFetcher*) sender();
disconnect( http, SIGNAL( requestFinished( int, bool ) ), this, SLOT( songListFinished( int, bool ) ) );
if( error )
{
http->deleteLater();
return;
}
Map songResults = parse( http->results(), 0, true );
SongList result;
QValueList<QVariant> songList;
songList = songResults["adbs"].asList()[0].asMap()["mlcl"].asList()[0].asMap()["mlit"].asList();
debug() << "songList.count() = " << songList.count() << endl;
QValueList<QVariant>::iterator it;
for( it = songList.begin(); it != songList.end(); ++it )
{
MetaBundle* bundle = new MetaBundle();
bundle->setTitle( (*it).asMap()["minm"].asList()[0].toString() );
//input url: daap://host:port/databaseId/music.ext
bundle->setUrl( Amarok::QStringx("daap://%1:%2/%3/%4.%5").args(
QStringList() << m_host
<< QString::number( m_port )
<< m_databaseId
<< QString::number( (*it).asMap()["miid"].asList()[0].asInt() )
<< (*it).asMap()["asfm"].asList()[0].asString() ) );
bundle->setLength( (*it).asMap()["astm"].asList()[0].toInt()/1000 );
bundle->setTrack( (*it).asMap()["astn"].asList()[0].toInt() );
QString album = (*it).asMap()["asal"].asList()[0].toString();
bundle->setAlbum( album );
QString artist = (*it).asMap()["asar"].asList()[0].toString();
bundle->setArtist( artist );
result[ artist.lower() ][ album.lower() ].append(bundle);
bundle->setYear( (*it).asMap()["asyr"].asList()[0].toInt() );
bundle->setGenre( (*it).asMap()["asgn"].asList()[0].toString() );
}
emit daapBundles( m_host , result );
http->deleteLater();
}
示例5: sender
void
Reader::databaseIdFinished( int /*id*/, bool error )
{
ContentFetcher* http = (ContentFetcher*) sender();
disconnect( http, SIGNAL( requestFinished( int, bool ) ), this, SLOT( databaseIdFinished( int, bool ) ) );
if( error )
{
http->deleteLater();
return;
}
Map dbIdResults = parse( http->results(), 0, true );
m_databaseId = QString::number( dbIdResults["avdb"].asList()[0].asMap()["mlcl"].asList()[0].asMap()["mlit"].asList()[0].asMap()["miid"].asList()[0].asInt() );
connect( http, SIGNAL( requestFinished( int, bool ) ), this, SLOT( songListFinished( int, bool ) ) );
http->getDaap( QString("/databases/%1/items?type=music&meta=dmap.itemid,dmap.itemname,daap.songformat,daap.songartist,daap.songalbum,daap.songtime,daap.songtracknumber,daap.songcomment,daap.songyear,daap.songgenre&%2")
.arg( m_databaseId, m_loginString ) );
}