/****************************************************************************
 * This file is part of the project AqHome.
 * AqHome (c) by 2023 Martin Preuss, all rights reserved.
 *
 * The license for this file can be found in the file COPYING which you
 * should have received along with this file.
 ****************************************************************************/

#ifndef AQH_MSG_MQTT_PUBLISH_H
#define AQH_MSG_MQTT_PUBLISH_H


#include <aqhome/api.h>
#include <aqhome/mqtt/msg_mqtt.h>

#include <gwenhywfar/msg.h>
#include <gwenhywfar/buffer.h>



AQHOME_API GWEN_MSG *AQH_PublishMqttMsg_new(uint8_t flags, uint16_t packetId,
                                            const char *sTopic,
                                            const uint8_t *messagePtr, uint32_t messageLen);

AQHOME_API void AQH_PublishMqttMsg_DumpToBuffer(const GWEN_MSG *msg, GWEN_BUFFER *dbuf, const char *sText);

AQHOME_API char *AQH_PublishMqttMsg_ExtractTopic(const GWEN_MSG *msg);
AQHOME_API char *AQH_PublishMqttMsg_ExtractValue(const GWEN_MSG *msg);




#endif
