Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: sht15_remote_monitoring f767zi_mqtt remote_monitoring simplesample_amqp ... more
iotdevice.h
00001 // Copyright (c) Microsoft. All rights reserved. 00002 // Licensed under the MIT license. See LICENSE file in the project root for full license information. 00003 00004 #ifndef IOTDEVICE_H 00005 #define IOTDEVICE_H 00006 00007 #include <stdbool.h> 00008 #include "azure_c_shared_utility/macro_utils.h" 00009 #include "schema.h" 00010 #include "datapublisher.h" 00011 #include "commanddecoder.h" 00012 #include "methodreturn.h" 00013 00014 #ifdef __cplusplus 00015 #include <cstddef> 00016 extern "C" { 00017 #else 00018 #include <stddef.h> 00019 #endif 00020 00021 #define DEVICE_RESULT_VALUES \ 00022 DEVICE_OK, \ 00023 DEVICE_INVALID_ARG, \ 00024 DEVICE_DATA_PUBLISHER_FAILED, \ 00025 DEVICE_COMMAND_DECODER_FAILED, \ 00026 DEVICE_ERROR 00027 00028 DEFINE_ENUM(DEVICE_RESULT, DEVICE_RESULT_VALUES) 00029 00030 #include "azure_c_shared_utility/umock_c_prod.h" 00031 00032 typedef struct DEVICE_HANDLE_DATA_TAG* DEVICE_HANDLE; 00033 typedef EXECUTE_COMMAND_RESULT (*pfDeviceActionCallback)(DEVICE_HANDLE deviceHandle, void* callbackUserContext, const char* relativeActionPath, const char* actionName, size_t argCount, const AGENT_DATA_TYPE* args); 00034 typedef METHODRETURN_HANDLE (*pfDeviceMethodCallback)(DEVICE_HANDLE deviceHandle, void* callbackUserContext, const char* relativeMethodPath, const char* methodName, size_t argCount, const AGENT_DATA_TYPE* args); 00035 00036 MOCKABLE_FUNCTION(,DEVICE_RESULT, Device_Create, SCHEMA_MODEL_TYPE_HANDLE, modelHandle, pfDeviceActionCallback, deviceActionCallback, void*, callbackUserContext, pfDeviceMethodCallback, methodCallback, void*, methodCallbackContext, bool, includePropertyPath, DEVICE_HANDLE*, deviceHandle); 00037 MOCKABLE_FUNCTION(, void, Device_Destroy, DEVICE_HANDLE, deviceHandle); 00038 00039 MOCKABLE_FUNCTION(,TRANSACTION_HANDLE, Device_StartTransaction, DEVICE_HANDLE, deviceHandle); 00040 MOCKABLE_FUNCTION(,DEVICE_RESULT, Device_PublishTransacted, TRANSACTION_HANDLE, transactionHandle, const char*, propertyPath, const AGENT_DATA_TYPE*, data); 00041 MOCKABLE_FUNCTION(,DEVICE_RESULT, Device_EndTransaction, TRANSACTION_HANDLE, transactionHandle, unsigned char**, destination, size_t*, destinationSize); 00042 MOCKABLE_FUNCTION(,DEVICE_RESULT, Device_CancelTransaction, TRANSACTION_HANDLE, transactionHandle); 00043 00044 MOCKABLE_FUNCTION(, REPORTED_PROPERTIES_TRANSACTION_HANDLE, Device_CreateTransaction_ReportedProperties, DEVICE_HANDLE, deviceHandle); 00045 MOCKABLE_FUNCTION(, DEVICE_RESULT, Device_PublishTransacted_ReportedProperty, REPORTED_PROPERTIES_TRANSACTION_HANDLE, transactionHandle, const char*, reportedPropertyPath, const AGENT_DATA_TYPE*, data); 00046 MOCKABLE_FUNCTION(, DEVICE_RESULT, Device_CommitTransaction_ReportedProperties, REPORTED_PROPERTIES_TRANSACTION_HANDLE, transactionHandle, unsigned char**, destination, size_t*, destinationSize); 00047 MOCKABLE_FUNCTION(, void, Device_DestroyTransaction_ReportedProperties, REPORTED_PROPERTIES_TRANSACTION_HANDLE, transactionHandle); 00048 00049 MOCKABLE_FUNCTION(, EXECUTE_COMMAND_RESULT, Device_ExecuteCommand, DEVICE_HANDLE, deviceHandle, const char*, command); 00050 MOCKABLE_FUNCTION(, METHODRETURN_HANDLE, Device_ExecuteMethod, DEVICE_HANDLE, deviceHandle, const char*, methodName, const char*, methodPayload); 00051 00052 MOCKABLE_FUNCTION(, DEVICE_RESULT, Device_IngestDesiredProperties, void*, startAddress, DEVICE_HANDLE, deviceHandle, const char*, jsonPayload, bool, parseDesiredNode); 00053 #ifdef __cplusplus 00054 } 00055 #endif 00056 00057 #endif /* IOTDEVICE_H */ 00058
Generated on Tue Jul 12 2022 19:56:37 by
1.7.2