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:
Tue Sep 11 11:14:37 2018 -0700
Revision:
36:7d12a5386197
Parent:
18:58b667752399
1.2.9

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AzureIoTClient 17:fa1bba4c6053 1 // Copyright (c) Microsoft. All rights reserved.MOCKABLE_FUNCTION(,
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 SCHEMA_H
AzureIoTClient 0:1f9b2707ec7d 5 #define SCHEMA_H
AzureIoTClient 0:1f9b2707ec7d 6
Azure.IoT Build 10:c2aee3965a83 7 #include "azure_c_shared_utility/macro_utils.h"
Azure.IoT Build 10:c2aee3965a83 8 #include "azure_c_shared_utility/crt_abstractions.h"
AzureIoTClient 17:fa1bba4c6053 9 #include "agenttypesystem.h"
AzureIoTClient 17:fa1bba4c6053 10
AzureIoTClient 17:fa1bba4c6053 11 #include "azure_c_shared_utility/umock_c_prod.h"
AzureIoTClient 0:1f9b2707ec7d 12
AzureIoTClient 0:1f9b2707ec7d 13 #ifdef __cplusplus
AzureIoTClient 0:1f9b2707ec7d 14 #include <cstddef>
AzureIoTClient 0:1f9b2707ec7d 15 extern "C" {
AzureIoTClient 0:1f9b2707ec7d 16 #else
AzureIoTClient 0:1f9b2707ec7d 17 #include <stddef.h>
AzureIoTClient 0:1f9b2707ec7d 18 #endif
AzureIoTClient 0:1f9b2707ec7d 19
AzureIoTClient 0:1f9b2707ec7d 20 /* Codes_SRS_SCHEMA_99_095: [Schema shall expose the following API:] */
AzureIoTClient 0:1f9b2707ec7d 21
AzureIoTClient 17:fa1bba4c6053 22 typedef struct SCHEMA_HANDLE_DATA_TAG* SCHEMA_HANDLE;
AzureIoTClient 17:fa1bba4c6053 23 typedef struct SCHEMA_MODEL_TYPE_HANDLE_DATA_TAG* SCHEMA_MODEL_TYPE_HANDLE;
AzureIoTClient 17:fa1bba4c6053 24 typedef struct SCHEMA_STRUCT_TYPE_HANDLE_DATA_TAG* SCHEMA_STRUCT_TYPE_HANDLE;
AzureIoTClient 17:fa1bba4c6053 25 typedef struct SCHEMA_PROPERTY_HANDLE_DATA_TAG* SCHEMA_PROPERTY_HANDLE;
AzureIoTClient 17:fa1bba4c6053 26 typedef struct SCHEMA_REPORTED_PROPERTY_HANDLE_DATA_TAG* SCHEMA_REPORTED_PROPERTY_HANDLE;
AzureIoTClient 17:fa1bba4c6053 27 typedef struct SCHEMA_DESIRED_PROPERTY_HANDLE_DATA_TAG* SCHEMA_DESIRED_PROPERTY_HANDLE;
AzureIoTClient 17:fa1bba4c6053 28 typedef struct SCHEMA_ACTION_HANDLE_DATA_TAG* SCHEMA_ACTION_HANDLE;
AzureIoTClient 17:fa1bba4c6053 29 typedef struct SCHEMA_ACTION_ARGUMENT_HANDLE_DATA_TAG* SCHEMA_ACTION_ARGUMENT_HANDLE;
Azure.IoT.Build 18:58b667752399 30 typedef struct SCHEMA_METHOD_ARGUMENT_HANDLE_DATA_TAG* SCHEMA_METHOD_ARGUMENT_HANDLE;
Azure.IoT.Build 18:58b667752399 31 typedef struct SCHEMA_METHOD_HANDLE_DATA_TAG* SCHEMA_METHOD_HANDLE;
Azure.IoT.Build 18:58b667752399 32
AzureIoTClient 17:fa1bba4c6053 33
AzureIoTClient 17:fa1bba4c6053 34 typedef void(*pfOnDesiredProperty)(void* model);
AzureIoTClient 17:fa1bba4c6053 35 typedef int(*pfDesiredPropertyFromAGENT_DATA_TYPE)(const AGENT_DATA_TYPE* source, void* dest);
AzureIoTClient 17:fa1bba4c6053 36 typedef void(*pfDesiredPropertyInitialize)(void* destination);
AzureIoTClient 17:fa1bba4c6053 37 typedef void(*pfDesiredPropertyDeinitialize)(void* destination);
AzureIoTClient 17:fa1bba4c6053 38
AzureIoTClient 0:1f9b2707ec7d 39
AzureIoTClient 0:1f9b2707ec7d 40 #define SCHEMA_RESULT_VALUES \
AzureIoTClient 0:1f9b2707ec7d 41 SCHEMA_OK, \
AzureIoTClient 0:1f9b2707ec7d 42 SCHEMA_INVALID_ARG, \
AzureIoTClient 0:1f9b2707ec7d 43 SCHEMA_DUPLICATE_ELEMENT, \
AzureIoTClient 0:1f9b2707ec7d 44 SCHEMA_ELEMENT_NOT_FOUND, \
AzureIoTClient 0:1f9b2707ec7d 45 SCHEMA_MODEL_IN_USE, \
AzureIoTClient 0:1f9b2707ec7d 46 SCHEMA_DEVICE_COUNT_ZERO, \
AzureIoTClient 0:1f9b2707ec7d 47 SCHEMA_ERROR
AzureIoTClient 0:1f9b2707ec7d 48
AzureIoTClient 0:1f9b2707ec7d 49 DEFINE_ENUM(SCHEMA_RESULT, SCHEMA_RESULT_VALUES)
AzureIoTClient 0:1f9b2707ec7d 50
AzureIoTClient 17:fa1bba4c6053 51 #define SCHEMA_ELEMENT_TYPE_VALUES \
AzureIoTClient 17:fa1bba4c6053 52 SCHEMA_NOT_FOUND, \
AzureIoTClient 17:fa1bba4c6053 53 SCHEMA_SEARCH_INVALID_ARG, \
AzureIoTClient 17:fa1bba4c6053 54 SCHEMA_PROPERTY, \
AzureIoTClient 17:fa1bba4c6053 55 SCHEMA_REPORTED_PROPERTY, \
AzureIoTClient 17:fa1bba4c6053 56 SCHEMA_DESIRED_PROPERTY, \
AzureIoTClient 17:fa1bba4c6053 57 SCHEMA_MODEL_ACTION, \
AzureIoTClient 17:fa1bba4c6053 58 SCHEMA_MODEL_IN_MODEL
AzureIoTClient 17:fa1bba4c6053 59
AzureIoTClient 17:fa1bba4c6053 60 DEFINE_ENUM(SCHEMA_ELEMENT_TYPE, SCHEMA_ELEMENT_TYPE_VALUES);
AzureIoTClient 0:1f9b2707ec7d 61
AzureIoTClient 17:fa1bba4c6053 62 typedef struct SCHEMA_MODEL_ELEMENT_TAG
AzureIoTClient 17:fa1bba4c6053 63 {
AzureIoTClient 17:fa1bba4c6053 64 SCHEMA_ELEMENT_TYPE elementType;
AzureIoTClient 17:fa1bba4c6053 65 union ELEMENT_HANDLE_UNION_TAG
AzureIoTClient 17:fa1bba4c6053 66 {
AzureIoTClient 17:fa1bba4c6053 67 SCHEMA_DESIRED_PROPERTY_HANDLE desiredPropertyHandle;
AzureIoTClient 17:fa1bba4c6053 68 SCHEMA_PROPERTY_HANDLE propertyHandle;
AzureIoTClient 17:fa1bba4c6053 69 SCHEMA_REPORTED_PROPERTY_HANDLE reportedPropertyHandle;
AzureIoTClient 17:fa1bba4c6053 70 SCHEMA_ACTION_HANDLE actionHandle;
AzureIoTClient 17:fa1bba4c6053 71 SCHEMA_MODEL_TYPE_HANDLE modelHandle;
AzureIoTClient 17:fa1bba4c6053 72 } elementHandle;
AzureIoTClient 17:fa1bba4c6053 73 }SCHEMA_MODEL_ELEMENT;
AzureIoTClient 0:1f9b2707ec7d 74
AzureIoTClient 17:fa1bba4c6053 75 MOCKABLE_FUNCTION(, SCHEMA_HANDLE, Schema_Create, const char*, schemaNamespace, void*, metadata);
AzureIoTClient 17:fa1bba4c6053 76 MOCKABLE_FUNCTION(, void*, Schema_GetMetadata, SCHEMA_HANDLE, schemaHandle);
AzureIoTClient 17:fa1bba4c6053 77 MOCKABLE_FUNCTION(, size_t, Schema_GetSchemaCount);
AzureIoTClient 17:fa1bba4c6053 78 MOCKABLE_FUNCTION(, SCHEMA_HANDLE, Schema_GetSchemaByNamespace, const char*, schemaNamespace);
AzureIoTClient 17:fa1bba4c6053 79 MOCKABLE_FUNCTION(, SCHEMA_HANDLE, Schema_GetSchemaForModel, const char*, modelName);
AzureIoTClient 17:fa1bba4c6053 80 MOCKABLE_FUNCTION(, const char*, Schema_GetSchemaNamespace, SCHEMA_HANDLE, schemaHandle);
AzureIoTClient 17:fa1bba4c6053 81 MOCKABLE_FUNCTION(, SCHEMA_RESULT, Schema_AddDeviceRef, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle);
AzureIoTClient 17:fa1bba4c6053 82 MOCKABLE_FUNCTION(, SCHEMA_RESULT, Schema_ReleaseDeviceRef, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle);
AzureIoTClient 0:1f9b2707ec7d 83
AzureIoTClient 17:fa1bba4c6053 84 MOCKABLE_FUNCTION(, SCHEMA_MODEL_TYPE_HANDLE, Schema_CreateModelType, SCHEMA_HANDLE, schemaHandle, const char*, modelName);
AzureIoTClient 17:fa1bba4c6053 85 MOCKABLE_FUNCTION(, SCHEMA_HANDLE, Schema_GetSchemaForModelType, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle);
AzureIoTClient 17:fa1bba4c6053 86 MOCKABLE_FUNCTION(, const char*, Schema_GetModelName, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle);
AzureIoTClient 17:fa1bba4c6053 87
AzureIoTClient 17:fa1bba4c6053 88 MOCKABLE_FUNCTION(, SCHEMA_STRUCT_TYPE_HANDLE, Schema_CreateStructType, SCHEMA_HANDLE, schemaHandle, const char*, structTypeName);
AzureIoTClient 17:fa1bba4c6053 89
AzureIoTClient 17:fa1bba4c6053 90 MOCKABLE_FUNCTION(, const char*, Schema_GetStructTypeName, SCHEMA_STRUCT_TYPE_HANDLE, structTypeHandle);
AzureIoTClient 0:1f9b2707ec7d 91
AzureIoTClient 17:fa1bba4c6053 92 MOCKABLE_FUNCTION(, SCHEMA_RESULT, Schema_AddStructTypeProperty, SCHEMA_STRUCT_TYPE_HANDLE, structTypeHandle, const char*, propertyName, const char*, propertyType);
AzureIoTClient 0:1f9b2707ec7d 93
AzureIoTClient 17:fa1bba4c6053 94 MOCKABLE_FUNCTION(, SCHEMA_RESULT, Schema_AddModelProperty, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, const char*, propertyName, const char*, propertyType);
AzureIoTClient 17:fa1bba4c6053 95 MOCKABLE_FUNCTION(, SCHEMA_RESULT, Schema_AddModelReportedProperty, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, const char*, reportedPropertyName, const char*, reportedPropertyType);
AzureIoTClient 17:fa1bba4c6053 96 MOCKABLE_FUNCTION(, SCHEMA_RESULT, Schema_AddModelDesiredProperty, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, const char*, desiredPropertyName, const char*, desiredPropertyType, pfDesiredPropertyFromAGENT_DATA_TYPE, desiredPropertyFromAGENT_DATA_TYPE, pfDesiredPropertyInitialize, desiredPropertyInitialize, pfDesiredPropertyDeinitialize, desiredPropertyDeinitialize, size_t, offset, pfOnDesiredProperty, onDesiredProperty);
AzureIoTClient 17:fa1bba4c6053 97 MOCKABLE_FUNCTION(, SCHEMA_RESULT, Schema_AddModelModel, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, const char*, propertyName, SCHEMA_MODEL_TYPE_HANDLE, modelType, size_t, offset, pfOnDesiredProperty, onDesiredProperty);
AzureIoTClient 17:fa1bba4c6053 98 MOCKABLE_FUNCTION(, SCHEMA_ACTION_HANDLE, Schema_CreateModelAction, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, const char*, actionName);
Azure.IoT.Build 18:58b667752399 99 MOCKABLE_FUNCTION(, SCHEMA_METHOD_HANDLE, Schema_CreateModelMethod, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, const char*, methodName);
AzureIoTClient 17:fa1bba4c6053 100 MOCKABLE_FUNCTION(, SCHEMA_RESULT, Schema_AddModelActionArgument, SCHEMA_ACTION_HANDLE, actionHandle, const char*, argumentName, const char*, argumentType);
Azure.IoT.Build 18:58b667752399 101 MOCKABLE_FUNCTION(, SCHEMA_RESULT, Schema_AddModelMethodArgument, SCHEMA_METHOD_HANDLE, methodHandle, const char*, argumentName, const char*, argumentType);
AzureIoTClient 17:fa1bba4c6053 102 MOCKABLE_FUNCTION(, pfDesiredPropertyFromAGENT_DATA_TYPE, Schema_GetModelDesiredProperty_pfDesiredPropertyFromAGENT_DATA_TYPE, SCHEMA_DESIRED_PROPERTY_HANDLE, desiredPropertyHandle);
AzureIoTClient 17:fa1bba4c6053 103 MOCKABLE_FUNCTION(, pfOnDesiredProperty, Schema_GetModelDesiredProperty_pfOnDesiredProperty, SCHEMA_DESIRED_PROPERTY_HANDLE, desiredPropertyHandle);
AzureIoTClient 17:fa1bba4c6053 104
AzureIoTClient 17:fa1bba4c6053 105
AzureIoTClient 17:fa1bba4c6053 106 MOCKABLE_FUNCTION(, size_t, Schema_GetModelModelByName_Offset, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, const char*, propertyName);
AzureIoTClient 17:fa1bba4c6053 107 MOCKABLE_FUNCTION(, pfOnDesiredProperty, Schema_GetModelModelByName_OnDesiredProperty, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, const char*, propertyName);
AzureIoTClient 17:fa1bba4c6053 108
AzureIoTClient 17:fa1bba4c6053 109 MOCKABLE_FUNCTION(, size_t, Schema_GetModelModelByIndex_Offset, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, size_t, index);
AzureIoTClient 0:1f9b2707ec7d 110
AzureIoTClient 17:fa1bba4c6053 111 MOCKABLE_FUNCTION(, size_t, Schema_GetModelDesiredProperty_offset, SCHEMA_DESIRED_PROPERTY_HANDLE, desiredPropertyHandle);
AzureIoTClient 17:fa1bba4c6053 112 MOCKABLE_FUNCTION(, const char*, Schema_GetModelDesiredPropertyType, SCHEMA_DESIRED_PROPERTY_HANDLE, desiredPropertyHandle);
AzureIoTClient 17:fa1bba4c6053 113 MOCKABLE_FUNCTION(, pfDesiredPropertyDeinitialize, Schema_GetModelDesiredProperty_pfDesiredPropertyDeinitialize, SCHEMA_DESIRED_PROPERTY_HANDLE, desiredPropertyHandle);
AzureIoTClient 17:fa1bba4c6053 114 MOCKABLE_FUNCTION(, pfDesiredPropertyInitialize, Schema_GetModelDesiredProperty_pfDesiredPropertyInitialize, SCHEMA_DESIRED_PROPERTY_HANDLE, desiredPropertyHandle);
AzureIoTClient 0:1f9b2707ec7d 115
AzureIoTClient 17:fa1bba4c6053 116 MOCKABLE_FUNCTION(, SCHEMA_MODEL_ELEMENT, Schema_GetModelElementByName, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, const char*, elementName);
AzureIoTClient 17:fa1bba4c6053 117
AzureIoTClient 17:fa1bba4c6053 118 MOCKABLE_FUNCTION(, SCHEMA_RESULT, Schema_GetModelCount, SCHEMA_HANDLE, schemaHandle, size_t*, modelCount);
AzureIoTClient 17:fa1bba4c6053 119 MOCKABLE_FUNCTION(, SCHEMA_MODEL_TYPE_HANDLE, Schema_GetModelByName, SCHEMA_HANDLE, schemaHandle, const char*, modelName);
AzureIoTClient 17:fa1bba4c6053 120 MOCKABLE_FUNCTION(, SCHEMA_MODEL_TYPE_HANDLE, Schema_GetModelByIndex, SCHEMA_HANDLE, schemaHandle, size_t, index);
AzureIoTClient 0:1f9b2707ec7d 121
AzureIoTClient 17:fa1bba4c6053 122 MOCKABLE_FUNCTION(, SCHEMA_RESULT, Schema_GetModelPropertyCount, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, size_t*, propertyCount);
AzureIoTClient 17:fa1bba4c6053 123 MOCKABLE_FUNCTION(, SCHEMA_PROPERTY_HANDLE, Schema_GetModelPropertyByName, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, const char*, propertyName);
AzureIoTClient 17:fa1bba4c6053 124 MOCKABLE_FUNCTION(, SCHEMA_PROPERTY_HANDLE, Schema_GetModelPropertyByIndex, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, size_t, index);
AzureIoTClient 17:fa1bba4c6053 125
AzureIoTClient 17:fa1bba4c6053 126 MOCKABLE_FUNCTION(, SCHEMA_RESULT, Schema_GetModelReportedPropertyCount, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, size_t*, reportedPropertyCount);
AzureIoTClient 17:fa1bba4c6053 127 MOCKABLE_FUNCTION(, SCHEMA_REPORTED_PROPERTY_HANDLE, Schema_GetModelReportedPropertyByName, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, const char*, reportedPropertyName);
AzureIoTClient 17:fa1bba4c6053 128 MOCKABLE_FUNCTION(, SCHEMA_REPORTED_PROPERTY_HANDLE, Schema_GetModelReportedPropertyByIndex, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, size_t, index);
AzureIoTClient 0:1f9b2707ec7d 129
AzureIoTClient 17:fa1bba4c6053 130 MOCKABLE_FUNCTION(, SCHEMA_RESULT, Schema_GetModelDesiredPropertyCount, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, size_t*, desiredPropertyCount);
AzureIoTClient 17:fa1bba4c6053 131 MOCKABLE_FUNCTION(, SCHEMA_DESIRED_PROPERTY_HANDLE, Schema_GetModelDesiredPropertyByName, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, const char*, desiredPropertyName);
AzureIoTClient 17:fa1bba4c6053 132 MOCKABLE_FUNCTION(, SCHEMA_DESIRED_PROPERTY_HANDLE, Schema_GetModelDesiredPropertyByIndex, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, size_t, index);
AzureIoTClient 17:fa1bba4c6053 133
AzureIoTClient 17:fa1bba4c6053 134 MOCKABLE_FUNCTION(, SCHEMA_RESULT, Schema_GetModelModelCount, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, size_t*, modelCount);
AzureIoTClient 17:fa1bba4c6053 135 MOCKABLE_FUNCTION(, SCHEMA_MODEL_TYPE_HANDLE, Schema_GetModelModelByName, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, const char*, propertyName);
AzureIoTClient 17:fa1bba4c6053 136 MOCKABLE_FUNCTION(, SCHEMA_MODEL_TYPE_HANDLE, Schema_GetModelModelyByIndex, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, size_t, index);
AzureIoTClient 17:fa1bba4c6053 137 MOCKABLE_FUNCTION(, const char*, Schema_GetModelModelPropertyNameByIndex, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, size_t, index);
AzureIoTClient 0:1f9b2707ec7d 138
AzureIoTClient 17:fa1bba4c6053 139 MOCKABLE_FUNCTION(, bool, Schema_ModelPropertyByPathExists, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, const char*, propertyPath);
AzureIoTClient 17:fa1bba4c6053 140
AzureIoTClient 17:fa1bba4c6053 141 MOCKABLE_FUNCTION(, bool, Schema_ModelReportedPropertyByPathExists, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, const char*, reportedPropertyPath);
AzureIoTClient 17:fa1bba4c6053 142 MOCKABLE_FUNCTION(, bool, Schema_ModelDesiredPropertyByPathExists, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, const char*, desiredPropertyPath);
AzureIoTClient 0:1f9b2707ec7d 143
AzureIoTClient 17:fa1bba4c6053 144 MOCKABLE_FUNCTION(, SCHEMA_RESULT, Schema_GetModelActionCount, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, size_t*, actionCount);
AzureIoTClient 17:fa1bba4c6053 145 MOCKABLE_FUNCTION(, SCHEMA_ACTION_HANDLE, Schema_GetModelActionByName, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, const char*, actionName);
Azure.IoT.Build 18:58b667752399 146 MOCKABLE_FUNCTION(, SCHEMA_METHOD_HANDLE, Schema_GetModelMethodByName, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, const char*, methodName);
AzureIoTClient 17:fa1bba4c6053 147 MOCKABLE_FUNCTION(, SCHEMA_ACTION_HANDLE, Schema_GetModelActionByIndex, SCHEMA_MODEL_TYPE_HANDLE, modelTypeHandle, size_t, index);
AzureIoTClient 17:fa1bba4c6053 148
AzureIoTClient 17:fa1bba4c6053 149 MOCKABLE_FUNCTION(, SCHEMA_RESULT, Schema_GetModelActionArgumentCount, SCHEMA_ACTION_HANDLE, actionHandle, size_t*, argumentCount);
Azure.IoT.Build 18:58b667752399 150 MOCKABLE_FUNCTION(, SCHEMA_RESULT, Schema_GetModelMethodArgumentCount, SCHEMA_METHOD_HANDLE, methodHandle, size_t*, argumentCount);
AzureIoTClient 17:fa1bba4c6053 151 MOCKABLE_FUNCTION(, const char*, Schema_GetModelActionName, SCHEMA_ACTION_HANDLE, actionHandle);
AzureIoTClient 0:1f9b2707ec7d 152
AzureIoTClient 17:fa1bba4c6053 153 MOCKABLE_FUNCTION(, SCHEMA_ACTION_ARGUMENT_HANDLE, Schema_GetModelActionArgumentByName, SCHEMA_ACTION_HANDLE, actionHandle, const char*, actionArgumentName);
AzureIoTClient 17:fa1bba4c6053 154 MOCKABLE_FUNCTION(, SCHEMA_ACTION_ARGUMENT_HANDLE, Schema_GetModelActionArgumentByIndex, SCHEMA_ACTION_HANDLE, actionHandle, size_t, argumentIndex);
Azure.IoT.Build 18:58b667752399 155 MOCKABLE_FUNCTION(, SCHEMA_METHOD_ARGUMENT_HANDLE, Schema_GetModelMethodArgumentByIndex, SCHEMA_METHOD_HANDLE, actionHandle, size_t, argumentIndex);
AzureIoTClient 17:fa1bba4c6053 156 MOCKABLE_FUNCTION(, const char*, Schema_GetActionArgumentName, SCHEMA_ACTION_ARGUMENT_HANDLE, actionArgumentHandle);
Azure.IoT.Build 18:58b667752399 157 MOCKABLE_FUNCTION(, const char*, Schema_GetMethodArgumentName, SCHEMA_METHOD_ARGUMENT_HANDLE, methodArgumentHandle);
AzureIoTClient 17:fa1bba4c6053 158 MOCKABLE_FUNCTION(, const char*, Schema_GetActionArgumentType, SCHEMA_ACTION_ARGUMENT_HANDLE, actionArgumentHandle);
Azure.IoT.Build 18:58b667752399 159 MOCKABLE_FUNCTION(, const char*, Schema_GetMethodArgumentType, SCHEMA_METHOD_ARGUMENT_HANDLE, methodArgumentHandle);
AzureIoTClient 17:fa1bba4c6053 160
AzureIoTClient 17:fa1bba4c6053 161 MOCKABLE_FUNCTION(, SCHEMA_RESULT, Schema_GetStructTypeCount, SCHEMA_HANDLE, schemaHandle, size_t*, structTypeCount);
AzureIoTClient 17:fa1bba4c6053 162 MOCKABLE_FUNCTION(, SCHEMA_STRUCT_TYPE_HANDLE, Schema_GetStructTypeByName, SCHEMA_HANDLE, schemaHandle, const char*, structTypeName);
AzureIoTClient 17:fa1bba4c6053 163 MOCKABLE_FUNCTION(, SCHEMA_STRUCT_TYPE_HANDLE, Schema_GetStructTypeByIndex, SCHEMA_HANDLE, schemaHandle, size_t, index);
AzureIoTClient 0:1f9b2707ec7d 164
AzureIoTClient 17:fa1bba4c6053 165 MOCKABLE_FUNCTION(, SCHEMA_RESULT, Schema_GetStructTypePropertyCount, SCHEMA_STRUCT_TYPE_HANDLE, structTypeHandle, size_t*, propertyCount);
AzureIoTClient 17:fa1bba4c6053 166 MOCKABLE_FUNCTION(, SCHEMA_PROPERTY_HANDLE, Schema_GetStructTypePropertyByName, SCHEMA_STRUCT_TYPE_HANDLE, structTypeHandle, const char*, propertyName);
AzureIoTClient 17:fa1bba4c6053 167 MOCKABLE_FUNCTION(, SCHEMA_PROPERTY_HANDLE, Schema_GetStructTypePropertyByIndex, SCHEMA_STRUCT_TYPE_HANDLE, structTypeHandle, size_t, index);
AzureIoTClient 17:fa1bba4c6053 168 MOCKABLE_FUNCTION(, const char*, Schema_GetPropertyName, SCHEMA_PROPERTY_HANDLE, propertyHandle);
AzureIoTClient 17:fa1bba4c6053 169 MOCKABLE_FUNCTION(, const char*, Schema_GetPropertyType, SCHEMA_PROPERTY_HANDLE, propertyHandle);
AzureIoTClient 17:fa1bba4c6053 170
AzureIoTClient 17:fa1bba4c6053 171 MOCKABLE_FUNCTION(, void, Schema_Destroy, SCHEMA_HANDLE, schemaHandle);
AzureIoTClient 17:fa1bba4c6053 172 MOCKABLE_FUNCTION(, SCHEMA_RESULT, Schema_DestroyIfUnused,SCHEMA_MODEL_TYPE_HANDLE, modelHandle);
AzureIoTClient 0:1f9b2707ec7d 173
AzureIoTClient 0:1f9b2707ec7d 174 #ifdef __cplusplus
AzureIoTClient 0:1f9b2707ec7d 175 }
AzureIoTClient 0:1f9b2707ec7d 176 #endif
AzureIoTClient 0:1f9b2707ec7d 177
AzureIoTClient 0:1f9b2707ec7d 178 #endif /* SCHEMA_H */