YULTek/Otarcik_CAN/Sources/CloudLogging/MQTTClientWrapper.h

48 lines
978 B
C++

#ifndef MQTTCLIENTWRAPPER_H
#define MQTTCLIENTWRAPPER_H
#include "defines.h"
#include <QtMqtt/QtMqtt>
#include <QMqttClient>
#include "CloudParams.h"
#include "MQTTMessage.h"
#include <QList>
class COtarcikCan;
class CCANDevice;
class CMQTTClientWrapper : public QObject
{
Q_OBJECT
public:
CMQTTClientWrapper();
~CMQTTClientWrapper();
int SetMQTTParams(CCloudParams *Params);
int ConnectToBroker();
int NewMQTTMessages(QList<CMQTTMessage> MessagesList);
int DisconnectFromBroker();
int SendMQTTTestMessage();
int SetCANDevicesList(QList<CCANDevice*> *List);
COtarcikCan *mProgramPtr;
QString mMQTTClientID;
QTimer *mMQTTRefreshTimer;
QTimer *mMQTTReconnectTimer;
private:
QMqttClient mMQTTClient;
CCloudParams mMQTTParams;
QList<CCANDevice*> *mCANDevicesList;
public slots:
void StateChanged();
void MQTTSendTimerExpired();
void MQTTReconnectTimerExpired();
};
#endif // MQTTCLIENTWRAPPER_H