Go to the documentation of this file.
32 #ifndef IOT_BLE_MQTT_SERIALIZE_H
33 #define IOT_BLE_MQTT_SERIALIZE_H
35 #include "types/iot_mqtt_types.h"
36 #include "aws_clientcredential.h"
43 #define IOT_BLE_MQTT_MSG_TYPE "w"
44 #define IOT_BLE_MQTT_CLIENT_ID "d"
45 #define IOT_BLE_MQTT_BROKER_EP "a"
46 #define IOT_BLE_MQTT_CLEAN_SESSION "c"
47 #define IOT_BLE_MQTT_TOPIC "u"
48 #define IOT_BLE_MQTT_TOPIC_LIST "v"
49 #define IOT_BLE_MQTT_QOS "n"
50 #define IOT_BLE_MQTT_QOS_LIST "o"
51 #define IOT_BLE_MQTT_MESSAGE_ID "i"
52 #define IOT_BLE_MQTT_PAYLOAD "k"
53 #define IOT_BLE_MQTT_STATUS "s"
61 #define IOT_BLE_MQTT_MSG_TYPE_CONNECT ( 1 )
62 #define IOT_BLE_MQTT_MSG_TYPE_CONNACK ( 2 )
63 #define IOT_BLE_MQTT_MSG_TYPE_PUBLISH ( 3 )
64 #define IOT_BLE_MQTT_MSG_TYPE_PUBACK ( 4 )
65 #define IOT_BLE_MQTT_MSG_TYPE_PUBREC ( 5 )
66 #define IOT_BLE_MQTT_MSG_TYPE_PUBREL ( 6 )
67 #define IOT_BLE_MQTT_MSG_TYPE_PUBCOMP ( 7 )
68 #define IOT_BLE_MQTT_MSG_TYPE_SUBSCRIBE ( 8 )
69 #define IOT_BLE_MQTT_MSG_TYPE_SUBACK ( 9 )
70 #define IOT_BLE_MQTT_MSG_TYPE_UNSUBSCRIBE ( 10 )
71 #define IOT_BLE_MQTT_MSG_TYPE_UNSUBACK ( 11 )
72 #define IOT_BLE_MQTT_MSG_TYPE_PINGREQ ( 12 )
73 #define IOT_BLE_MQTT_MSG_TYPE_PINGRESP ( 13 )
74 #define IOT_BLE_MQTT_MSG_TYPE_DISCONNECT ( 14 )
119 uint8_t **
const pConnectPacket,
120 size_t *
const pPacketSize );
152 uint8_t **
const pPublishPacket,
153 size_t *
const pPacketSize,
154 uint16_t *
const pPacketIdentifier,
155 uint8_t ** pPacketIdentifierHigh );
166 uint8_t * pPacketIdentifierHigh,
167 uint16_t *
const pNewPacketIdentifier );
200 uint8_t **
const pPubackPacket,
201 size_t *
const pPacketSize );
233 size_t subscriptionCount,
234 uint8_t **
const pSubscribePacket,
235 size_t *
const pPacketSize,
236 uint16_t *
const pPacketIdentifier );
270 size_t subscriptionCount,
271 uint8_t **
const pUnsubscribePacket,
272 size_t *
const pPacketSize,
273 uint16_t *
const pPacketIdentifier );
303 size_t *
const pPacketSize );
316 size_t *
const pPacketSize );
@ IOT_BLE_MQTT_STATUS_CONNECTION_ERROR
Definition: iot_ble_mqtt_serialize.h:89
void IotBleMqtt_CleanupSerialize(void)
Cleanup the serializerfor Mqtt messages over BLE.
IotMqttError_t IotBleMqtt_DeserializeUnsuback(struct _mqttPacket *pConnack)
Deserialize MQTT UNSUBACK message received over BLE connection.
bool IotBleMqtt_InitSerialize(void)
Initializes the serializer for MQTT messages over BLE.
IotMqttError_t IotBleMqtt_SerializeDisconnect(uint8_t **const pDisconnectPacket, size_t *const pPacketSize)
Serialize MQTT DISCONNECT message sent over BLE connection.
IotMqttError_t IotBleMqtt_SerializeSubscribe(const IotMqttSubscription_t *const pSubscriptionList, size_t subscriptionCount, uint8_t **const pSubscribePacket, size_t *const pPacketSize, uint16_t *const pPacketIdentifier)
Serialize MQTT SUBSCRIBE message sent over BLE connection.
@ IOT_BLE_MQTT_STATUS_UNKNOWN
Definition: iot_ble_mqtt_serialize.h:84
size_t IotBleMqtt_GetRemainingLength(void *pNetworkConnection, const IotNetworkInterface_t *pNetworkInterface)
Gets the payload length for the MQTT message.
@ IOT_BLE_MQTT_STATUS_DISCONNECTED
Definition: iot_ble_mqtt_serialize.h:87
IotMqttError_t IotBleMqtt_SerializeUnsubscribe(const IotMqttSubscription_t *const pSubscriptionList, size_t subscriptionCount, uint8_t **const pUnsubscribePacket, size_t *const pPacketSize, uint16_t *const pPacketIdentifier)
Serialize MQTT UNSUBSCRIBE message sent over BLE connection.
IotMqttError_t IotBleMqtt_DeserializeSuback(struct _mqttPacket *pConnack)
Deserialize MQTT SUBACK message received over BLE connection.
uint8_t IotBleMqtt_GetPacketType(void *pNetworkConnection, const IotNetworkInterface_t *pNetworkInterface)
Gets the packet type for the MQTT message.
MQTTBLEConnectStatus_t
Definition: iot_ble_mqtt_serialize.h:83
@ IOT_BLE_MQTT_STATUS_CONNECTED
Definition: iot_ble_mqtt_serialize.h:86
IotMqttError_t IotBleMqtt_SerializePuback(uint16_t packetIdentifier, uint8_t **const pPubackPacket, size_t *const pPacketSize)
Serialize MQTT PUBACK message sent over BLE connection.
IotMqttError_t IotBleMqtt_SerializePublish(const IotMqttPublishInfo_t *const pPublishInfo, uint8_t **const pPublishPacket, size_t *const pPacketSize, uint16_t *const pPacketIdentifier, uint8_t **pPacketIdentifierHigh)
Serialize MQTT PUBLISH message sent over BLE connection.
void IotBleMqtt_PublishSetDup(uint8_t *const pPublishPacket, uint8_t *pPacketIdentifierHigh, uint16_t *const pNewPacketIdentifier)
Set the DUP flag to indicate its a duplicate QoS1/QoS2 message.
@ IOT_BLE_MQTT_STATUS_CONNECTION_REFUSED
Definition: iot_ble_mqtt_serialize.h:88
IotMqttError_t IotBleMqtt_SerializeConnect(const IotMqttConnectInfo_t *const pConnectInfo, uint8_t **const pConnectPacket, size_t *const pPacketSize)
Serialize the MQTT CONNECT message sent over BLE connection.
IotMqttError_t IotBleMqtt_DeserializeConnack(struct _mqttPacket *pConnack)
Deserialize MQTT CONNACK message received over BLE connection.
@ IOT_BLE_MQTT_STATUS_CONNECTING
Definition: iot_ble_mqtt_serialize.h:85
IotMqttError_t IotBleMqtt_DeserializePublish(struct _mqttPacket *pConnack)
Deserialize MQTT PUBLISH message received over BLE connection.
IotMqttError_t IotBleMqtt_DeserializePuback(struct _mqttPacket *pConnack)
Deserialize MQTT PUBACK message received from a BLE connection.
IotMqttError_t IotBleMqtt_DeserializePingresp(struct _mqttPacket *pConnack)
Deserializes MQTT PINGRESP received over BLE connection.
IotMqttError_t IotBleMqtt_SerializePingreq(uint8_t **const pPingreqPacket, size_t *const pPacketSize)
Serializes MQTT PING request message sent over BLE connection.
@ IOT_BLE_MQTT_STATUS_PROTOCOL_ERROR
Definition: iot_ble_mqtt_serialize.h:90
void IotBleMqtt_FreePacket(uint8_t *pPacket)
Frees an MQTT message.