Xin Zhang / azure-iot-c-sdk-f767zi

Dependents:   samplemqtt

Committer:
XinZhangMS
Date:
Thu Aug 23 06:52:14 2018 +0000
Revision:
0:f7f1f0d76dd6
azure-c-sdk for mbed os supporting NUCLEO_F767ZI

Who changed what in which revision?

UserRevisionLine numberNew contents of line
XinZhangMS 0:f7f1f0d76dd6 1 // Copyright (c) Microsoft. All rights reserved.
XinZhangMS 0:f7f1f0d76dd6 2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
XinZhangMS 0:f7f1f0d76dd6 3
XinZhangMS 0:f7f1f0d76dd6 4 #ifndef AMQPVALUE_H
XinZhangMS 0:f7f1f0d76dd6 5 #define AMQPVALUE_H
XinZhangMS 0:f7f1f0d76dd6 6
XinZhangMS 0:f7f1f0d76dd6 7 #include "azure_uamqp_c/amqp_types.h"
XinZhangMS 0:f7f1f0d76dd6 8
XinZhangMS 0:f7f1f0d76dd6 9 #ifdef __cplusplus
XinZhangMS 0:f7f1f0d76dd6 10 #include <cstddef>
XinZhangMS 0:f7f1f0d76dd6 11 #include <cstdint>
XinZhangMS 0:f7f1f0d76dd6 12 extern "C" {
XinZhangMS 0:f7f1f0d76dd6 13 #else
XinZhangMS 0:f7f1f0d76dd6 14 #include <stddef.h>
XinZhangMS 0:f7f1f0d76dd6 15 #include <stdint.h>
XinZhangMS 0:f7f1f0d76dd6 16 #include <stdbool.h>
XinZhangMS 0:f7f1f0d76dd6 17 #endif /* __cplusplus */
XinZhangMS 0:f7f1f0d76dd6 18
XinZhangMS 0:f7f1f0d76dd6 19 #include "azure_c_shared_utility/umock_c_prod.h"
XinZhangMS 0:f7f1f0d76dd6 20
XinZhangMS 0:f7f1f0d76dd6 21 typedef struct AMQP_VALUE_DATA_TAG* AMQP_VALUE;
XinZhangMS 0:f7f1f0d76dd6 22 typedef unsigned char uuid[16];
XinZhangMS 0:f7f1f0d76dd6 23 typedef int64_t timestamp;
XinZhangMS 0:f7f1f0d76dd6 24
XinZhangMS 0:f7f1f0d76dd6 25 typedef struct amqp_binary_TAG
XinZhangMS 0:f7f1f0d76dd6 26 {
XinZhangMS 0:f7f1f0d76dd6 27 const void* bytes;
XinZhangMS 0:f7f1f0d76dd6 28 uint32_t length;
XinZhangMS 0:f7f1f0d76dd6 29 } amqp_binary;
XinZhangMS 0:f7f1f0d76dd6 30
XinZhangMS 0:f7f1f0d76dd6 31 /* type handling */
XinZhangMS 0:f7f1f0d76dd6 32 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_null);
XinZhangMS 0:f7f1f0d76dd6 33 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_boolean, bool, bool_value);
XinZhangMS 0:f7f1f0d76dd6 34 MOCKABLE_FUNCTION(, int, amqpvalue_get_boolean, AMQP_VALUE, value, bool*, bool_value);
XinZhangMS 0:f7f1f0d76dd6 35 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_ubyte, unsigned char, ubyte_value);
XinZhangMS 0:f7f1f0d76dd6 36 MOCKABLE_FUNCTION(, int, amqpvalue_get_ubyte, AMQP_VALUE, value, unsigned char*, ubyte_value);
XinZhangMS 0:f7f1f0d76dd6 37 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_ushort, uint16_t, ushort_value);
XinZhangMS 0:f7f1f0d76dd6 38 MOCKABLE_FUNCTION(, int, amqpvalue_get_ushort, AMQP_VALUE, value, uint16_t*, ushort_value);
XinZhangMS 0:f7f1f0d76dd6 39 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_uint, uint32_t, uint_value);
XinZhangMS 0:f7f1f0d76dd6 40 MOCKABLE_FUNCTION(, int, amqpvalue_get_uint, AMQP_VALUE, value, uint32_t*, uint_value);
XinZhangMS 0:f7f1f0d76dd6 41 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_ulong, uint64_t, ulong_value);
XinZhangMS 0:f7f1f0d76dd6 42 MOCKABLE_FUNCTION(, int, amqpvalue_get_ulong, AMQP_VALUE, value, uint64_t*, ulong_value);
XinZhangMS 0:f7f1f0d76dd6 43 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_byte, char, byte_value);
XinZhangMS 0:f7f1f0d76dd6 44 MOCKABLE_FUNCTION(, int, amqpvalue_get_byte, AMQP_VALUE, value, char*, byte_value);
XinZhangMS 0:f7f1f0d76dd6 45 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_short, int16_t, short_value);
XinZhangMS 0:f7f1f0d76dd6 46 MOCKABLE_FUNCTION(, int, amqpvalue_get_short, AMQP_VALUE, value, int16_t*, short_value);
XinZhangMS 0:f7f1f0d76dd6 47 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_int, int32_t, int_value);
XinZhangMS 0:f7f1f0d76dd6 48 MOCKABLE_FUNCTION(, int, amqpvalue_get_int, AMQP_VALUE, value, int32_t*, int_value);
XinZhangMS 0:f7f1f0d76dd6 49 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_long, int64_t, long_value);
XinZhangMS 0:f7f1f0d76dd6 50 MOCKABLE_FUNCTION(, int, amqpvalue_get_long, AMQP_VALUE, value, int64_t*, long_value);
XinZhangMS 0:f7f1f0d76dd6 51 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_float, float, float_value);
XinZhangMS 0:f7f1f0d76dd6 52 MOCKABLE_FUNCTION(, int, amqpvalue_get_float, AMQP_VALUE, value, float*, float_value);
XinZhangMS 0:f7f1f0d76dd6 53 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_double, double, double_value);
XinZhangMS 0:f7f1f0d76dd6 54 MOCKABLE_FUNCTION(, int, amqpvalue_get_double, AMQP_VALUE, value, double*, double_value);
XinZhangMS 0:f7f1f0d76dd6 55 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_char, uint32_t, char_value);
XinZhangMS 0:f7f1f0d76dd6 56 MOCKABLE_FUNCTION(, int, amqpvalue_get_char, AMQP_VALUE, value, uint32_t*, char_value);
XinZhangMS 0:f7f1f0d76dd6 57 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_timestamp, int64_t, timestamp_value);
XinZhangMS 0:f7f1f0d76dd6 58 MOCKABLE_FUNCTION(, int, amqpvalue_get_timestamp, AMQP_VALUE, value, int64_t*, timestamp_value);
XinZhangMS 0:f7f1f0d76dd6 59 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_uuid, uuid, uuid_value);
XinZhangMS 0:f7f1f0d76dd6 60 MOCKABLE_FUNCTION(, int, amqpvalue_get_uuid, AMQP_VALUE, value, uuid*, uuid_value);
XinZhangMS 0:f7f1f0d76dd6 61 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_binary, amqp_binary, binary_value);
XinZhangMS 0:f7f1f0d76dd6 62 MOCKABLE_FUNCTION(, int, amqpvalue_get_binary, AMQP_VALUE, value, amqp_binary*, binary_value);
XinZhangMS 0:f7f1f0d76dd6 63 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_string, const char*, string_value);
XinZhangMS 0:f7f1f0d76dd6 64 MOCKABLE_FUNCTION(, int, amqpvalue_get_string, AMQP_VALUE, value, const char**, string_value);
XinZhangMS 0:f7f1f0d76dd6 65 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_symbol, const char*, symbol_value);
XinZhangMS 0:f7f1f0d76dd6 66 MOCKABLE_FUNCTION(, int, amqpvalue_get_symbol, AMQP_VALUE, value, const char**, symbol_value);
XinZhangMS 0:f7f1f0d76dd6 67 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_list);
XinZhangMS 0:f7f1f0d76dd6 68 MOCKABLE_FUNCTION(, int, amqpvalue_set_list_item_count, AMQP_VALUE, list, uint32_t, count);
XinZhangMS 0:f7f1f0d76dd6 69 MOCKABLE_FUNCTION(, int, amqpvalue_get_list_item_count, AMQP_VALUE, list, uint32_t*, count);
XinZhangMS 0:f7f1f0d76dd6 70 MOCKABLE_FUNCTION(, int, amqpvalue_set_list_item, AMQP_VALUE, list, uint32_t, index, AMQP_VALUE, list_item_value);
XinZhangMS 0:f7f1f0d76dd6 71 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_get_list_item, AMQP_VALUE, list, size_t, index);
XinZhangMS 0:f7f1f0d76dd6 72 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_map);
XinZhangMS 0:f7f1f0d76dd6 73 MOCKABLE_FUNCTION(, int, amqpvalue_set_map_value, AMQP_VALUE, map, AMQP_VALUE, key, AMQP_VALUE, value);
XinZhangMS 0:f7f1f0d76dd6 74 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_get_map_value, AMQP_VALUE, map, AMQP_VALUE, key);
XinZhangMS 0:f7f1f0d76dd6 75 MOCKABLE_FUNCTION(, int, amqpvalue_get_map_pair_count, AMQP_VALUE, map, uint32_t*, pair_count);
XinZhangMS 0:f7f1f0d76dd6 76 MOCKABLE_FUNCTION(, int, amqpvalue_get_map_key_value_pair, AMQP_VALUE, map, uint32_t, index, AMQP_VALUE*, key, AMQP_VALUE*, value);
XinZhangMS 0:f7f1f0d76dd6 77 MOCKABLE_FUNCTION(, int, amqpvalue_get_map, AMQP_VALUE, from_value, AMQP_VALUE*, map);
XinZhangMS 0:f7f1f0d76dd6 78 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_array);
XinZhangMS 0:f7f1f0d76dd6 79 MOCKABLE_FUNCTION(, int, amqpvalue_add_array_item, AMQP_VALUE, value, AMQP_VALUE, array_item_value);
XinZhangMS 0:f7f1f0d76dd6 80 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_get_array_item, AMQP_VALUE, value, uint32_t, index);
XinZhangMS 0:f7f1f0d76dd6 81 MOCKABLE_FUNCTION(, int, amqpvalue_get_array_item_count, AMQP_VALUE, value, uint32_t*, count);
XinZhangMS 0:f7f1f0d76dd6 82 MOCKABLE_FUNCTION(, int, amqpvalue_get_array, AMQP_VALUE, value, AMQP_VALUE*, array_value);
XinZhangMS 0:f7f1f0d76dd6 83 MOCKABLE_FUNCTION(, AMQP_TYPE, amqpvalue_get_type, AMQP_VALUE, value);
XinZhangMS 0:f7f1f0d76dd6 84
XinZhangMS 0:f7f1f0d76dd6 85 MOCKABLE_FUNCTION(, void, amqpvalue_destroy, AMQP_VALUE, value);
XinZhangMS 0:f7f1f0d76dd6 86
XinZhangMS 0:f7f1f0d76dd6 87 MOCKABLE_FUNCTION(, bool, amqpvalue_are_equal, AMQP_VALUE, value1, AMQP_VALUE, value2);
XinZhangMS 0:f7f1f0d76dd6 88 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_clone, AMQP_VALUE, value);
XinZhangMS 0:f7f1f0d76dd6 89
XinZhangMS 0:f7f1f0d76dd6 90 /* encoding */
XinZhangMS 0:f7f1f0d76dd6 91 typedef int (*AMQPVALUE_ENCODER_OUTPUT)(void* context, const unsigned char* bytes, size_t length);
XinZhangMS 0:f7f1f0d76dd6 92
XinZhangMS 0:f7f1f0d76dd6 93 MOCKABLE_FUNCTION(, int, amqpvalue_encode, AMQP_VALUE, value, AMQPVALUE_ENCODER_OUTPUT, encoder_output, void*, context);
XinZhangMS 0:f7f1f0d76dd6 94 MOCKABLE_FUNCTION(, int, amqpvalue_get_encoded_size, AMQP_VALUE, value, size_t*, encoded_size);
XinZhangMS 0:f7f1f0d76dd6 95
XinZhangMS 0:f7f1f0d76dd6 96 /* decoding */
XinZhangMS 0:f7f1f0d76dd6 97 typedef struct AMQPVALUE_DECODER_HANDLE_DATA_TAG* AMQPVALUE_DECODER_HANDLE;
XinZhangMS 0:f7f1f0d76dd6 98 typedef void(*ON_VALUE_DECODED)(void* context, AMQP_VALUE decoded_value);
XinZhangMS 0:f7f1f0d76dd6 99
XinZhangMS 0:f7f1f0d76dd6 100 MOCKABLE_FUNCTION(, AMQPVALUE_DECODER_HANDLE, amqpvalue_decoder_create, ON_VALUE_DECODED, on_value_decoded, void*, callback_context);
XinZhangMS 0:f7f1f0d76dd6 101 MOCKABLE_FUNCTION(, void, amqpvalue_decoder_destroy, AMQPVALUE_DECODER_HANDLE, handle);
XinZhangMS 0:f7f1f0d76dd6 102 MOCKABLE_FUNCTION(, int, amqpvalue_decode_bytes, AMQPVALUE_DECODER_HANDLE, handle, const unsigned char*, buffer, size_t, size);
XinZhangMS 0:f7f1f0d76dd6 103
XinZhangMS 0:f7f1f0d76dd6 104 /* misc for now, not spec'd */
XinZhangMS 0:f7f1f0d76dd6 105 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_get_inplace_descriptor, AMQP_VALUE, value);
XinZhangMS 0:f7f1f0d76dd6 106 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_get_inplace_described_value, AMQP_VALUE, value);
XinZhangMS 0:f7f1f0d76dd6 107
XinZhangMS 0:f7f1f0d76dd6 108 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_composite, AMQP_VALUE, descriptor, uint32_t, list_size);
XinZhangMS 0:f7f1f0d76dd6 109 MOCKABLE_FUNCTION(, int, amqpvalue_set_composite_item, AMQP_VALUE, value, uint32_t, index, AMQP_VALUE, item_value);
XinZhangMS 0:f7f1f0d76dd6 110 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_get_composite_item, AMQP_VALUE, value, size_t, index);
XinZhangMS 0:f7f1f0d76dd6 111 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_described, AMQP_VALUE, descriptor, AMQP_VALUE, value);
XinZhangMS 0:f7f1f0d76dd6 112 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_create_composite_with_ulong_descriptor, uint64_t, descriptor);
XinZhangMS 0:f7f1f0d76dd6 113 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_get_list_item_in_place, AMQP_VALUE, value, size_t, index);
XinZhangMS 0:f7f1f0d76dd6 114 MOCKABLE_FUNCTION(, AMQP_VALUE, amqpvalue_get_composite_item_in_place, AMQP_VALUE, value, size_t, index);
XinZhangMS 0:f7f1f0d76dd6 115 MOCKABLE_FUNCTION(, int, amqpvalue_get_composite_item_count, AMQP_VALUE, value, uint32_t*, item_count);
XinZhangMS 0:f7f1f0d76dd6 116
XinZhangMS 0:f7f1f0d76dd6 117 #ifdef __cplusplus
XinZhangMS 0:f7f1f0d76dd6 118 }
XinZhangMS 0:f7f1f0d76dd6 119 #endif /* __cplusplus */
XinZhangMS 0:f7f1f0d76dd6 120
XinZhangMS 0:f7f1f0d76dd6 121 #endif /* AMQPVALUE_H */