Ajout du timeout MQTT

This commit is contained in:
2023-05-17 15:53:32 -04:00
parent 8156755771
commit ffd15d14aa
22 changed files with 5100 additions and 118 deletions
@@ -4,6 +4,13 @@
CMQTTClientWrapper::CMQTTClientWrapper()
{
connect(&mMQTTClient,&QMqttClient::stateChanged,this,&CMQTTClientWrapper::StateChanged);
mMQTTRefreshTimer = new QTimer;
mMQTTRefreshTimer->setSingleShot(true);
}
CMQTTClientWrapper::~CMQTTClientWrapper()
{
delete mMQTTRefreshTimer;
}
int CMQTTClientWrapper::SetMQTTParams(CCloudParams *Params)
@@ -35,21 +42,29 @@ int CMQTTClientWrapper::DisconnectFromBroker()
return RET_OK;
}
int CMQTTClientWrapper::SendMQTTMessages(QList<CMQTTMessage> MessagesList)
int CMQTTClientWrapper::NewMQTTMessages(QList<CMQTTMessage> MessagesList)
{
if(mMQTTClient.state() != QMqttClient::Connected)
{
return RET_GENERAL_ERROR;
}
if(mMQTTRefreshTimer->remainingTime() > 0)
{
// qDebug("MQTT timer value: %d",mMQTTRefreshTimer->remainingTime());
return RET_OK;
}
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);
}
mMQTTRefreshTimer->start(mMQTTParams.mMQTTTransmitTimeout);
qDebug("Sent %d MQTT messages",MessagesList.size());
return RET_OK;
@@ -76,3 +91,9 @@ void CMQTTClientWrapper::StateChanged()
}
}
}
int CMQTTClientWrapper::SendMQTTTestMessage()
{
mMQTTClient.publish(QString("Otarcik/Test"),QString("Test Payload").toLocal8Bit(),0,true);
qDebug("Sending MQTT test message");
}