source: azure_iot_hub_f767zi/trunk/azure_iot_sdk/serializer/inc/datapublisher.h@ 457

Last change on this file since 457 was 457, checked in by coas-nagasima, 4 years ago

ファイルを追加

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-chdr;charset=UTF-8
File size: 2.8 KB
Line 
1// Copyright (c) Microsoft. All rights reserved.
2// Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
4#ifndef DATA_PUBLISHER_H
5#define DATA_PUBLISHER_H
6
7#include "agenttypesystem.h"
8#include "schema.h"
9/* Normally we could include <stdbool> for cpp, but some toolchains are not well behaved and simply don't have it - ARM CC for example */
10#include <stdbool.h>
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16#define DATA_PUBLISHER_RESULT_VALUES \
17DATA_PUBLISHER_OK, \
18DATA_PUBLISHER_INVALID_ARG, \
19DATA_PUBLISHER_MARSHALLER_ERROR, \
20DATA_PUBLISHER_EMPTY_TRANSACTION, \
21DATA_PUBLISHER_AGENT_DATA_TYPES_ERROR, \
22DATA_PUBLISHER_SCHEMA_FAILED, \
23DATA_PUBLISHER_BUFFER_STORAGE_ERROR, \
24DATA_PUBLISHER_ERROR
25
26MU_DEFINE_ENUM_WITHOUT_INVALID(DATA_PUBLISHER_RESULT, DATA_PUBLISHER_RESULT_VALUES);
27
28#include "umock_c/umock_c_prod.h"
29
30typedef struct TRANSACTION_HANDLE_DATA_TAG* TRANSACTION_HANDLE;
31typedef struct REPORTED_PROPERTIES_TRANSACTION_HANDLE_DATA_TAG* REPORTED_PROPERTIES_TRANSACTION_HANDLE;
32typedef struct DATA_PUBLISHER_HANDLE_DATA_TAG* DATA_PUBLISHER_HANDLE;
33
34MOCKABLE_FUNCTION(,DATA_PUBLISHER_HANDLE, DataPublisher_Create, SCHEMA_MODEL_TYPE_HANDLE, modelHandle, bool, includePropertyPath);
35MOCKABLE_FUNCTION(,void, DataPublisher_Destroy, DATA_PUBLISHER_HANDLE, dataPublisherHandle);
36
37MOCKABLE_FUNCTION(,TRANSACTION_HANDLE, DataPublisher_StartTransaction, DATA_PUBLISHER_HANDLE, dataPublisherHandle);
38MOCKABLE_FUNCTION(,DATA_PUBLISHER_RESULT, DataPublisher_PublishTransacted, TRANSACTION_HANDLE, transactionHandle, const char*, propertyPath, const AGENT_DATA_TYPE*, data);
39MOCKABLE_FUNCTION(,DATA_PUBLISHER_RESULT, DataPublisher_EndTransaction, TRANSACTION_HANDLE, transactionHandle, unsigned char**, destination, size_t*, destinationSize);
40MOCKABLE_FUNCTION(,DATA_PUBLISHER_RESULT, DataPublisher_CancelTransaction, TRANSACTION_HANDLE, transactionHandle);
41MOCKABLE_FUNCTION(,void, DataPublisher_SetMaxBufferSize, size_t, value);
42MOCKABLE_FUNCTION(,size_t, DataPublisher_GetMaxBufferSize);
43
44MOCKABLE_FUNCTION(, REPORTED_PROPERTIES_TRANSACTION_HANDLE, DataPublisher_CreateTransaction_ReportedProperties, DATA_PUBLISHER_HANDLE, dataPublisherHandle);
45MOCKABLE_FUNCTION(, DATA_PUBLISHER_RESULT, DataPublisher_PublishTransacted_ReportedProperty, REPORTED_PROPERTIES_TRANSACTION_HANDLE, transactionHandle, const char*, reportedPropertyPath, const AGENT_DATA_TYPE*, data);
46MOCKABLE_FUNCTION(, DATA_PUBLISHER_RESULT, DataPublisher_CommitTransaction_ReportedProperties, REPORTED_PROPERTIES_TRANSACTION_HANDLE, transactionHandle, unsigned char**, destination, size_t*, destinationSize);
47MOCKABLE_FUNCTION(, void, DataPublisher_DestroyTransaction_ReportedProperties, REPORTED_PROPERTIES_TRANSACTION_HANDLE, transactionHandle);
48
49
50#ifdef __cplusplus
51}
52#endif
53
54#endif /* DATA_PUBLISHER_H */
Note: See TracBrowser for help on using the repository browser.