]> git.sur5r.net Git - minitube/blob - src/networkaccess.h
Imported Upstream version 1.0
[minitube] / src / networkaccess.h
1 #ifndef NETWORKACCESS_H
2 #define NETWORKACCESS_H
3
4 #include <QtNetwork>
5
6 namespace The {
7     QNetworkAccessManager* networkAccessManager();
8 }
9
10 class NetworkReply : public QObject {
11
12     Q_OBJECT
13
14 public:
15     NetworkReply(QNetworkReply* networkReply);
16
17 public slots:
18     void finished();
19     void requestError(QNetworkReply::NetworkError);
20
21 signals:
22     void data(QByteArray);
23     void error(QNetworkReply*);
24     void finished(QNetworkReply*);
25
26 private:
27     QNetworkReply *networkReply;
28
29 };
30
31
32 class NetworkAccess : public QObject {
33
34     Q_OBJECT
35
36 public:
37     NetworkAccess( QObject* parent=0);
38     QNetworkReply* simpleGet(QUrl url, int operation = QNetworkAccessManager::GetOperation);
39     NetworkReply* get(QUrl url);
40     NetworkReply* head(QUrl url);
41     QNetworkReply* syncGet(QUrl url);
42     QByteArray syncGetBytes(QUrl url);
43     QString syncGetString(QUrl url);
44
45 private slots:
46     void error(QNetworkReply::NetworkError);
47     void syncMetaDataChanged();
48     void syncFinished();
49
50 private:
51     QNetworkReply *networkReply;
52     bool working;
53
54 };
55
56 typedef QPointer<QObject> ObjectPointer;
57 Q_DECLARE_METATYPE(ObjectPointer)
58
59 #endif // NETWORKACCESS_H