1444e32456c689bee00412bd98225d846d0282a2
[jenirok] / src / common / mobil1881.h
1 #ifndef MOBIL1881_H
2 #define MOBIL1881_H
3
4 #include <QtCore/QList>
5 #include <QtCore/QSet>
6 #include <QtCore/QVector>
7 #include "source.h"
8
9 class Mobil1881 : public Source
10 {
11 public:
12     Mobil1881(QObject* parent = 0);
13     ~Mobil1881();
14     virtual void abort();
15     virtual void search(Source::SearchDetails const& details);
16
17 private:
18
19     struct SearchData
20     {
21         QSet<int> searchIds;
22         Source::SearchDetails details;
23         QVector<Source::Result> results;
24         int currentPage;
25     };
26
27     void addNumbers(SearchData* searchData, QString const& data, int index);
28     void addOnlyNumber(SearchData* searchData, QString const& data, int index);
29     bool formatResult(QString& name, QString& number, QString& street, QString& city, Source::Result& result);
30     void emitRequestFinished(SearchData* data, bool error, int index);
31     int sendQuery(Source::SearchDetails const& details, int page = 1);
32
33     QList<SearchData*> pendingSearches_;
34
35     Q_DISABLE_COPY(Mobil1881);
36     virtual void handleHttpData(int id, QString const& data);
37     virtual void handleHttpError(int id);
38 };
39
40 #endif // MOBIL1881_H