source: azure_iot_hub_f767zi/trunk/azure_iot_sdk/serializer/inc/datamarshaller.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.1 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 DATAMARSHALLER_H
5#define DATAMARSHALLER_H
6
7#include <stdbool.h>
8#include "agenttypesystem.h"
9#include "schema.h"
10#include "azure_macro_utils/macro_utils.h"
11#include "azure_c_shared_utility/vector.h"
12#ifdef __cplusplus
13extern "C"
14{
15#endif
16
17/*Codes_SRS_DATA_MARSHALLER_99_002:[ DataMarshaller shall have the following interface]*/
18#define DATA_MARSHALLER_RESULT_VALUES \
19DATA_MARSHALLER_OK, \
20DATA_MARSHALLER_INVALID_ARG, \
21DATA_MARSHALLER_NO_DEVICE_IDENTITY, \
22DATA_MARSHALLER_SCHEMA_FAILED, \
23DATA_MARSHALLER_INVALID_MODEL_PROPERTY, \
24DATA_MARSHALLER_JSON_ENCODER_ERROR, \
25DATA_MARSHALLER_ERROR, \
26DATA_MARSHALLER_AGENT_DATA_TYPES_ERROR, \
27DATA_MARSHALLER_MULTITREE_ERROR, \
28DATA_MARSHALLER_ONLY_ONE_VALUE_ALLOWED \
29
30MU_DEFINE_ENUM_WITHOUT_INVALID(DATA_MARSHALLER_RESULT, DATA_MARSHALLER_RESULT_VALUES);
31
32typedef struct DATA_MARSHALLER_VALUE_TAG
33{
34 const char* PropertyPath;
35 const AGENT_DATA_TYPE* Value;
36} DATA_MARSHALLER_VALUE;
37
38typedef struct DATA_MARSHALLER_HANDLE_DATA_TAG* DATA_MARSHALLER_HANDLE;
39#include "umock_c/umock_c_prod.h"
40
41MOCKABLE_FUNCTION(,DATA_MARSHALLER_HANDLE, DataMarshaller_Create, SCHEMA_MODEL_TYPE_HANDLE, modelHandle, bool, includePropertyPath);
42MOCKABLE_FUNCTION(,void, DataMarshaller_Destroy, DATA_MARSHALLER_HANDLE, dataMarshallerHandle);
43MOCKABLE_FUNCTION(,DATA_MARSHALLER_RESULT, DataMarshaller_SendData, DATA_MARSHALLER_HANDLE, dataMarshallerHandle, size_t, valueCount, const DATA_MARSHALLER_VALUE*, values, unsigned char**, destination, size_t*, destinationSize);
44
45MOCKABLE_FUNCTION(, DATA_MARSHALLER_RESULT, DataMarshaller_SendData_ReportedProperties, DATA_MARSHALLER_HANDLE, dataMarshallerHandle, VECTOR_HANDLE, values, unsigned char**, destination, size_t*, destinationSize);
46
47#ifdef __cplusplus
48}
49#endif
50
51#endif /* DATAMARSHALLER_H */
Note: See TracBrowser for help on using the repository browser.