A small footprint MQTT library

Dependents:   STM32F746_iothub_client_sample_mqtt FXOS8700CQ_To_Azure_IoT f767zi_mqtt FXOS8700CQ_To_Azure_IoT ... more

Committer:
Azure.IoT Build
Date:
Fri Apr 08 12:01:23 2016 -0700
Revision:
0:ef4901974abc
Child:
2:f3140ae5c35c
1.0.4

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Azure.IoT Build 0:ef4901974abc 1 // Copyright (c) Microsoft. All rights reserved.
Azure.IoT Build 0:ef4901974abc 2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
Azure.IoT Build 0:ef4901974abc 3
Azure.IoT Build 0:ef4901974abc 4 #ifndef MQTT_CODEC_H
Azure.IoT Build 0:ef4901974abc 5 #define MQTT_CODEC_H
Azure.IoT Build 0:ef4901974abc 6
Azure.IoT Build 0:ef4901974abc 7 #ifdef __cplusplus
Azure.IoT Build 0:ef4901974abc 8 #include <cstdint>
Azure.IoT Build 0:ef4901974abc 9 #include <cstdbool>
Azure.IoT Build 0:ef4901974abc 10 extern "C" {
Azure.IoT Build 0:ef4901974abc 11 #else
Azure.IoT Build 0:ef4901974abc 12 #include <stdint.h>
Azure.IoT Build 0:ef4901974abc 13 #include <stdbool.h>
Azure.IoT Build 0:ef4901974abc 14 #endif // __cplusplus
Azure.IoT Build 0:ef4901974abc 15
Azure.IoT Build 0:ef4901974abc 16 #include "azure_c_shared_utility/xio.h"
Azure.IoT Build 0:ef4901974abc 17 #include "azure_c_shared_utility/buffer_.h"
Azure.IoT Build 0:ef4901974abc 18 #include "azure_umqtt_c/mqttconst.h"
Azure.IoT Build 0:ef4901974abc 19
Azure.IoT Build 0:ef4901974abc 20 typedef struct MQTTCODEC_INSTANCE_TAG* MQTTCODEC_HANDLE;
Azure.IoT Build 0:ef4901974abc 21
Azure.IoT Build 0:ef4901974abc 22 typedef void(*ON_PACKET_COMPLETE_CALLBACK)(void* context, CONTROL_PACKET_TYPE packet, int flags, BUFFER_HANDLE headerData);
Azure.IoT Build 0:ef4901974abc 23
Azure.IoT Build 0:ef4901974abc 24 extern MQTTCODEC_HANDLE mqtt_codec_create(ON_PACKET_COMPLETE_CALLBACK packetComplete, void* callbackCtx);
Azure.IoT Build 0:ef4901974abc 25 extern void mqtt_codec_destroy(MQTTCODEC_HANDLE handle);
Azure.IoT Build 0:ef4901974abc 26
Azure.IoT Build 0:ef4901974abc 27 extern BUFFER_HANDLE mqtt_codec_connect(const MQTT_CLIENT_OPTIONS* mqttOptions);
Azure.IoT Build 0:ef4901974abc 28 extern BUFFER_HANDLE mqtt_codec_disconnect();
Azure.IoT Build 0:ef4901974abc 29 extern BUFFER_HANDLE mqtt_codec_publish(QOS_VALUE qosValue, bool duplicateMsg, bool serverRetain, uint16_t packetId, const char* topicName, const uint8_t* msgBuffer, size_t buffLen);
Azure.IoT Build 0:ef4901974abc 30 extern BUFFER_HANDLE mqtt_codec_publishAck(uint16_t packetId);
Azure.IoT Build 0:ef4901974abc 31 extern BUFFER_HANDLE mqtt_codec_publishReceived(uint16_t packetId);
Azure.IoT Build 0:ef4901974abc 32 extern BUFFER_HANDLE mqtt_codec_publishRelease(uint16_t packetId);
Azure.IoT Build 0:ef4901974abc 33 extern BUFFER_HANDLE mqtt_codec_publishComplete(uint16_t packetId);
Azure.IoT Build 0:ef4901974abc 34 extern BUFFER_HANDLE mqtt_codec_ping();
Azure.IoT Build 0:ef4901974abc 35 extern BUFFER_HANDLE mqtt_codec_subscribe(uint16_t packetId, SUBSCRIBE_PAYLOAD* subscribeList, size_t count);
Azure.IoT Build 0:ef4901974abc 36 extern BUFFER_HANDLE mqtt_codec_unsubscribe(uint16_t packetId, const char** unsubscribeList, size_t count);
Azure.IoT Build 0:ef4901974abc 37
Azure.IoT Build 0:ef4901974abc 38 extern int mqtt_codec_bytesReceived(MQTTCODEC_HANDLE handle, const unsigned char* buffer, size_t size);
Azure.IoT Build 0:ef4901974abc 39
Azure.IoT Build 0:ef4901974abc 40 #ifdef __cplusplus
Azure.IoT Build 0:ef4901974abc 41 }
Azure.IoT Build 0:ef4901974abc 42 #endif // __cplusplus
Azure.IoT Build 0:ef4901974abc 43
Azure.IoT Build 0:ef4901974abc 44 #endif // MQTT_CODEC_H