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.
serializer/inc/datamarshaller.h
- Committer:
- XinZhangMS
- Date:
- 2018-08-23
- Revision:
- 0:f7f1f0d76dd6
File content as of revision 0:f7f1f0d76dd6:
// Copyright (c) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. #ifndef DATAMARSHALLER_H #define DATAMARSHALLER_H #include <stdbool.h> #include "agenttypesystem.h" #include "schema.h" #include "azure_c_shared_utility/macro_utils.h" #include "azure_c_shared_utility/vector.h" #ifdef __cplusplus extern "C" { #endif /*Codes_SRS_DATA_MARSHALLER_99_002:[ DataMarshaller shall have the following interface]*/ #define DATA_MARSHALLER_RESULT_VALUES \ DATA_MARSHALLER_OK, \ DATA_MARSHALLER_INVALID_ARG, \ DATA_MARSHALLER_NO_DEVICE_IDENTITY, \ DATA_MARSHALLER_SCHEMA_FAILED, \ DATA_MARSHALLER_INVALID_MODEL_PROPERTY, \ DATA_MARSHALLER_JSON_ENCODER_ERROR, \ DATA_MARSHALLER_ERROR, \ DATA_MARSHALLER_AGENT_DATA_TYPES_ERROR, \ DATA_MARSHALLER_MULTITREE_ERROR, \ DATA_MARSHALLER_ONLY_ONE_VALUE_ALLOWED \ DEFINE_ENUM(DATA_MARSHALLER_RESULT, DATA_MARSHALLER_RESULT_VALUES); typedef struct DATA_MARSHALLER_VALUE_TAG { const char* PropertyPath; const AGENT_DATA_TYPE* Value; } DATA_MARSHALLER_VALUE; typedef struct DATA_MARSHALLER_HANDLE_DATA_TAG* DATA_MARSHALLER_HANDLE; #include "azure_c_shared_utility/umock_c_prod.h" MOCKABLE_FUNCTION(,DATA_MARSHALLER_HANDLE, DataMarshaller_Create, SCHEMA_MODEL_TYPE_HANDLE, modelHandle, bool, includePropertyPath); MOCKABLE_FUNCTION(,void, DataMarshaller_Destroy, DATA_MARSHALLER_HANDLE, dataMarshallerHandle); MOCKABLE_FUNCTION(,DATA_MARSHALLER_RESULT, DataMarshaller_SendData, DATA_MARSHALLER_HANDLE, dataMarshallerHandle, size_t, valueCount, const DATA_MARSHALLER_VALUE*, values, unsigned char**, destination, size_t*, destinationSize); MOCKABLE_FUNCTION(, DATA_MARSHALLER_RESULT, DataMarshaller_SendData_ReportedProperties, DATA_MARSHALLER_HANDLE, dataMarshallerHandle, VECTOR_HANDLE, values, unsigned char**, destination, size_t*, destinationSize); #ifdef __cplusplus } #endif #endif /* DATAMARSHALLER_H */