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

Revision:
4:233dd7616d73
Child:
17:fa1bba4c6053
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/datapublisher.h	Thu Oct 22 18:33:28 2015 -0700
@@ -0,0 +1,45 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+
+#ifndef DATA_PUBLISHER_H
+#define DATA_PUBLISHER_H
+
+#include "agenttypesystem.h"
+#include "schema.h"
+/* Normally we could include <stdbool> for cpp, but some toolchains are not well behaved and simply don't have it - ARM CC for example */
+#include <stdbool.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define DATA_PUBLISHER_RESULT_VALUES    \
+DATA_PUBLISHER_OK,                      \
+DATA_PUBLISHER_INVALID_ARG,             \
+DATA_PUBLISHER_MARSHALLER_ERROR,        \
+DATA_PUBLISHER_EMPTY_TRANSACTION,       \
+DATA_PUBLISHER_AGENT_DATA_TYPES_ERROR,  \
+DATA_PUBLISHER_SCHEMA_FAILED,           \
+DATA_PUBLISHER_BUFFER_STORAGE_ERROR,    \
+DATA_PUBLISHER_ERROR
+
+DEFINE_ENUM(DATA_PUBLISHER_RESULT, DATA_PUBLISHER_RESULT_VALUES);
+
+typedef void* TRANSACTION_HANDLE;
+typedef void* DATA_PUBLISHER_HANDLE;
+
+extern DATA_PUBLISHER_HANDLE DataPublisher_Create(SCHEMA_MODEL_TYPE_HANDLE modelHandle, bool includePropertyPath);
+extern void DataPublisher_Destroy(DATA_PUBLISHER_HANDLE dataPublisherHandle);
+
+extern TRANSACTION_HANDLE DataPublisher_StartTransaction(DATA_PUBLISHER_HANDLE dataPublisherHandle);
+extern DATA_PUBLISHER_RESULT DataPublisher_PublishTransacted(TRANSACTION_HANDLE transactionHandle, const char* propertyPath, const AGENT_DATA_TYPE* data);
+extern DATA_PUBLISHER_RESULT DataPublisher_EndTransaction(TRANSACTION_HANDLE transactionHandle, unsigned char** destination, size_t* destinationSize);
+extern DATA_PUBLISHER_RESULT DataPublisher_CancelTransaction(TRANSACTION_HANDLE transactionHandle);
+extern void DataPublisher_SetMaxBufferSize(size_t value);
+extern size_t DataPublisher_GetMaxBufferSize(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* DATA_PUBLISHER_H */