YULTek/Otarcik_CAN/Sources/CloudLogging/MQTTClientWrapper.h
2023-06-06 17:59:30 -04:00

45 lines
906 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;
private:
QMqttClient mMQTTClient;
CCloudParams mMQTTParams;
QList<CCANDevice*> *mCANDevicesList;
public slots:
void StateChanged();
void MQTTSendTimerExpired();
};
#endif // MQTTCLIENTWRAPPER_H