blob: 610d9fabdae318dcad8949ad3ce65d78841057c5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
#include <kdebug.h>
#include <kapplication.h>
#include <kcmdlineargs.h>
#include "asynchttplookuptest.h"
#include "libkcddb/cache.h"
#include "libkcddb/lookup.h"
AsyncHTTPLookupTest::AsyncHTTPLookupTest()
: QObject()
{
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_,
SIGNAL(finished(CDDB::Result)),
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"
|