-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathqtmqtt.h
43 lines (36 loc) · 1.18 KB
/
qtmqtt.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
#ifndef QTMQTT_H
#define QTMQTT_H
#include <QSslConfiguration>
#include <QtMqtt/QMqttClient>
#include "abstractmqtt.h"
class QtMqtt : public AbstractMqtt
{
Q_OBJECT
public:
explicit QtMqtt(QObject *parent = nullptr);
~QtMqtt();
void setBroker(const QString &broker);
void setSslConfiguration(const QSslConfiguration &ssl);
void setCleanSession(const bool clean);
void setClientId(const QString &id);
void setKeepAlive(const quint16 second);
void setUsername(const QString &username);
void setPassword(const QString &password);
void setWillTopic(const QString &topic);
void setWillQos(const quint8 qos);
void setWillRetain(const bool retain);
void setWillMessage(const QByteArray &msg);
void connectToHost();
void disconnectFromHost();
void publish(const QString &topic, const quint8 qos, const QByteArray &payload, const bool retain);
void subscribe(const QString &topic, const quint8 qos);
void unsubscribe(const QString &topic);
MqttStatus status();
public slots:
private:
QMqttClient *m_client;
bool m_sslEnable;
QSslSocket *m_sslSocket;
QSslConfiguration *m_sslConfig;
};
#endif // QTMQTT_H