]> git.sur5r.net Git - minitube/blob - lib/js/jsnamfactory.h
New upstream version 3.8
[minitube] / lib / js / jsnamfactory.h
1 #ifndef YTJSNAMFACTORY_H
2 #define YTJSNAMFACTORY_H
3
4 #include <QtQml>
5
6 class JSNAMFactory : public QQmlNetworkAccessManagerFactory {
7 public:
8     QNetworkAccessManager *create(QObject *parent);
9
10     void setRequestHeaders(QMap<QByteArray, QByteArray> value) { requestHeaders = value; };
11     const QMap<QByteArray, QByteArray> &getRequestHeaders() const { return requestHeaders; }
12
13 private:
14     QMap<QByteArray, QByteArray> requestHeaders;
15 };
16
17 class JSNAM : public QNetworkAccessManager {
18     Q_OBJECT
19
20 public:
21     JSNAM(QObject *parent, const JSNAMFactory &factory);
22
23 protected:
24     QNetworkReply *
25     createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData);
26
27 private:
28     const JSNAMFactory &factory;
29 };
30
31 class JSDiskCache : public QNetworkDiskCache {
32 public:
33     JSDiskCache(QObject *parent);
34     void updateMetaData(const QNetworkCacheMetaData &meta);
35     QIODevice *prepare(const QNetworkCacheMetaData &meta);
36
37 private:
38     QNetworkCacheMetaData fixMetadata(const QNetworkCacheMetaData &meta);
39 };
40
41 #endif // YTJSNAMFACTORY_H