-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathapi.h
84 lines (76 loc) · 2.01 KB
/
api.h
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
/**
* Log2Log Chat Log Converter
* Libraries
* API Handler
* Header File
*
* @author Deltik
* @remarks Ported from PHP
*
* License:
* This file is part of Log2Log.
*
* Log2Log is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Log2Log is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Log2Log. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef API_H
#define API_H
#include <QObject>
#include <QtNetwork>
class Api : public QThread
{
Q_OBJECT
public:
Api();
void fetch();
void setURL(QUrl $url);
void setURL(QString $url);
void addPost(QString index, QString data);
void setHeader(QString key, QString value);
QString getReply();
QString getHeaders();
// Reply (fetched by getURL())
QByteArray replyData;
QString str;
QHash<QString, QString> hed;
QNetworkCookieJar *jar;
QMutex *lck;
protected:
void run();
signals:
void requestComplete(QString);
void progress(qint64, qint64);
void newSession();
void finished();
public slots:
void getURL();
void replyFinished(QNetworkReply *);
void readOn();
void passProgress(qint64 bytesReceived, qint64 bytesTotal);
void passError(QNetworkReply::NetworkError e);
void cleanUp();
private:
// Qt Network Access Manager
QNetworkAccessManager *netHandler;
// Qt Network Request (POST data)
QNetworkRequest request;
// Qt Network Reply
QNetworkReply *reply;
// URL (set by call to setURL())
QUrl $url;
// HTTP POST data
QUrlQuery params;
QByteArray $_POST;
};
#endif // API_H