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:
27:1ac2fac5e8c2
1.2.9

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 COMMAND_DECODER_H
AzureIoTClient 0:1f9b2707ec7d 5 #define COMMAND_DECODER_H
AzureIoTClient 0:1f9b2707ec7d 6
AzureIoTClient 0:1f9b2707ec7d 7 #include "multitree.h"
AzureIoTClient 0:1f9b2707ec7d 8 #include "schema.h"
AzureIoTClient 0:1f9b2707ec7d 9 #include "agenttypesystem.h"
Azure.IoT Build 10:c2aee3965a83 10 #include "azure_c_shared_utility/macro_utils.h"
Azure.IoT.Build 18:58b667752399 11 #include "methodreturn.h"
AzureIoTClient 0:1f9b2707ec7d 12
AzureIoTClient 26:7c0e6f86d034 13 #ifdef __cplusplus
AzureIoTClient 26:7c0e6f86d034 14 extern "C" {
AzureIoTClient 26:7c0e6f86d034 15 #else
AzureIoTClient 26:7c0e6f86d034 16 #include <stdbool.h>
AzureIoTClient 26:7c0e6f86d034 17 #endif
AzureIoTClient 26:7c0e6f86d034 18
AzureIoTClient 0:1f9b2707ec7d 19 #define COMMANDDECODER_RESULT_VALUES \
AzureIoTClient 0:1f9b2707ec7d 20 COMMANDDECODER_OK, \
AzureIoTClient 0:1f9b2707ec7d 21 COMMANDDECODER_ERROR, \
AzureIoTClient 0:1f9b2707ec7d 22 COMMANDDECODER_INVALID_ARG
AzureIoTClient 0:1f9b2707ec7d 23
AzureIoTClient 0:1f9b2707ec7d 24 DEFINE_ENUM(COMMANDDECODER_RESULT, COMMANDDECODER_RESULT_VALUES)
AzureIoTClient 0:1f9b2707ec7d 25
AzureIoTClient 0:1f9b2707ec7d 26 #define EXECUTE_COMMAND_RESULT_VALUES \
AzureIoTClient 0:1f9b2707ec7d 27 EXECUTE_COMMAND_SUCCESS, /*when the final recipient of the command indicates a successful execution*/ \
AzureIoTClient 0:1f9b2707ec7d 28 EXECUTE_COMMAND_FAILED, /*when the final recipient of the command indicates a failure*/ \
AzureIoTClient 0:1f9b2707ec7d 29 EXECUTE_COMMAND_ERROR /*when a transient error either in the final recipient or until the final recipient*/
AzureIoTClient 0:1f9b2707ec7d 30
AzureIoTClient 0:1f9b2707ec7d 31 DEFINE_ENUM(EXECUTE_COMMAND_RESULT, EXECUTE_COMMAND_RESULT_VALUES)
AzureIoTClient 0:1f9b2707ec7d 32
AzureIoTClient 0:1f9b2707ec7d 33
AzureIoTClient 26:7c0e6f86d034 34
AzureIoTClient 0:1f9b2707ec7d 35
AzureIoTClient 0:1f9b2707ec7d 36 /* Codes_SRS_COMMAND_DECODER_99_001:[ The CommandDecoder module shall expose the following API:] */
AzureIoTClient 0:1f9b2707ec7d 37
AzureIoTClient 17:fa1bba4c6053 38 typedef struct COMMAND_DECODER_HANDLE_DATA_TAG* COMMAND_DECODER_HANDLE;
AzureIoTClient 0:1f9b2707ec7d 39 typedef EXECUTE_COMMAND_RESULT(*ACTION_CALLBACK_FUNC)(void* actionCallbackContext, const char* relativeActionPath, const char* actionName, size_t argCount, const AGENT_DATA_TYPE* args);
Azure.IoT.Build 18:58b667752399 40 typedef METHODRETURN_HANDLE(*METHOD_CALLBACK_FUNC)(void* methodCallbackContext, const char* relativeMethodPath, const char* methodName, size_t argCount, const AGENT_DATA_TYPE* args);
AzureIoTClient 0:1f9b2707ec7d 41
AzureIoTClient 17:fa1bba4c6053 42 #include "azure_c_shared_utility/umock_c_prod.h"
AzureIoTClient 17:fa1bba4c6053 43
Azure.IoT.Build 18:58b667752399 44 MOCKABLE_FUNCTION(,COMMAND_DECODER_HANDLE, CommandDecoder_Create, SCHEMA_MODEL_TYPE_HANDLE, modelHandle, ACTION_CALLBACK_FUNC, actionCallback, void*, actionCallbackContext, METHOD_CALLBACK_FUNC, methodCallback, void*, methodCallbackContext);
AzureIoTClient 17:fa1bba4c6053 45 MOCKABLE_FUNCTION(,EXECUTE_COMMAND_RESULT, CommandDecoder_ExecuteCommand, COMMAND_DECODER_HANDLE, handle, const char*, command);
AzureIoTClient 25:475bf9d91efb 46 MOCKABLE_FUNCTION(,METHODRETURN_HANDLE, CommandDecoder_ExecuteMethod, COMMAND_DECODER_HANDLE, handle, const char*, fullMethodName, const char*, methodPayload);
AzureIoTClient 17:fa1bba4c6053 47 MOCKABLE_FUNCTION(,void, CommandDecoder_Destroy, COMMAND_DECODER_HANDLE, commandDecoderHandle);
AzureIoTClient 17:fa1bba4c6053 48
AzureIoTClient 26:7c0e6f86d034 49 MOCKABLE_FUNCTION(, EXECUTE_COMMAND_RESULT, CommandDecoder_IngestDesiredProperties, void*, startAddress, COMMAND_DECODER_HANDLE, handle, const char*, jsonPayload, bool, parseDesiredNode);
AzureIoTClient 0:1f9b2707ec7d 50
AzureIoTClient 0:1f9b2707ec7d 51 #ifdef __cplusplus
AzureIoTClient 0:1f9b2707ec7d 52 }
AzureIoTClient 0:1f9b2707ec7d 53 #endif
AzureIoTClient 0:1f9b2707ec7d 54
AzureIoTClient 0:1f9b2707ec7d 55 #endif /* COMMAND_DECODER_H */