forked from foldynl/QLog
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathQRZ.h
68 lines (51 loc) · 1.66 KB
/
QRZ.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
#ifndef QLOG_CORE_QRZ_H
#define QLOG_CORE_QRZ_H
#include <QObject>
#include <QString>
#include <QSqlRecord>
#include "core/GenericCallbook.h"
class QNetworkAccessManager;
class QNetworkReply;
class QRZ : public GenericCallbook
{
Q_OBJECT
public:
explicit QRZ(QObject *parent = nullptr);
~QRZ();
void uploadContact(const QSqlRecord &record);
void uploadContacts(const QList<QSqlRecord>&);
static const QString getUsername();
static const QString getPassword();
static const QString getLogbookAPIKey();
static void saveUsernamePassword(const QString&, const QString&);
static void saveLogbookAPI(const QString&);
QString getDisplayName() override;
const static QString CALLBOOK_NAME;
signals:
void uploadFinished(bool result);
void uploadedQSO(int);
void uploadError(QString);
public slots:
void queryCallsign(const QString &callsign) override;
void abortQuery() override;
private slots:
void processReply(QNetworkReply* reply);
private:
QNetworkAccessManager* nam;
QString sessionId;
QString queuedCallsign;
bool incorrectLogin;
QString lastSeenPassword;
QList<QSqlRecord> queuedContacts4Upload;
bool cancelUpload;
QNetworkReply *currentReply;
void authenticate();
void actionInsert(QByteArray& data, const QString &insertPolicy);
QMap<QString, QString> parseActionResponse(const QString&) const;
const static QString SECURE_STORAGE_KEY;
const static QString SECURE_STORAGE_API_KEY;
const static QString CONFIG_USERNAME_KEY;
const static QString CONFIG_USERNAME_API_KEY;
const static QString CONFIG_USERNAME_API_CONST;
};
#endif // QLOG_CORE_QRZ_H