#include #include #include #include "asynchttplookuptest.h" #include "libkcddb/cache.h" #include "libkcddb/lookup.h" AsyncHTTPLookupTest::AsyncHTTPLookupTest() : TQObject() { using namespace KCDDB; client_ = new Client; client_->config().setHostname("freedb.freedb.org"); client_->config().setPort(80); client_->config().setCachePolicy(Cache::Ignore); client_->config().setLookupTransport(Lookup::HTTP); client_->setBlockingMode( false ); connect ( client_, TQT_SIGNAL(finished(CDDB::Result)), TQT_SLOT(slotFinished(CDDB::Result)) ); TrackOffsetList list; // a1107d0a - Kruder & Dorfmeister - The K&D Sessions - Disc One. list << 150 // First track start. << 29462 << 66983 << 96785 << 135628 << 168676 << 194147 << 222158 << 247076 << 278203 // Last track start. << 10 // Disc start. << 316732; // Disc end. client_->lookup(list); } AsyncHTTPLookupTest::~AsyncHTTPLookupTest() { delete client_; } void AsyncHTTPLookupTest::slotFinished(CDDB::Result r) { kdDebug() << "AsyncHTTPLookupTest::slotFinished: Got " << KCDDB::CDDB::resultToString(r) << endl; CDInfoList l = client_->lookupResponse(); kdDebug() << "AsyncHTTPLookupTest::slotFinished: Item count: " << l.count() << endl; for (CDInfoList::ConstIterator it(l.begin()); it != l.end(); ++it) { CDInfo i(*it); kdDebug() << "Disc artist: `" << i.artist << "'" << endl; kdDebug() << "Disc title: `" << i.title << "'" << endl; kdDebug() << "Disc revision: `" << i.revision << "'" << endl; } if (!l.isEmpty()) { kdDebug() << "---------------------------------------" << endl; kdDebug() << "Showing first item" << endl; CDInfo i(l.first()); kdDebug() << "Disc artist: `" << i.artist << "'" << endl; kdDebug() << "Disc title: `" << i.title << "'" << endl; kdDebug() << "Disc genre: `" << i.genre << "'" << endl; kdDebug() << "Disc year: `" << i.year << "'" << endl; kdDebug() << "Disc length: `" << i.length << "'" << endl; kdDebug() << "Disc id: `" << i.id << "'" << endl; kdDebug() << "Tracks........" << endl; for (TrackInfoList::ConstIterator it(i.trackInfoList.begin()); it != i.trackInfoList.end(); ++it) { kdDebug() << " Track: `" << (*it).title << "'" << endl; } kdDebug() << "---------------------------------------" << endl; } CDInfo i( client_->bestLookupResponse() ); kdDebug() << "Best CDInfo had title: " << i.title << endl; kdDebug() << "and revision: " << i.revision << endl; kapp->quit(); } int main(int argc, char ** argv) { KCmdLineArgs::init(argc, argv, "libkcddb_test", "", "", ""); KApplication app(false /* No styles */, false /* No GUI */); AsyncHTTPLookupTest a; return app.exec(); } #include "asynchttplookuptest.moc"