1 #include <QNetworkAccessManager>
2 #include <QNetworkReply>
3 #include <QNetworkRequest>
11 Search *Search::instance()
25 Search::Search(): QObject(0), reply(0)
27 manager = new QNetworkAccessManager(this);
28 connect(manager, SIGNAL(finished(QNetworkReply *)),
29 this, SLOT(onFinished(QNetworkReply *)));
32 void Search::start(const Query &query)
34 Trace t("Search::start");
38 QNetworkRequest request;
39 request.setUrl(QUrl("http://www.gutenberg.org/catalog/world/results"));
40 // request.setRawHeader("User-Agent", "Dorian " + Platform::version());
42 data = "title=" + QUrl::toPercentEncoding(query.title) + "&author=" +
43 QUrl::toPercentEncoding(query.author);
44 qDebug() << "Request:" << data;
45 reply = manager->post(request, data);
46 connect(reply, SIGNAL(finished()), this, SLOT(finished()));
49 QList<Search::Result> Search::results()
51 QList<Search::Result> ret;
55 bool Search::download(const Search::Result &result, const QString &fileName)
59 emit beginDownload(0);
64 void Search::finished()
66 Trace t("Search::finished");
67 QByteArray data = reply->readAll();