Azure IoT / serializer

Dependents:   sht15_remote_monitoring f767zi_mqtt remote_monitoring simplesample_amqp ... more

Committer:
Azure.IoT Build
Date:
Fri Apr 08 13:25:09 2016 -0700
Revision:
10:c2aee3965a83
Parent:
0:1f9b2707ec7d
Child:
17:fa1bba4c6053
1.0.4

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AzureIoTClient 0:1f9b2707ec7d 1 // Copyright (c) Microsoft. All rights reserved.
AzureIoTClient 0:1f9b2707ec7d 2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
AzureIoTClient 0:1f9b2707ec7d 3
AzureIoTClient 0:1f9b2707ec7d 4 #ifndef MULTITREE_H
AzureIoTClient 0:1f9b2707ec7d 5 #define MULTITREE_H
AzureIoTClient 0:1f9b2707ec7d 6
Azure.IoT Build 10:c2aee3965a83 7 #include "azure_c_shared_utility/strings.h"
Azure.IoT Build 10:c2aee3965a83 8 #include "azure_c_shared_utility/macro_utils.h"
AzureIoTClient 0:1f9b2707ec7d 9
AzureIoTClient 0:1f9b2707ec7d 10 #ifdef __cplusplus
AzureIoTClient 0:1f9b2707ec7d 11 #include <cstddef>
AzureIoTClient 0:1f9b2707ec7d 12 extern "C"
AzureIoTClient 0:1f9b2707ec7d 13 {
AzureIoTClient 0:1f9b2707ec7d 14 #else
AzureIoTClient 0:1f9b2707ec7d 15 #include <stddef.h>
AzureIoTClient 0:1f9b2707ec7d 16 #endif
AzureIoTClient 0:1f9b2707ec7d 17
AzureIoTClient 0:1f9b2707ec7d 18 typedef void* MULTITREE_HANDLE;
AzureIoTClient 0:1f9b2707ec7d 19
AzureIoTClient 0:1f9b2707ec7d 20 #define MULTITREE_RESULT_VALUES \
AzureIoTClient 0:1f9b2707ec7d 21 MULTITREE_OK, \
AzureIoTClient 0:1f9b2707ec7d 22 MULTITREE_INVALID_ARG, \
AzureIoTClient 0:1f9b2707ec7d 23 MULTITREE_ALREADY_HAS_A_VALUE, \
AzureIoTClient 0:1f9b2707ec7d 24 MULTITREE_EMPTY_CHILD_NAME, \
AzureIoTClient 0:1f9b2707ec7d 25 MULTITREE_EMPTY_VALUE, \
AzureIoTClient 0:1f9b2707ec7d 26 MULTITREE_OUT_OF_RANGE_INDEX, \
AzureIoTClient 0:1f9b2707ec7d 27 MULTITREE_ERROR, \
AzureIoTClient 0:1f9b2707ec7d 28 MULTITREE_CHILD_NOT_FOUND \
AzureIoTClient 0:1f9b2707ec7d 29
AzureIoTClient 0:1f9b2707ec7d 30 DEFINE_ENUM(MULTITREE_RESULT, MULTITREE_RESULT_VALUES);
AzureIoTClient 0:1f9b2707ec7d 31
AzureIoTClient 0:1f9b2707ec7d 32 typedef void (*MULTITREE_FREE_FUNCTION)(void* value);
AzureIoTClient 0:1f9b2707ec7d 33 typedef int (*MULTITREE_CLONE_FUNCTION)(void** destination, const void* source);
AzureIoTClient 0:1f9b2707ec7d 34
AzureIoTClient 0:1f9b2707ec7d 35 extern MULTITREE_HANDLE MultiTree_Create(MULTITREE_CLONE_FUNCTION cloneFunction, MULTITREE_FREE_FUNCTION freeFunction);
AzureIoTClient 0:1f9b2707ec7d 36 extern MULTITREE_RESULT MultiTree_AddLeaf(MULTITREE_HANDLE treeHandle, const char* destinationPath, const void* value);
AzureIoTClient 0:1f9b2707ec7d 37 extern MULTITREE_RESULT MultiTree_AddChild(MULTITREE_HANDLE treeHandle, const char* childName, MULTITREE_HANDLE* childHandle);
AzureIoTClient 0:1f9b2707ec7d 38 extern MULTITREE_RESULT MultiTree_GetChildCount(MULTITREE_HANDLE treeHandle, size_t* count);
AzureIoTClient 0:1f9b2707ec7d 39 extern MULTITREE_RESULT MultiTree_GetChild(MULTITREE_HANDLE treeHandle, size_t index, MULTITREE_HANDLE* childHandle);
AzureIoTClient 0:1f9b2707ec7d 40 extern MULTITREE_RESULT MultiTree_GetChildByName(MULTITREE_HANDLE treeHandle, const char* childName, MULTITREE_HANDLE* childHandle);
AzureIoTClient 0:1f9b2707ec7d 41 extern MULTITREE_RESULT MultiTree_GetName(MULTITREE_HANDLE treeHandle, STRING_HANDLE destination);
AzureIoTClient 0:1f9b2707ec7d 42 extern MULTITREE_RESULT MultiTree_GetValue(MULTITREE_HANDLE treeHandle, const void** destination);
AzureIoTClient 0:1f9b2707ec7d 43 extern MULTITREE_RESULT MultiTree_GetLeafValue(MULTITREE_HANDLE treeHandle, const char* leafPath, const void** destination);
AzureIoTClient 0:1f9b2707ec7d 44 extern MULTITREE_RESULT MultiTree_SetValue(MULTITREE_HANDLE treeHandle, void* value);
AzureIoTClient 0:1f9b2707ec7d 45 extern void MultiTree_Destroy(MULTITREE_HANDLE treeHandle);
AzureIoTClient 0:1f9b2707ec7d 46
AzureIoTClient 0:1f9b2707ec7d 47 #ifdef __cplusplus
AzureIoTClient 0:1f9b2707ec7d 48 }
AzureIoTClient 0:1f9b2707ec7d 49 #endif
AzureIoTClient 0:1f9b2707ec7d 50
AzureIoTClient 0:1f9b2707ec7d 51 #endif