-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathasicdevice.h
62 lines (59 loc) · 1.53 KB
/
asicdevice.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
#ifndef ASICDEVICE_H
#define ASICDEVICE_H
#include <QObject>
#include <QTimer>
#include <QtNetwork>
class ASICDevice : public QObject
{
Q_OBJECT
signals:
void DataReceived(ASICDevice *device);
void DeviceError(ASICDevice *device);
void DeviceExists(ASICDevice *device);
void Updated();
public:
static unsigned int ActiveThreadsNum;
explicit ASICDevice(QObject *parent=nullptr);
~ASICDevice();
void SetAddress(QHostAddress address);
void SetUserName(QString userName);
void SetPassword(QString passWord);
void SetWebPort(quint16 port);
void SetAPIPort(quint16 port);
void SetGroupID(uint id);
void SetUpdateInterval(uint msec);
void SetNetworkRequestLifetime(uint msec);
void UploadDataWithPOSTRequest(QString path, QByteArray *DataToSend);
QHostAddress Address();
QUrl URL();
bool IsActive();
bool IsAlarmed();
unsigned int NetLag;
QString Type, Miner;
QStringList Pools;
public slots:
void Start();
void Stop();
private:
uint pUpdateInterval;
uint pNetworkRequestLifetime;
QTimer *pUpdateTimer, *pRequestLifeTimer;
QNetworkAccessManager *pAPIManager;
QNetworkReply *pAPIReply;
bool pIsBusy;
uint pLastErrorCode;
QHostAddress pAddress;
QString pUserName, pPassWord;
quint16 pWebPort, pAPIPort;
uint pGroupID;
QUrl pURL;
QTime pRequestStartTime;
QByteArray *pReceivedData;
private slots:
void RequestDeviceData();
void ProcessDeviceData(QNetworkReply *reply);
void on_AuthenticationRequired(QNetworkReply *reply, QAuthenticator *authenticator);
void on_DataReceived();
void on_metaDataChanged();
};
#endif // ASICDEVICE_H