#include "MQTTClientWrapper.h" CMQTTClientWrapper::CMQTTClientWrapper() { connect(&mMQTTClient,&QMqttClient::stateChanged,this,&CMQTTClientWrapper::StateChanged); } int CMQTTClientWrapper::SetMQTTParams(CCloudParams *Params) { mMQTTParams = *Params; mMQTTClientID = "Otarcik_Station_Ville_Emard"; return RET_OK; } int CMQTTClientWrapper::ConnectToBroker() { //Setup the client before connecting. mMQTTClient.setAutoKeepAlive(true); mMQTTClient.setClientId(mMQTTClientID); mMQTTClient.setHostname(mMQTTParams.mMQTTBrokerHostName); mMQTTClient.setPort(mMQTTParams.mMQTTBrokerPort); mMQTTClient.setPassword(mMQTTParams.mMQTTBrokerPassword); mMQTTClient.setUsername(mMQTTParams.mMQTTBrokerUserName); mMQTTClient.connectToHost(); return RET_OK; } int CMQTTClientWrapper::DisconnectFromBroker() { mMQTTClient.disconnectFromHost(); return RET_OK; } int CMQTTClientWrapper::SendMQTTMessages(QList MessagesList) { if(mMQTTClient.state() != QMqttClient::Connected) { return RET_GENERAL_ERROR; } if(MessagesList.isEmpty()) { return RET_GENERAL_ERROR; } for(int i = 0; i < MessagesList.size(); i++) { qint32 res = mMQTTClient.publish(MessagesList.at(i).mMessageTopic,MessagesList.at(i).mMessagePayload.toLocal8Bit(),0,true); } return RET_OK; } void CMQTTClientWrapper::StateChanged() { switch(mMQTTClient.state()) { case QMqttClient::Disconnected: { qDebug("MQTT client Disconnected"); break; } case QMqttClient::Connected: { qDebug("MQTT client Connected"); break; } case QMqttClient::Connecting: { qDebug("MQTT client Connecting..."); break; } } }