A modelling and serializer library for Microsoft Azure IoTHub client applications

Dependents:   sht15_remote_monitoring f767zi_mqtt remote_monitoring simplesample_amqp ... more

This library implements a serializer library to be used in projects involving Microsoft Azure IoT Hub connectivity. The code is replicated from https://github.com/Azure/azure-iot-sdks

Committer:
AzureIoTClient
Date:
Thu Oct 22 18:33:28 2015 -0700
Revision:
4:233dd7616d73
Child:
17:fa1bba4c6053
v1.0.0-preview.4

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AzureIoTClient 4:233dd7616d73 1 // Copyright (c) Microsoft. All rights reserved.
AzureIoTClient 4:233dd7616d73 2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
AzureIoTClient 4:233dd7616d73 3
AzureIoTClient 4:233dd7616d73 4 #ifndef DATA_PUBLISHER_H
AzureIoTClient 4:233dd7616d73 5 #define DATA_PUBLISHER_H
AzureIoTClient 4:233dd7616d73 6
AzureIoTClient 4:233dd7616d73 7 #include "agenttypesystem.h"
AzureIoTClient 4:233dd7616d73 8 #include "schema.h"
AzureIoTClient 4:233dd7616d73 9 /* Normally we could include <stdbool> for cpp, but some toolchains are not well behaved and simply don't have it - ARM CC for example */
AzureIoTClient 4:233dd7616d73 10 #include <stdbool.h>
AzureIoTClient 4:233dd7616d73 11
AzureIoTClient 4:233dd7616d73 12 #ifdef __cplusplus
AzureIoTClient 4:233dd7616d73 13 extern "C" {
AzureIoTClient 4:233dd7616d73 14 #endif
AzureIoTClient 4:233dd7616d73 15
AzureIoTClient 4:233dd7616d73 16 #define DATA_PUBLISHER_RESULT_VALUES \
AzureIoTClient 4:233dd7616d73 17 DATA_PUBLISHER_OK, \
AzureIoTClient 4:233dd7616d73 18 DATA_PUBLISHER_INVALID_ARG, \
AzureIoTClient 4:233dd7616d73 19 DATA_PUBLISHER_MARSHALLER_ERROR, \
AzureIoTClient 4:233dd7616d73 20 DATA_PUBLISHER_EMPTY_TRANSACTION, \
AzureIoTClient 4:233dd7616d73 21 DATA_PUBLISHER_AGENT_DATA_TYPES_ERROR, \
AzureIoTClient 4:233dd7616d73 22 DATA_PUBLISHER_SCHEMA_FAILED, \
AzureIoTClient 4:233dd7616d73 23 DATA_PUBLISHER_BUFFER_STORAGE_ERROR, \
AzureIoTClient 4:233dd7616d73 24 DATA_PUBLISHER_ERROR
AzureIoTClient 4:233dd7616d73 25
AzureIoTClient 4:233dd7616d73 26 DEFINE_ENUM(DATA_PUBLISHER_RESULT, DATA_PUBLISHER_RESULT_VALUES);
AzureIoTClient 4:233dd7616d73 27
AzureIoTClient 4:233dd7616d73 28 typedef void* TRANSACTION_HANDLE;
AzureIoTClient 4:233dd7616d73 29 typedef void* DATA_PUBLISHER_HANDLE;
AzureIoTClient 4:233dd7616d73 30
AzureIoTClient 4:233dd7616d73 31 extern DATA_PUBLISHER_HANDLE DataPublisher_Create(SCHEMA_MODEL_TYPE_HANDLE modelHandle, bool includePropertyPath);
AzureIoTClient 4:233dd7616d73 32 extern void DataPublisher_Destroy(DATA_PUBLISHER_HANDLE dataPublisherHandle);
AzureIoTClient 4:233dd7616d73 33
AzureIoTClient 4:233dd7616d73 34 extern TRANSACTION_HANDLE DataPublisher_StartTransaction(DATA_PUBLISHER_HANDLE dataPublisherHandle);
AzureIoTClient 4:233dd7616d73 35 extern DATA_PUBLISHER_RESULT DataPublisher_PublishTransacted(TRANSACTION_HANDLE transactionHandle, const char* propertyPath, const AGENT_DATA_TYPE* data);
AzureIoTClient 4:233dd7616d73 36 extern DATA_PUBLISHER_RESULT DataPublisher_EndTransaction(TRANSACTION_HANDLE transactionHandle, unsigned char** destination, size_t* destinationSize);
AzureIoTClient 4:233dd7616d73 37 extern DATA_PUBLISHER_RESULT DataPublisher_CancelTransaction(TRANSACTION_HANDLE transactionHandle);
AzureIoTClient 4:233dd7616d73 38 extern void DataPublisher_SetMaxBufferSize(size_t value);
AzureIoTClient 4:233dd7616d73 39 extern size_t DataPublisher_GetMaxBufferSize(void);
AzureIoTClient 4:233dd7616d73 40
AzureIoTClient 4:233dd7616d73 41 #ifdef __cplusplus
AzureIoTClient 4:233dd7616d73 42 }
AzureIoTClient 4:233dd7616d73 43 #endif
AzureIoTClient 4:233dd7616d73 44
AzureIoTClient 4:233dd7616d73 45 #endif /* DATA_PUBLISHER_H */