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
datapublisher.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 DATA_PUBLISHER_H 00005 #define DATA_PUBLISHER_H 00006 00007 #include "agenttypesystem.h" 00008 #include "schema.h" 00009 /* Normally we could include <stdbool> for cpp, but some toolchains are not well behaved and simply don't have it - ARM CC for example */ 00010 #include <stdbool.h> 00011 00012 #ifdef __cplusplus 00013 extern "C" { 00014 #endif 00015 00016 #define DATA_PUBLISHER_RESULT_VALUES \ 00017 DATA_PUBLISHER_OK, \ 00018 DATA_PUBLISHER_INVALID_ARG, \ 00019 DATA_PUBLISHER_MARSHALLER_ERROR, \ 00020 DATA_PUBLISHER_EMPTY_TRANSACTION, \ 00021 DATA_PUBLISHER_AGENT_DATA_TYPES_ERROR, \ 00022 DATA_PUBLISHER_SCHEMA_FAILED, \ 00023 DATA_PUBLISHER_BUFFER_STORAGE_ERROR, \ 00024 DATA_PUBLISHER_ERROR 00025 00026 DEFINE_ENUM(DATA_PUBLISHER_RESULT, DATA_PUBLISHER_RESULT_VALUES); 00027 00028 #include "azure_c_shared_utility/umock_c_prod.h" 00029 00030 typedef struct TRANSACTION_HANDLE_DATA_TAG* TRANSACTION_HANDLE; 00031 typedef struct REPORTED_PROPERTIES_TRANSACTION_HANDLE_DATA_TAG* REPORTED_PROPERTIES_TRANSACTION_HANDLE; 00032 typedef struct DATA_PUBLISHER_HANDLE_DATA_TAG* DATA_PUBLISHER_HANDLE; 00033 00034 MOCKABLE_FUNCTION(,DATA_PUBLISHER_HANDLE, DataPublisher_Create, SCHEMA_MODEL_TYPE_HANDLE, modelHandle, bool, includePropertyPath); 00035 MOCKABLE_FUNCTION(,void, DataPublisher_Destroy, DATA_PUBLISHER_HANDLE, dataPublisherHandle); 00036 00037 MOCKABLE_FUNCTION(,TRANSACTION_HANDLE, DataPublisher_StartTransaction, DATA_PUBLISHER_HANDLE, dataPublisherHandle); 00038 MOCKABLE_FUNCTION(,DATA_PUBLISHER_RESULT, DataPublisher_PublishTransacted, TRANSACTION_HANDLE, transactionHandle, const char*, propertyPath, const AGENT_DATA_TYPE*, data); 00039 MOCKABLE_FUNCTION(,DATA_PUBLISHER_RESULT, DataPublisher_EndTransaction, TRANSACTION_HANDLE, transactionHandle, unsigned char**, destination, size_t*, destinationSize); 00040 MOCKABLE_FUNCTION(,DATA_PUBLISHER_RESULT, DataPublisher_CancelTransaction, TRANSACTION_HANDLE, transactionHandle); 00041 MOCKABLE_FUNCTION(,void, DataPublisher_SetMaxBufferSize, size_t, value); 00042 MOCKABLE_FUNCTION(,size_t, DataPublisher_GetMaxBufferSize); 00043 00044 MOCKABLE_FUNCTION(, REPORTED_PROPERTIES_TRANSACTION_HANDLE, DataPublisher_CreateTransaction_ReportedProperties, DATA_PUBLISHER_HANDLE, dataPublisherHandle); 00045 MOCKABLE_FUNCTION(, DATA_PUBLISHER_RESULT, DataPublisher_PublishTransacted_ReportedProperty, REPORTED_PROPERTIES_TRANSACTION_HANDLE, transactionHandle, const char*, reportedPropertyPath, const AGENT_DATA_TYPE*, data); 00046 MOCKABLE_FUNCTION(, DATA_PUBLISHER_RESULT, DataPublisher_CommitTransaction_ReportedProperties, REPORTED_PROPERTIES_TRANSACTION_HANDLE, transactionHandle, unsigned char**, destination, size_t*, destinationSize); 00047 MOCKABLE_FUNCTION(, void, DataPublisher_DestroyTransaction_ReportedProperties, REPORTED_PROPERTIES_TRANSACTION_HANDLE, transactionHandle); 00048 00049 00050 #ifdef __cplusplus 00051 } 00052 #endif 00053 00054 #endif /* DATA_PUBLISHER_H */
Generated on Tue Jul 12 2022 19:56:37 by
