Xin Zhang / azure-iot-c-sdk-f767zi

Dependents:   samplemqtt

Committer:
XinZhangMS
Date:
Thu Aug 23 06:52:14 2018 +0000
Revision:
0:f7f1f0d76dd6
azure-c-sdk for mbed os supporting NUCLEO_F767ZI

Who changed what in which revision?

UserRevisionLine numberNew contents of line
XinZhangMS 0:f7f1f0d76dd6 1 // Copyright (c) Microsoft. All rights reserved.
XinZhangMS 0:f7f1f0d76dd6 2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
XinZhangMS 0:f7f1f0d76dd6 3
XinZhangMS 0:f7f1f0d76dd6 4 #ifndef IOTDEVICE_H
XinZhangMS 0:f7f1f0d76dd6 5 #define IOTDEVICE_H
XinZhangMS 0:f7f1f0d76dd6 6
XinZhangMS 0:f7f1f0d76dd6 7 #include <stdbool.h>
XinZhangMS 0:f7f1f0d76dd6 8 #include "azure_c_shared_utility/macro_utils.h"
XinZhangMS 0:f7f1f0d76dd6 9 #include "schema.h"
XinZhangMS 0:f7f1f0d76dd6 10 #include "datapublisher.h"
XinZhangMS 0:f7f1f0d76dd6 11 #include "commanddecoder.h"
XinZhangMS 0:f7f1f0d76dd6 12 #include "methodreturn.h"
XinZhangMS 0:f7f1f0d76dd6 13
XinZhangMS 0:f7f1f0d76dd6 14 #ifdef __cplusplus
XinZhangMS 0:f7f1f0d76dd6 15 #include <cstddef>
XinZhangMS 0:f7f1f0d76dd6 16 extern "C" {
XinZhangMS 0:f7f1f0d76dd6 17 #else
XinZhangMS 0:f7f1f0d76dd6 18 #include <stddef.h>
XinZhangMS 0:f7f1f0d76dd6 19 #endif
XinZhangMS 0:f7f1f0d76dd6 20
XinZhangMS 0:f7f1f0d76dd6 21 #define DEVICE_RESULT_VALUES \
XinZhangMS 0:f7f1f0d76dd6 22 DEVICE_OK, \
XinZhangMS 0:f7f1f0d76dd6 23 DEVICE_INVALID_ARG, \
XinZhangMS 0:f7f1f0d76dd6 24 DEVICE_DATA_PUBLISHER_FAILED, \
XinZhangMS 0:f7f1f0d76dd6 25 DEVICE_COMMAND_DECODER_FAILED, \
XinZhangMS 0:f7f1f0d76dd6 26 DEVICE_ERROR
XinZhangMS 0:f7f1f0d76dd6 27
XinZhangMS 0:f7f1f0d76dd6 28 DEFINE_ENUM(DEVICE_RESULT, DEVICE_RESULT_VALUES)
XinZhangMS 0:f7f1f0d76dd6 29
XinZhangMS 0:f7f1f0d76dd6 30 #include "azure_c_shared_utility/umock_c_prod.h"
XinZhangMS 0:f7f1f0d76dd6 31
XinZhangMS 0:f7f1f0d76dd6 32 typedef struct DEVICE_HANDLE_DATA_TAG* DEVICE_HANDLE;
XinZhangMS 0:f7f1f0d76dd6 33 typedef EXECUTE_COMMAND_RESULT (*pfDeviceActionCallback)(DEVICE_HANDLE deviceHandle, void* callbackUserContext, const char* relativeActionPath, const char* actionName, size_t argCount, const AGENT_DATA_TYPE* args);
XinZhangMS 0:f7f1f0d76dd6 34 typedef METHODRETURN_HANDLE (*pfDeviceMethodCallback)(DEVICE_HANDLE deviceHandle, void* callbackUserContext, const char* relativeMethodPath, const char* methodName, size_t argCount, const AGENT_DATA_TYPE* args);
XinZhangMS 0:f7f1f0d76dd6 35
XinZhangMS 0:f7f1f0d76dd6 36 MOCKABLE_FUNCTION(,DEVICE_RESULT, Device_Create, SCHEMA_MODEL_TYPE_HANDLE, modelHandle, pfDeviceActionCallback, deviceActionCallback, void*, callbackUserContext, pfDeviceMethodCallback, methodCallback, void*, methodCallbackContext, bool, includePropertyPath, DEVICE_HANDLE*, deviceHandle);
XinZhangMS 0:f7f1f0d76dd6 37 MOCKABLE_FUNCTION(, void, Device_Destroy, DEVICE_HANDLE, deviceHandle);
XinZhangMS 0:f7f1f0d76dd6 38
XinZhangMS 0:f7f1f0d76dd6 39 MOCKABLE_FUNCTION(,TRANSACTION_HANDLE, Device_StartTransaction, DEVICE_HANDLE, deviceHandle);
XinZhangMS 0:f7f1f0d76dd6 40 MOCKABLE_FUNCTION(,DEVICE_RESULT, Device_PublishTransacted, TRANSACTION_HANDLE, transactionHandle, const char*, propertyPath, const AGENT_DATA_TYPE*, data);
XinZhangMS 0:f7f1f0d76dd6 41 MOCKABLE_FUNCTION(,DEVICE_RESULT, Device_EndTransaction, TRANSACTION_HANDLE, transactionHandle, unsigned char**, destination, size_t*, destinationSize);
XinZhangMS 0:f7f1f0d76dd6 42 MOCKABLE_FUNCTION(,DEVICE_RESULT, Device_CancelTransaction, TRANSACTION_HANDLE, transactionHandle);
XinZhangMS 0:f7f1f0d76dd6 43
XinZhangMS 0:f7f1f0d76dd6 44 MOCKABLE_FUNCTION(, REPORTED_PROPERTIES_TRANSACTION_HANDLE, Device_CreateTransaction_ReportedProperties, DEVICE_HANDLE, deviceHandle);
XinZhangMS 0:f7f1f0d76dd6 45 MOCKABLE_FUNCTION(, DEVICE_RESULT, Device_PublishTransacted_ReportedProperty, REPORTED_PROPERTIES_TRANSACTION_HANDLE, transactionHandle, const char*, reportedPropertyPath, const AGENT_DATA_TYPE*, data);
XinZhangMS 0:f7f1f0d76dd6 46 MOCKABLE_FUNCTION(, DEVICE_RESULT, Device_CommitTransaction_ReportedProperties, REPORTED_PROPERTIES_TRANSACTION_HANDLE, transactionHandle, unsigned char**, destination, size_t*, destinationSize);
XinZhangMS 0:f7f1f0d76dd6 47 MOCKABLE_FUNCTION(, void, Device_DestroyTransaction_ReportedProperties, REPORTED_PROPERTIES_TRANSACTION_HANDLE, transactionHandle);
XinZhangMS 0:f7f1f0d76dd6 48
XinZhangMS 0:f7f1f0d76dd6 49 MOCKABLE_FUNCTION(, EXECUTE_COMMAND_RESULT, Device_ExecuteCommand, DEVICE_HANDLE, deviceHandle, const char*, command);
XinZhangMS 0:f7f1f0d76dd6 50 MOCKABLE_FUNCTION(, METHODRETURN_HANDLE, Device_ExecuteMethod, DEVICE_HANDLE, deviceHandle, const char*, methodName, const char*, methodPayload);
XinZhangMS 0:f7f1f0d76dd6 51
XinZhangMS 0:f7f1f0d76dd6 52 MOCKABLE_FUNCTION(, DEVICE_RESULT, Device_IngestDesiredProperties, void*, startAddress, DEVICE_HANDLE, deviceHandle, const char*, jsonPayload, bool, parseDesiredNode);
XinZhangMS 0:f7f1f0d76dd6 53 #ifdef __cplusplus
XinZhangMS 0:f7f1f0d76dd6 54 }
XinZhangMS 0:f7f1f0d76dd6 55 #endif
XinZhangMS 0:f7f1f0d76dd6 56
XinZhangMS 0:f7f1f0d76dd6 57 #endif /* IOTDEVICE_H */
XinZhangMS 0:f7f1f0d76dd6 58