1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #ifndef MQTTBase_H
- #define MQTTBase_H
- #include <QObject>
- #include <QMap>
- #include "qmqtt.h"
- #include "spdlog/spdlog.h"
- class MQTTBase : public QObject
- {
- Q_OBJECT
- public:
- MQTTBase(QObject* parent = nullptr);
-
- void setIPAndPort(const QString& IP, int port = 1883);
-
- void addSubcribe(const QString& topic,int qos = 0);
-
- void connectToServer();
-
- void sendMessage(const QString& topic, const QByteArray& message, int qos = 0);
-
- signals:
-
- void signal_recvMessage(const QString& message);
- protected:
-
- virtual void recvMessage(const QMQTT::Message& message) = 0;
- protected slots:
- void do_connected();
- void do_disconnect();
- void do_error(const QMQTT::ClientError error);
- void do_subscribed(const QString& topic, const quint8 qos);
- void do_received(const QMQTT::Message& message);
- protected:
- std::shared_ptr<spdlog::logger> m_logger = nullptr;
- bool m_isConnected = false;
- QString m_mqttIP;
- int m_mqttPort;
- QMap<QString, int> m_mapTopic;
- QMQTT::Client m_client;
- };
- #endif
|