A small memory footprint AMQP implimentation

Dependents:   iothub_client_sample_amqp remote_monitoring simplesample_amqp

Committer:
AzureIoTClient
Date:
Fri Feb 24 14:00:58 2017 -0800
Revision:
19:000ab4e6a2c1
Parent:
17:923575db8b2d
Child:
20:206846c14c80
1.1.8

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Azure.IoT Build 0:6ae2f7bca550 1
Azure.IoT Build 0:6ae2f7bca550 2
Azure.IoT Build 0:6ae2f7bca550 3 // Copyright (c) Microsoft. All rights reserved.
Azure.IoT Build 0:6ae2f7bca550 4 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
Azure.IoT Build 0:6ae2f7bca550 5
Azure.IoT Build 0:6ae2f7bca550 6 #include <stdlib.h>
AzureIoTClient 19:000ab4e6a2c1 7 #include "azure_c_shared_utility/optimize_size.h"
Azure.IoT Build 0:6ae2f7bca550 8 #include "azure_uamqp_c/amqpvalue.h"
Azure.IoT Build 0:6ae2f7bca550 9 #include "azure_uamqp_c/amqp_definitions.h"
Azure.IoT Build 0:6ae2f7bca550 10 #include "azure_uamqp_c/amqpalloc.h"
Azure.IoT Build 0:6ae2f7bca550 11 #include <stdlib.h>
Azure.IoT Build 0:6ae2f7bca550 12 #include <stdbool.h>
Azure.IoT Build 0:6ae2f7bca550 13
Azure.IoT Build 0:6ae2f7bca550 14 /* role */
Azure.IoT Build 0:6ae2f7bca550 15
Azure.IoT Build 0:6ae2f7bca550 16 AMQP_VALUE amqpvalue_create_role(role value)
Azure.IoT Build 0:6ae2f7bca550 17 {
Azure.IoT Build 0:6ae2f7bca550 18 return amqpvalue_create_boolean(value);
Azure.IoT Build 0:6ae2f7bca550 19 }
Azure.IoT Build 0:6ae2f7bca550 20
Azure.IoT Build 0:6ae2f7bca550 21 /* sender-settle-mode */
Azure.IoT Build 0:6ae2f7bca550 22
Azure.IoT Build 0:6ae2f7bca550 23 AMQP_VALUE amqpvalue_create_sender_settle_mode(sender_settle_mode value)
Azure.IoT Build 0:6ae2f7bca550 24 {
Azure.IoT Build 0:6ae2f7bca550 25 return amqpvalue_create_ubyte(value);
Azure.IoT Build 0:6ae2f7bca550 26 }
Azure.IoT Build 0:6ae2f7bca550 27
Azure.IoT Build 0:6ae2f7bca550 28 /* receiver-settle-mode */
Azure.IoT Build 0:6ae2f7bca550 29
Azure.IoT Build 0:6ae2f7bca550 30 AMQP_VALUE amqpvalue_create_receiver_settle_mode(receiver_settle_mode value)
Azure.IoT Build 0:6ae2f7bca550 31 {
Azure.IoT Build 0:6ae2f7bca550 32 return amqpvalue_create_ubyte(value);
Azure.IoT Build 0:6ae2f7bca550 33 }
Azure.IoT Build 0:6ae2f7bca550 34
Azure.IoT Build 0:6ae2f7bca550 35 /* handle */
Azure.IoT Build 0:6ae2f7bca550 36
Azure.IoT Build 0:6ae2f7bca550 37 AMQP_VALUE amqpvalue_create_handle(handle value)
Azure.IoT Build 0:6ae2f7bca550 38 {
Azure.IoT Build 0:6ae2f7bca550 39 return amqpvalue_create_uint(value);
Azure.IoT Build 0:6ae2f7bca550 40 }
Azure.IoT Build 0:6ae2f7bca550 41
Azure.IoT Build 0:6ae2f7bca550 42 /* seconds */
Azure.IoT Build 0:6ae2f7bca550 43
Azure.IoT Build 0:6ae2f7bca550 44 AMQP_VALUE amqpvalue_create_seconds(seconds value)
Azure.IoT Build 0:6ae2f7bca550 45 {
Azure.IoT Build 0:6ae2f7bca550 46 return amqpvalue_create_uint(value);
Azure.IoT Build 0:6ae2f7bca550 47 }
Azure.IoT Build 0:6ae2f7bca550 48
Azure.IoT Build 0:6ae2f7bca550 49 /* milliseconds */
Azure.IoT Build 0:6ae2f7bca550 50
Azure.IoT Build 0:6ae2f7bca550 51 AMQP_VALUE amqpvalue_create_milliseconds(milliseconds value)
Azure.IoT Build 0:6ae2f7bca550 52 {
Azure.IoT Build 0:6ae2f7bca550 53 return amqpvalue_create_uint(value);
Azure.IoT Build 0:6ae2f7bca550 54 }
Azure.IoT Build 0:6ae2f7bca550 55
Azure.IoT Build 0:6ae2f7bca550 56 /* delivery-tag */
Azure.IoT Build 0:6ae2f7bca550 57
Azure.IoT Build 0:6ae2f7bca550 58 AMQP_VALUE amqpvalue_create_delivery_tag(delivery_tag value)
Azure.IoT Build 0:6ae2f7bca550 59 {
Azure.IoT Build 0:6ae2f7bca550 60 return amqpvalue_create_binary(value);
Azure.IoT Build 0:6ae2f7bca550 61 }
Azure.IoT Build 0:6ae2f7bca550 62
Azure.IoT Build 0:6ae2f7bca550 63 /* sequence-no */
Azure.IoT Build 0:6ae2f7bca550 64
Azure.IoT Build 0:6ae2f7bca550 65 AMQP_VALUE amqpvalue_create_sequence_no(sequence_no value)
Azure.IoT Build 0:6ae2f7bca550 66 {
Azure.IoT Build 0:6ae2f7bca550 67 return amqpvalue_create_uint(value);
Azure.IoT Build 0:6ae2f7bca550 68 }
Azure.IoT Build 0:6ae2f7bca550 69
Azure.IoT Build 0:6ae2f7bca550 70 /* delivery-number */
Azure.IoT Build 0:6ae2f7bca550 71
Azure.IoT Build 0:6ae2f7bca550 72 AMQP_VALUE amqpvalue_create_delivery_number(delivery_number value)
Azure.IoT Build 0:6ae2f7bca550 73 {
Azure.IoT Build 0:6ae2f7bca550 74 return amqpvalue_create_sequence_no(value);
Azure.IoT Build 0:6ae2f7bca550 75 }
Azure.IoT Build 0:6ae2f7bca550 76
Azure.IoT Build 0:6ae2f7bca550 77 /* transfer-number */
Azure.IoT Build 0:6ae2f7bca550 78
Azure.IoT Build 0:6ae2f7bca550 79 AMQP_VALUE amqpvalue_create_transfer_number(transfer_number value)
Azure.IoT Build 0:6ae2f7bca550 80 {
Azure.IoT Build 0:6ae2f7bca550 81 return amqpvalue_create_sequence_no(value);
Azure.IoT Build 0:6ae2f7bca550 82 }
Azure.IoT Build 0:6ae2f7bca550 83
Azure.IoT Build 0:6ae2f7bca550 84 /* message-format */
Azure.IoT Build 0:6ae2f7bca550 85
Azure.IoT Build 0:6ae2f7bca550 86 AMQP_VALUE amqpvalue_create_message_format(message_format value)
Azure.IoT Build 0:6ae2f7bca550 87 {
Azure.IoT Build 0:6ae2f7bca550 88 return amqpvalue_create_uint(value);
Azure.IoT Build 0:6ae2f7bca550 89 }
Azure.IoT Build 0:6ae2f7bca550 90
Azure.IoT Build 0:6ae2f7bca550 91 /* ietf-language-tag */
Azure.IoT Build 0:6ae2f7bca550 92
Azure.IoT Build 0:6ae2f7bca550 93 AMQP_VALUE amqpvalue_create_ietf_language_tag(ietf_language_tag value)
Azure.IoT Build 0:6ae2f7bca550 94 {
Azure.IoT Build 0:6ae2f7bca550 95 return amqpvalue_create_symbol(value);
Azure.IoT Build 0:6ae2f7bca550 96 }
Azure.IoT Build 0:6ae2f7bca550 97
Azure.IoT Build 0:6ae2f7bca550 98 /* fields */
Azure.IoT Build 0:6ae2f7bca550 99
Azure.IoT Build 0:6ae2f7bca550 100 AMQP_VALUE amqpvalue_create_fields(AMQP_VALUE value)
Azure.IoT Build 0:6ae2f7bca550 101 {
Azure.IoT Build 0:6ae2f7bca550 102 return amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 103 }
Azure.IoT Build 0:6ae2f7bca550 104
Azure.IoT Build 0:6ae2f7bca550 105 /* error */
Azure.IoT Build 0:6ae2f7bca550 106
Azure.IoT Build 0:6ae2f7bca550 107 typedef struct ERROR_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 108 {
Azure.IoT Build 0:6ae2f7bca550 109 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 110 } ERROR_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 111
Azure.IoT Build 0:6ae2f7bca550 112 static ERROR_HANDLE error_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 113 {
Azure.IoT Build 0:6ae2f7bca550 114 ERROR_INSTANCE* error_instance = (ERROR_INSTANCE*)amqpalloc_malloc(sizeof(ERROR_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 115 if (error_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 116 {
Azure.IoT Build 0:6ae2f7bca550 117 error_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 118 }
Azure.IoT Build 0:6ae2f7bca550 119
Azure.IoT Build 0:6ae2f7bca550 120 return error_instance;
Azure.IoT Build 0:6ae2f7bca550 121 }
Azure.IoT Build 0:6ae2f7bca550 122
Azure.IoT Build 0:6ae2f7bca550 123 ERROR_HANDLE error_create(const char* condition_value)
Azure.IoT Build 0:6ae2f7bca550 124 {
Azure.IoT Build 0:6ae2f7bca550 125 ERROR_INSTANCE* error_instance = (ERROR_INSTANCE*)amqpalloc_malloc(sizeof(ERROR_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 126 if (error_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 127 {
Azure.IoT Build 0:6ae2f7bca550 128 error_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(29);
Azure.IoT Build 0:6ae2f7bca550 129 if (error_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 130 {
Azure.IoT Build 0:6ae2f7bca550 131 amqpalloc_free(error_instance);
Azure.IoT Build 0:6ae2f7bca550 132 error_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 133 }
Azure.IoT Build 0:6ae2f7bca550 134 else
Azure.IoT Build 0:6ae2f7bca550 135 {
Azure.IoT Build 0:6ae2f7bca550 136 AMQP_VALUE condition_amqp_value;
Azure.IoT Build 0:6ae2f7bca550 137 int result = 0;
Azure.IoT Build 0:6ae2f7bca550 138
Azure.IoT Build 0:6ae2f7bca550 139 condition_amqp_value = amqpvalue_create_symbol(condition_value);
Azure.IoT Build 0:6ae2f7bca550 140 if ((result == 0) && (amqpvalue_set_composite_item(error_instance->composite_value, 0, condition_amqp_value) != 0))
Azure.IoT Build 0:6ae2f7bca550 141 {
AzureIoTClient 19:000ab4e6a2c1 142 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 143 }
Azure.IoT Build 0:6ae2f7bca550 144
Azure.IoT Build 0:6ae2f7bca550 145 amqpvalue_destroy(condition_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 146 }
Azure.IoT Build 0:6ae2f7bca550 147 }
Azure.IoT Build 0:6ae2f7bca550 148
Azure.IoT Build 0:6ae2f7bca550 149 return error_instance;
Azure.IoT Build 0:6ae2f7bca550 150 }
Azure.IoT Build 0:6ae2f7bca550 151
Azure.IoT Build 0:6ae2f7bca550 152 ERROR_HANDLE error_clone(ERROR_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 153 {
Azure.IoT Build 0:6ae2f7bca550 154 ERROR_INSTANCE* error_instance = (ERROR_INSTANCE*)amqpalloc_malloc(sizeof(ERROR_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 155 if (error_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 156 {
Azure.IoT Build 0:6ae2f7bca550 157 error_instance->composite_value = amqpvalue_clone(((ERROR_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 158 if (error_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 159 {
Azure.IoT Build 0:6ae2f7bca550 160 amqpalloc_free(error_instance);
Azure.IoT Build 0:6ae2f7bca550 161 error_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 162 }
Azure.IoT Build 0:6ae2f7bca550 163 }
Azure.IoT Build 0:6ae2f7bca550 164
Azure.IoT Build 0:6ae2f7bca550 165 return error_instance;
Azure.IoT Build 0:6ae2f7bca550 166 }
Azure.IoT Build 0:6ae2f7bca550 167
Azure.IoT Build 0:6ae2f7bca550 168 void error_destroy(ERROR_HANDLE error)
Azure.IoT Build 0:6ae2f7bca550 169 {
Azure.IoT Build 0:6ae2f7bca550 170 if (error != NULL)
Azure.IoT Build 0:6ae2f7bca550 171 {
Azure.IoT Build 0:6ae2f7bca550 172 ERROR_INSTANCE* error_instance = (ERROR_INSTANCE*)error;
Azure.IoT Build 0:6ae2f7bca550 173 amqpvalue_destroy(error_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 174 amqpalloc_free(error_instance);
Azure.IoT Build 0:6ae2f7bca550 175 }
Azure.IoT Build 0:6ae2f7bca550 176 }
Azure.IoT Build 0:6ae2f7bca550 177
Azure.IoT Build 0:6ae2f7bca550 178 AMQP_VALUE amqpvalue_create_error(ERROR_HANDLE error)
Azure.IoT Build 0:6ae2f7bca550 179 {
Azure.IoT Build 0:6ae2f7bca550 180 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 181
Azure.IoT Build 0:6ae2f7bca550 182 if (error == NULL)
Azure.IoT Build 0:6ae2f7bca550 183 {
Azure.IoT Build 0:6ae2f7bca550 184 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 185 }
Azure.IoT Build 0:6ae2f7bca550 186 else
Azure.IoT Build 0:6ae2f7bca550 187 {
Azure.IoT Build 0:6ae2f7bca550 188 ERROR_INSTANCE* error_instance = (ERROR_INSTANCE*)error;
Azure.IoT Build 0:6ae2f7bca550 189 result = amqpvalue_clone(error_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 190 }
Azure.IoT Build 0:6ae2f7bca550 191
Azure.IoT Build 0:6ae2f7bca550 192 return result;
Azure.IoT Build 0:6ae2f7bca550 193 }
Azure.IoT Build 0:6ae2f7bca550 194
Azure.IoT Build 0:6ae2f7bca550 195 bool is_error_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 196 {
Azure.IoT Build 0:6ae2f7bca550 197 bool result;
Azure.IoT Build 0:6ae2f7bca550 198
Azure.IoT Build 0:6ae2f7bca550 199 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 200 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 201 (descriptor_ulong == 29))
Azure.IoT Build 0:6ae2f7bca550 202 {
Azure.IoT Build 0:6ae2f7bca550 203 result = true;
Azure.IoT Build 0:6ae2f7bca550 204 }
Azure.IoT Build 0:6ae2f7bca550 205 else
Azure.IoT Build 0:6ae2f7bca550 206 {
Azure.IoT Build 0:6ae2f7bca550 207 result = false;
Azure.IoT Build 0:6ae2f7bca550 208 }
Azure.IoT Build 0:6ae2f7bca550 209
Azure.IoT Build 0:6ae2f7bca550 210 return result;
Azure.IoT Build 0:6ae2f7bca550 211 }
Azure.IoT Build 0:6ae2f7bca550 212
Azure.IoT Build 0:6ae2f7bca550 213
Azure.IoT Build 0:6ae2f7bca550 214 int amqpvalue_get_error(AMQP_VALUE value, ERROR_HANDLE* error_handle)
Azure.IoT Build 0:6ae2f7bca550 215 {
Azure.IoT Build 0:6ae2f7bca550 216 int result;
Azure.IoT Build 0:6ae2f7bca550 217 ERROR_INSTANCE* error_instance = (ERROR_INSTANCE*)error_create_internal();
Azure.IoT Build 0:6ae2f7bca550 218 *error_handle = error_instance;
Azure.IoT Build 0:6ae2f7bca550 219 if (*error_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 220 {
AzureIoTClient 19:000ab4e6a2c1 221 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 222 }
Azure.IoT Build 0:6ae2f7bca550 223 else
Azure.IoT Build 0:6ae2f7bca550 224 {
Azure.IoT Build 0:6ae2f7bca550 225 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 226 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 227 {
Azure.IoT Build 0:6ae2f7bca550 228 error_destroy(*error_handle);
AzureIoTClient 19:000ab4e6a2c1 229 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 230 }
Azure.IoT Build 0:6ae2f7bca550 231 else
Azure.IoT Build 0:6ae2f7bca550 232 {
Azure.IoT Build 0:6ae2f7bca550 233 do
Azure.IoT Build 0:6ae2f7bca550 234 {
Azure.IoT Build 0:6ae2f7bca550 235 AMQP_VALUE item_value;
Azure.IoT Build 0:6ae2f7bca550 236 /* condition */
Azure.IoT Build 0:6ae2f7bca550 237 item_value = amqpvalue_get_list_item(list_value, 0);
Azure.IoT Build 0:6ae2f7bca550 238 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 239 {
Azure.IoT Build 0:6ae2f7bca550 240 {
Azure.IoT Build 0:6ae2f7bca550 241 error_destroy(*error_handle);
AzureIoTClient 19:000ab4e6a2c1 242 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 243 break;
Azure.IoT Build 0:6ae2f7bca550 244 }
Azure.IoT Build 0:6ae2f7bca550 245 }
Azure.IoT Build 0:6ae2f7bca550 246 else
Azure.IoT Build 0:6ae2f7bca550 247 {
Azure.IoT Build 0:6ae2f7bca550 248 const char* condition;
Azure.IoT Build 0:6ae2f7bca550 249 if (amqpvalue_get_symbol(item_value, &condition) != 0)
Azure.IoT Build 0:6ae2f7bca550 250 {
Azure.IoT Build 0:6ae2f7bca550 251 error_destroy(*error_handle);
AzureIoTClient 19:000ab4e6a2c1 252 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 253 break;
Azure.IoT Build 0:6ae2f7bca550 254 }
Azure.IoT Build 0:6ae2f7bca550 255
Azure.IoT Build 0:6ae2f7bca550 256 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 257 }
Azure.IoT Build 0:6ae2f7bca550 258 /* description */
Azure.IoT Build 0:6ae2f7bca550 259 item_value = amqpvalue_get_list_item(list_value, 1);
Azure.IoT Build 0:6ae2f7bca550 260 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 261 {
Azure.IoT Build 0:6ae2f7bca550 262 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 263 }
Azure.IoT Build 0:6ae2f7bca550 264 else
Azure.IoT Build 0:6ae2f7bca550 265 {
Azure.IoT Build 0:6ae2f7bca550 266 const char* description;
Azure.IoT Build 0:6ae2f7bca550 267 if (amqpvalue_get_string(item_value, &description) != 0)
Azure.IoT Build 0:6ae2f7bca550 268 {
Azure.IoT Build 0:6ae2f7bca550 269 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 270 {
Azure.IoT Build 0:6ae2f7bca550 271 error_destroy(*error_handle);
AzureIoTClient 19:000ab4e6a2c1 272 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 273 break;
Azure.IoT Build 0:6ae2f7bca550 274 }
Azure.IoT Build 0:6ae2f7bca550 275 }
Azure.IoT Build 0:6ae2f7bca550 276
Azure.IoT Build 0:6ae2f7bca550 277 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 278 }
Azure.IoT Build 0:6ae2f7bca550 279 /* info */
Azure.IoT Build 0:6ae2f7bca550 280 item_value = amqpvalue_get_list_item(list_value, 2);
Azure.IoT Build 0:6ae2f7bca550 281 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 282 {
Azure.IoT Build 0:6ae2f7bca550 283 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 284 }
Azure.IoT Build 0:6ae2f7bca550 285 else
Azure.IoT Build 0:6ae2f7bca550 286 {
Azure.IoT Build 0:6ae2f7bca550 287 fields info;
Azure.IoT Build 0:6ae2f7bca550 288 if (amqpvalue_get_fields(item_value, &info) != 0)
Azure.IoT Build 0:6ae2f7bca550 289 {
Azure.IoT Build 0:6ae2f7bca550 290 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 291 {
Azure.IoT Build 0:6ae2f7bca550 292 error_destroy(*error_handle);
AzureIoTClient 19:000ab4e6a2c1 293 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 294 break;
Azure.IoT Build 0:6ae2f7bca550 295 }
Azure.IoT Build 0:6ae2f7bca550 296 }
Azure.IoT Build 0:6ae2f7bca550 297
Azure.IoT Build 0:6ae2f7bca550 298 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 299 }
Azure.IoT Build 0:6ae2f7bca550 300
Azure.IoT Build 0:6ae2f7bca550 301 error_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 302
Azure.IoT Build 0:6ae2f7bca550 303 result = 0;
Azure.IoT Build 0:6ae2f7bca550 304 } while (0);
Azure.IoT Build 0:6ae2f7bca550 305 }
Azure.IoT Build 0:6ae2f7bca550 306 }
Azure.IoT Build 0:6ae2f7bca550 307
Azure.IoT Build 0:6ae2f7bca550 308 return result;
Azure.IoT Build 0:6ae2f7bca550 309 }
Azure.IoT Build 0:6ae2f7bca550 310
Azure.IoT Build 0:6ae2f7bca550 311 int error_get_condition(ERROR_HANDLE error, const char** condition_value)
Azure.IoT Build 0:6ae2f7bca550 312 {
Azure.IoT Build 0:6ae2f7bca550 313 int result;
Azure.IoT Build 0:6ae2f7bca550 314
Azure.IoT Build 0:6ae2f7bca550 315 if (error == NULL)
Azure.IoT Build 0:6ae2f7bca550 316 {
AzureIoTClient 19:000ab4e6a2c1 317 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 318 }
Azure.IoT Build 0:6ae2f7bca550 319 else
Azure.IoT Build 0:6ae2f7bca550 320 {
Azure.IoT Build 0:6ae2f7bca550 321 ERROR_INSTANCE* error_instance = (ERROR_INSTANCE*)error;
Azure.IoT Build 0:6ae2f7bca550 322 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(error_instance->composite_value, 0);
Azure.IoT Build 0:6ae2f7bca550 323 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 324 {
AzureIoTClient 19:000ab4e6a2c1 325 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 326 }
Azure.IoT Build 0:6ae2f7bca550 327 else
Azure.IoT Build 0:6ae2f7bca550 328 {
Azure.IoT Build 0:6ae2f7bca550 329 if (amqpvalue_get_symbol(item_value, condition_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 330 {
AzureIoTClient 19:000ab4e6a2c1 331 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 332 }
Azure.IoT Build 0:6ae2f7bca550 333 else
Azure.IoT Build 0:6ae2f7bca550 334 {
Azure.IoT Build 0:6ae2f7bca550 335 result = 0;
Azure.IoT Build 0:6ae2f7bca550 336 }
Azure.IoT Build 0:6ae2f7bca550 337 }
Azure.IoT Build 0:6ae2f7bca550 338 }
Azure.IoT Build 0:6ae2f7bca550 339
Azure.IoT Build 0:6ae2f7bca550 340 return result;
Azure.IoT Build 0:6ae2f7bca550 341 }
Azure.IoT Build 0:6ae2f7bca550 342
Azure.IoT Build 0:6ae2f7bca550 343 int error_set_condition(ERROR_HANDLE error, const char* condition_value)
Azure.IoT Build 0:6ae2f7bca550 344 {
Azure.IoT Build 0:6ae2f7bca550 345 int result;
Azure.IoT Build 0:6ae2f7bca550 346
Azure.IoT Build 0:6ae2f7bca550 347 if (error == NULL)
Azure.IoT Build 0:6ae2f7bca550 348 {
AzureIoTClient 19:000ab4e6a2c1 349 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 350 }
Azure.IoT Build 0:6ae2f7bca550 351 else
Azure.IoT Build 0:6ae2f7bca550 352 {
Azure.IoT Build 0:6ae2f7bca550 353 ERROR_INSTANCE* error_instance = (ERROR_INSTANCE*)error;
Azure.IoT Build 0:6ae2f7bca550 354 AMQP_VALUE condition_amqp_value = amqpvalue_create_symbol(condition_value);
Azure.IoT Build 0:6ae2f7bca550 355 if (condition_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 356 {
AzureIoTClient 19:000ab4e6a2c1 357 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 358 }
Azure.IoT Build 0:6ae2f7bca550 359 else
Azure.IoT Build 0:6ae2f7bca550 360 {
Azure.IoT Build 0:6ae2f7bca550 361 if (amqpvalue_set_composite_item(error_instance->composite_value, 0, condition_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 362 {
AzureIoTClient 19:000ab4e6a2c1 363 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 364 }
Azure.IoT Build 0:6ae2f7bca550 365 else
Azure.IoT Build 0:6ae2f7bca550 366 {
Azure.IoT Build 0:6ae2f7bca550 367 result = 0;
Azure.IoT Build 0:6ae2f7bca550 368 }
Azure.IoT Build 0:6ae2f7bca550 369
Azure.IoT Build 0:6ae2f7bca550 370 amqpvalue_destroy(condition_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 371 }
Azure.IoT Build 0:6ae2f7bca550 372 }
Azure.IoT Build 0:6ae2f7bca550 373
Azure.IoT Build 0:6ae2f7bca550 374 return result;
Azure.IoT Build 0:6ae2f7bca550 375 }
Azure.IoT Build 0:6ae2f7bca550 376
Azure.IoT Build 0:6ae2f7bca550 377 int error_get_description(ERROR_HANDLE error, const char** description_value)
Azure.IoT Build 0:6ae2f7bca550 378 {
Azure.IoT Build 0:6ae2f7bca550 379 int result;
Azure.IoT Build 0:6ae2f7bca550 380
Azure.IoT Build 0:6ae2f7bca550 381 if (error == NULL)
Azure.IoT Build 0:6ae2f7bca550 382 {
AzureIoTClient 19:000ab4e6a2c1 383 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 384 }
Azure.IoT Build 0:6ae2f7bca550 385 else
Azure.IoT Build 0:6ae2f7bca550 386 {
Azure.IoT Build 0:6ae2f7bca550 387 ERROR_INSTANCE* error_instance = (ERROR_INSTANCE*)error;
Azure.IoT Build 0:6ae2f7bca550 388 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(error_instance->composite_value, 1);
Azure.IoT Build 0:6ae2f7bca550 389 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 390 {
AzureIoTClient 19:000ab4e6a2c1 391 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 392 }
Azure.IoT Build 0:6ae2f7bca550 393 else
Azure.IoT Build 0:6ae2f7bca550 394 {
Azure.IoT Build 0:6ae2f7bca550 395 if (amqpvalue_get_string(item_value, description_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 396 {
AzureIoTClient 19:000ab4e6a2c1 397 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 398 }
Azure.IoT Build 0:6ae2f7bca550 399 else
Azure.IoT Build 0:6ae2f7bca550 400 {
Azure.IoT Build 0:6ae2f7bca550 401 result = 0;
Azure.IoT Build 0:6ae2f7bca550 402 }
Azure.IoT Build 0:6ae2f7bca550 403 }
Azure.IoT Build 0:6ae2f7bca550 404 }
Azure.IoT Build 0:6ae2f7bca550 405
Azure.IoT Build 0:6ae2f7bca550 406 return result;
Azure.IoT Build 0:6ae2f7bca550 407 }
Azure.IoT Build 0:6ae2f7bca550 408
Azure.IoT Build 0:6ae2f7bca550 409 int error_set_description(ERROR_HANDLE error, const char* description_value)
Azure.IoT Build 0:6ae2f7bca550 410 {
Azure.IoT Build 0:6ae2f7bca550 411 int result;
Azure.IoT Build 0:6ae2f7bca550 412
Azure.IoT Build 0:6ae2f7bca550 413 if (error == NULL)
Azure.IoT Build 0:6ae2f7bca550 414 {
AzureIoTClient 19:000ab4e6a2c1 415 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 416 }
Azure.IoT Build 0:6ae2f7bca550 417 else
Azure.IoT Build 0:6ae2f7bca550 418 {
Azure.IoT Build 0:6ae2f7bca550 419 ERROR_INSTANCE* error_instance = (ERROR_INSTANCE*)error;
Azure.IoT Build 0:6ae2f7bca550 420 AMQP_VALUE description_amqp_value = amqpvalue_create_string(description_value);
Azure.IoT Build 0:6ae2f7bca550 421 if (description_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 422 {
AzureIoTClient 19:000ab4e6a2c1 423 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 424 }
Azure.IoT Build 0:6ae2f7bca550 425 else
Azure.IoT Build 0:6ae2f7bca550 426 {
Azure.IoT Build 0:6ae2f7bca550 427 if (amqpvalue_set_composite_item(error_instance->composite_value, 1, description_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 428 {
AzureIoTClient 19:000ab4e6a2c1 429 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 430 }
Azure.IoT Build 0:6ae2f7bca550 431 else
Azure.IoT Build 0:6ae2f7bca550 432 {
Azure.IoT Build 0:6ae2f7bca550 433 result = 0;
Azure.IoT Build 0:6ae2f7bca550 434 }
Azure.IoT Build 0:6ae2f7bca550 435
Azure.IoT Build 0:6ae2f7bca550 436 amqpvalue_destroy(description_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 437 }
Azure.IoT Build 0:6ae2f7bca550 438 }
Azure.IoT Build 0:6ae2f7bca550 439
Azure.IoT Build 0:6ae2f7bca550 440 return result;
Azure.IoT Build 0:6ae2f7bca550 441 }
Azure.IoT Build 0:6ae2f7bca550 442
Azure.IoT Build 0:6ae2f7bca550 443 int error_get_info(ERROR_HANDLE error, fields* info_value)
Azure.IoT Build 0:6ae2f7bca550 444 {
Azure.IoT Build 0:6ae2f7bca550 445 int result;
Azure.IoT Build 0:6ae2f7bca550 446
Azure.IoT Build 0:6ae2f7bca550 447 if (error == NULL)
Azure.IoT Build 0:6ae2f7bca550 448 {
AzureIoTClient 19:000ab4e6a2c1 449 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 450 }
Azure.IoT Build 0:6ae2f7bca550 451 else
Azure.IoT Build 0:6ae2f7bca550 452 {
Azure.IoT Build 0:6ae2f7bca550 453 ERROR_INSTANCE* error_instance = (ERROR_INSTANCE*)error;
Azure.IoT Build 0:6ae2f7bca550 454 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(error_instance->composite_value, 2);
Azure.IoT Build 0:6ae2f7bca550 455 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 456 {
AzureIoTClient 19:000ab4e6a2c1 457 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 458 }
Azure.IoT Build 0:6ae2f7bca550 459 else
Azure.IoT Build 0:6ae2f7bca550 460 {
Azure.IoT Build 0:6ae2f7bca550 461 if (amqpvalue_get_fields(item_value, info_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 462 {
AzureIoTClient 19:000ab4e6a2c1 463 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 464 }
Azure.IoT Build 0:6ae2f7bca550 465 else
Azure.IoT Build 0:6ae2f7bca550 466 {
Azure.IoT Build 0:6ae2f7bca550 467 result = 0;
Azure.IoT Build 0:6ae2f7bca550 468 }
Azure.IoT Build 0:6ae2f7bca550 469 }
Azure.IoT Build 0:6ae2f7bca550 470 }
Azure.IoT Build 0:6ae2f7bca550 471
Azure.IoT Build 0:6ae2f7bca550 472 return result;
Azure.IoT Build 0:6ae2f7bca550 473 }
Azure.IoT Build 0:6ae2f7bca550 474
Azure.IoT Build 0:6ae2f7bca550 475 int error_set_info(ERROR_HANDLE error, fields info_value)
Azure.IoT Build 0:6ae2f7bca550 476 {
Azure.IoT Build 0:6ae2f7bca550 477 int result;
Azure.IoT Build 0:6ae2f7bca550 478
Azure.IoT Build 0:6ae2f7bca550 479 if (error == NULL)
Azure.IoT Build 0:6ae2f7bca550 480 {
AzureIoTClient 19:000ab4e6a2c1 481 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 482 }
Azure.IoT Build 0:6ae2f7bca550 483 else
Azure.IoT Build 0:6ae2f7bca550 484 {
Azure.IoT Build 0:6ae2f7bca550 485 ERROR_INSTANCE* error_instance = (ERROR_INSTANCE*)error;
Azure.IoT Build 0:6ae2f7bca550 486 AMQP_VALUE info_amqp_value = amqpvalue_create_fields(info_value);
Azure.IoT Build 0:6ae2f7bca550 487 if (info_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 488 {
AzureIoTClient 19:000ab4e6a2c1 489 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 490 }
Azure.IoT Build 0:6ae2f7bca550 491 else
Azure.IoT Build 0:6ae2f7bca550 492 {
Azure.IoT Build 0:6ae2f7bca550 493 if (amqpvalue_set_composite_item(error_instance->composite_value, 2, info_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 494 {
AzureIoTClient 19:000ab4e6a2c1 495 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 496 }
Azure.IoT Build 0:6ae2f7bca550 497 else
Azure.IoT Build 0:6ae2f7bca550 498 {
Azure.IoT Build 0:6ae2f7bca550 499 result = 0;
Azure.IoT Build 0:6ae2f7bca550 500 }
Azure.IoT Build 0:6ae2f7bca550 501
Azure.IoT Build 0:6ae2f7bca550 502 amqpvalue_destroy(info_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 503 }
Azure.IoT Build 0:6ae2f7bca550 504 }
Azure.IoT Build 0:6ae2f7bca550 505
Azure.IoT Build 0:6ae2f7bca550 506 return result;
Azure.IoT Build 0:6ae2f7bca550 507 }
Azure.IoT Build 0:6ae2f7bca550 508
Azure.IoT Build 0:6ae2f7bca550 509
Azure.IoT Build 0:6ae2f7bca550 510 /* amqp-error */
Azure.IoT Build 0:6ae2f7bca550 511
Azure.IoT Build 0:6ae2f7bca550 512 AMQP_VALUE amqpvalue_create_amqp_error(amqp_error value)
Azure.IoT Build 0:6ae2f7bca550 513 {
Azure.IoT Build 0:6ae2f7bca550 514 return amqpvalue_create_symbol(value);
Azure.IoT Build 0:6ae2f7bca550 515 }
Azure.IoT Build 0:6ae2f7bca550 516
Azure.IoT Build 0:6ae2f7bca550 517 /* connection-error */
Azure.IoT Build 0:6ae2f7bca550 518
Azure.IoT Build 0:6ae2f7bca550 519 AMQP_VALUE amqpvalue_create_connection_error(connection_error value)
Azure.IoT Build 0:6ae2f7bca550 520 {
Azure.IoT Build 0:6ae2f7bca550 521 return amqpvalue_create_symbol(value);
Azure.IoT Build 0:6ae2f7bca550 522 }
Azure.IoT Build 0:6ae2f7bca550 523
Azure.IoT Build 0:6ae2f7bca550 524 /* session-error */
Azure.IoT Build 0:6ae2f7bca550 525
Azure.IoT Build 0:6ae2f7bca550 526 AMQP_VALUE amqpvalue_create_session_error(session_error value)
Azure.IoT Build 0:6ae2f7bca550 527 {
Azure.IoT Build 0:6ae2f7bca550 528 return amqpvalue_create_symbol(value);
Azure.IoT Build 0:6ae2f7bca550 529 }
Azure.IoT Build 0:6ae2f7bca550 530
Azure.IoT Build 0:6ae2f7bca550 531 /* link-error */
Azure.IoT Build 0:6ae2f7bca550 532
Azure.IoT Build 0:6ae2f7bca550 533 AMQP_VALUE amqpvalue_create_link_error(link_error value)
Azure.IoT Build 0:6ae2f7bca550 534 {
Azure.IoT Build 0:6ae2f7bca550 535 return amqpvalue_create_symbol(value);
Azure.IoT Build 0:6ae2f7bca550 536 }
Azure.IoT Build 0:6ae2f7bca550 537
Azure.IoT Build 0:6ae2f7bca550 538 /* open */
Azure.IoT Build 0:6ae2f7bca550 539
Azure.IoT Build 0:6ae2f7bca550 540 typedef struct OPEN_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 541 {
Azure.IoT Build 0:6ae2f7bca550 542 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 543 } OPEN_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 544
Azure.IoT Build 0:6ae2f7bca550 545 static OPEN_HANDLE open_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 546 {
Azure.IoT Build 0:6ae2f7bca550 547 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)amqpalloc_malloc(sizeof(OPEN_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 548 if (open_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 549 {
Azure.IoT Build 0:6ae2f7bca550 550 open_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 551 }
Azure.IoT Build 0:6ae2f7bca550 552
Azure.IoT Build 0:6ae2f7bca550 553 return open_instance;
Azure.IoT Build 0:6ae2f7bca550 554 }
Azure.IoT Build 0:6ae2f7bca550 555
Azure.IoT Build 0:6ae2f7bca550 556 OPEN_HANDLE open_create(const char* container_id_value)
Azure.IoT Build 0:6ae2f7bca550 557 {
Azure.IoT Build 0:6ae2f7bca550 558 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)amqpalloc_malloc(sizeof(OPEN_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 559 if (open_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 560 {
Azure.IoT Build 0:6ae2f7bca550 561 open_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(16);
Azure.IoT Build 0:6ae2f7bca550 562 if (open_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 563 {
Azure.IoT Build 0:6ae2f7bca550 564 amqpalloc_free(open_instance);
Azure.IoT Build 0:6ae2f7bca550 565 open_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 566 }
Azure.IoT Build 0:6ae2f7bca550 567 else
Azure.IoT Build 0:6ae2f7bca550 568 {
Azure.IoT Build 0:6ae2f7bca550 569 AMQP_VALUE container_id_amqp_value;
Azure.IoT Build 0:6ae2f7bca550 570 int result = 0;
Azure.IoT Build 0:6ae2f7bca550 571
Azure.IoT Build 0:6ae2f7bca550 572 container_id_amqp_value = amqpvalue_create_string(container_id_value);
Azure.IoT Build 0:6ae2f7bca550 573 if ((result == 0) && (amqpvalue_set_composite_item(open_instance->composite_value, 0, container_id_amqp_value) != 0))
Azure.IoT Build 0:6ae2f7bca550 574 {
AzureIoTClient 19:000ab4e6a2c1 575 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 576 }
Azure.IoT Build 0:6ae2f7bca550 577
Azure.IoT Build 0:6ae2f7bca550 578 amqpvalue_destroy(container_id_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 579 }
Azure.IoT Build 0:6ae2f7bca550 580 }
Azure.IoT Build 0:6ae2f7bca550 581
Azure.IoT Build 0:6ae2f7bca550 582 return open_instance;
Azure.IoT Build 0:6ae2f7bca550 583 }
Azure.IoT Build 0:6ae2f7bca550 584
Azure.IoT Build 0:6ae2f7bca550 585 OPEN_HANDLE open_clone(OPEN_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 586 {
Azure.IoT Build 0:6ae2f7bca550 587 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)amqpalloc_malloc(sizeof(OPEN_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 588 if (open_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 589 {
Azure.IoT Build 0:6ae2f7bca550 590 open_instance->composite_value = amqpvalue_clone(((OPEN_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 591 if (open_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 592 {
Azure.IoT Build 0:6ae2f7bca550 593 amqpalloc_free(open_instance);
Azure.IoT Build 0:6ae2f7bca550 594 open_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 595 }
Azure.IoT Build 0:6ae2f7bca550 596 }
Azure.IoT Build 0:6ae2f7bca550 597
Azure.IoT Build 0:6ae2f7bca550 598 return open_instance;
Azure.IoT Build 0:6ae2f7bca550 599 }
Azure.IoT Build 0:6ae2f7bca550 600
Azure.IoT Build 0:6ae2f7bca550 601 void open_destroy(OPEN_HANDLE open)
Azure.IoT Build 0:6ae2f7bca550 602 {
Azure.IoT Build 0:6ae2f7bca550 603 if (open != NULL)
Azure.IoT Build 0:6ae2f7bca550 604 {
Azure.IoT Build 0:6ae2f7bca550 605 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)open;
Azure.IoT Build 0:6ae2f7bca550 606 amqpvalue_destroy(open_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 607 amqpalloc_free(open_instance);
Azure.IoT Build 0:6ae2f7bca550 608 }
Azure.IoT Build 0:6ae2f7bca550 609 }
Azure.IoT Build 0:6ae2f7bca550 610
Azure.IoT Build 0:6ae2f7bca550 611 AMQP_VALUE amqpvalue_create_open(OPEN_HANDLE open)
Azure.IoT Build 0:6ae2f7bca550 612 {
Azure.IoT Build 0:6ae2f7bca550 613 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 614
Azure.IoT Build 0:6ae2f7bca550 615 if (open == NULL)
Azure.IoT Build 0:6ae2f7bca550 616 {
Azure.IoT Build 0:6ae2f7bca550 617 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 618 }
Azure.IoT Build 0:6ae2f7bca550 619 else
Azure.IoT Build 0:6ae2f7bca550 620 {
Azure.IoT Build 0:6ae2f7bca550 621 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)open;
Azure.IoT Build 0:6ae2f7bca550 622 result = amqpvalue_clone(open_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 623 }
Azure.IoT Build 0:6ae2f7bca550 624
Azure.IoT Build 0:6ae2f7bca550 625 return result;
Azure.IoT Build 0:6ae2f7bca550 626 }
Azure.IoT Build 0:6ae2f7bca550 627
Azure.IoT Build 0:6ae2f7bca550 628 bool is_open_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 629 {
Azure.IoT Build 0:6ae2f7bca550 630 bool result;
Azure.IoT Build 0:6ae2f7bca550 631
Azure.IoT Build 0:6ae2f7bca550 632 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 633 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 634 (descriptor_ulong == 16))
Azure.IoT Build 0:6ae2f7bca550 635 {
Azure.IoT Build 0:6ae2f7bca550 636 result = true;
Azure.IoT Build 0:6ae2f7bca550 637 }
Azure.IoT Build 0:6ae2f7bca550 638 else
Azure.IoT Build 0:6ae2f7bca550 639 {
Azure.IoT Build 0:6ae2f7bca550 640 result = false;
Azure.IoT Build 0:6ae2f7bca550 641 }
Azure.IoT Build 0:6ae2f7bca550 642
Azure.IoT Build 0:6ae2f7bca550 643 return result;
Azure.IoT Build 0:6ae2f7bca550 644 }
Azure.IoT Build 0:6ae2f7bca550 645
Azure.IoT Build 0:6ae2f7bca550 646
Azure.IoT Build 0:6ae2f7bca550 647 int amqpvalue_get_open(AMQP_VALUE value, OPEN_HANDLE* open_handle)
Azure.IoT Build 0:6ae2f7bca550 648 {
Azure.IoT Build 0:6ae2f7bca550 649 int result;
Azure.IoT Build 0:6ae2f7bca550 650 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)open_create_internal();
Azure.IoT Build 0:6ae2f7bca550 651 *open_handle = open_instance;
Azure.IoT Build 0:6ae2f7bca550 652 if (*open_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 653 {
AzureIoTClient 19:000ab4e6a2c1 654 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 655 }
Azure.IoT Build 0:6ae2f7bca550 656 else
Azure.IoT Build 0:6ae2f7bca550 657 {
Azure.IoT Build 0:6ae2f7bca550 658 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 659 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 660 {
Azure.IoT Build 0:6ae2f7bca550 661 open_destroy(*open_handle);
AzureIoTClient 19:000ab4e6a2c1 662 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 663 }
Azure.IoT Build 0:6ae2f7bca550 664 else
Azure.IoT Build 0:6ae2f7bca550 665 {
Azure.IoT Build 0:6ae2f7bca550 666 do
Azure.IoT Build 0:6ae2f7bca550 667 {
Azure.IoT Build 0:6ae2f7bca550 668 AMQP_VALUE item_value;
Azure.IoT Build 0:6ae2f7bca550 669 /* container-id */
Azure.IoT Build 0:6ae2f7bca550 670 item_value = amqpvalue_get_list_item(list_value, 0);
Azure.IoT Build 0:6ae2f7bca550 671 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 672 {
Azure.IoT Build 0:6ae2f7bca550 673 {
Azure.IoT Build 0:6ae2f7bca550 674 open_destroy(*open_handle);
AzureIoTClient 19:000ab4e6a2c1 675 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 676 break;
Azure.IoT Build 0:6ae2f7bca550 677 }
Azure.IoT Build 0:6ae2f7bca550 678 }
Azure.IoT Build 0:6ae2f7bca550 679 else
Azure.IoT Build 0:6ae2f7bca550 680 {
Azure.IoT Build 0:6ae2f7bca550 681 const char* container_id;
Azure.IoT Build 0:6ae2f7bca550 682 if (amqpvalue_get_string(item_value, &container_id) != 0)
Azure.IoT Build 0:6ae2f7bca550 683 {
Azure.IoT Build 0:6ae2f7bca550 684 open_destroy(*open_handle);
AzureIoTClient 19:000ab4e6a2c1 685 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 686 break;
Azure.IoT Build 0:6ae2f7bca550 687 }
Azure.IoT Build 0:6ae2f7bca550 688
Azure.IoT Build 0:6ae2f7bca550 689 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 690 }
Azure.IoT Build 0:6ae2f7bca550 691 /* hostname */
Azure.IoT Build 0:6ae2f7bca550 692 item_value = amqpvalue_get_list_item(list_value, 1);
Azure.IoT Build 0:6ae2f7bca550 693 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 694 {
Azure.IoT Build 0:6ae2f7bca550 695 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 696 }
Azure.IoT Build 0:6ae2f7bca550 697 else
Azure.IoT Build 0:6ae2f7bca550 698 {
Azure.IoT Build 0:6ae2f7bca550 699 const char* hostname;
Azure.IoT Build 0:6ae2f7bca550 700 if (amqpvalue_get_string(item_value, &hostname) != 0)
Azure.IoT Build 0:6ae2f7bca550 701 {
Azure.IoT Build 0:6ae2f7bca550 702 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 703 {
Azure.IoT Build 0:6ae2f7bca550 704 open_destroy(*open_handle);
AzureIoTClient 19:000ab4e6a2c1 705 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 706 break;
Azure.IoT Build 0:6ae2f7bca550 707 }
Azure.IoT Build 0:6ae2f7bca550 708 }
Azure.IoT Build 0:6ae2f7bca550 709
Azure.IoT Build 0:6ae2f7bca550 710 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 711 }
Azure.IoT Build 0:6ae2f7bca550 712 /* max-frame-size */
Azure.IoT Build 0:6ae2f7bca550 713 item_value = amqpvalue_get_list_item(list_value, 2);
Azure.IoT Build 0:6ae2f7bca550 714 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 715 {
Azure.IoT Build 0:6ae2f7bca550 716 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 717 }
Azure.IoT Build 0:6ae2f7bca550 718 else
Azure.IoT Build 0:6ae2f7bca550 719 {
Azure.IoT Build 0:6ae2f7bca550 720 uint32_t max_frame_size;
Azure.IoT Build 0:6ae2f7bca550 721 if (amqpvalue_get_uint(item_value, &max_frame_size) != 0)
Azure.IoT Build 0:6ae2f7bca550 722 {
Azure.IoT Build 0:6ae2f7bca550 723 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 724 {
Azure.IoT Build 0:6ae2f7bca550 725 open_destroy(*open_handle);
AzureIoTClient 19:000ab4e6a2c1 726 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 727 break;
Azure.IoT Build 0:6ae2f7bca550 728 }
Azure.IoT Build 0:6ae2f7bca550 729 }
Azure.IoT Build 0:6ae2f7bca550 730
Azure.IoT Build 0:6ae2f7bca550 731 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 732 }
Azure.IoT Build 0:6ae2f7bca550 733 /* channel-max */
Azure.IoT Build 0:6ae2f7bca550 734 item_value = amqpvalue_get_list_item(list_value, 3);
Azure.IoT Build 0:6ae2f7bca550 735 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 736 {
Azure.IoT Build 0:6ae2f7bca550 737 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 738 }
Azure.IoT Build 0:6ae2f7bca550 739 else
Azure.IoT Build 0:6ae2f7bca550 740 {
Azure.IoT Build 0:6ae2f7bca550 741 uint16_t channel_max;
Azure.IoT Build 0:6ae2f7bca550 742 if (amqpvalue_get_ushort(item_value, &channel_max) != 0)
Azure.IoT Build 0:6ae2f7bca550 743 {
Azure.IoT Build 0:6ae2f7bca550 744 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 745 {
Azure.IoT Build 0:6ae2f7bca550 746 open_destroy(*open_handle);
AzureIoTClient 19:000ab4e6a2c1 747 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 748 break;
Azure.IoT Build 0:6ae2f7bca550 749 }
Azure.IoT Build 0:6ae2f7bca550 750 }
Azure.IoT Build 0:6ae2f7bca550 751
Azure.IoT Build 0:6ae2f7bca550 752 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 753 }
Azure.IoT Build 0:6ae2f7bca550 754 /* idle-time-out */
Azure.IoT Build 0:6ae2f7bca550 755 item_value = amqpvalue_get_list_item(list_value, 4);
Azure.IoT Build 0:6ae2f7bca550 756 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 757 {
Azure.IoT Build 0:6ae2f7bca550 758 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 759 }
Azure.IoT Build 0:6ae2f7bca550 760 else
Azure.IoT Build 0:6ae2f7bca550 761 {
Azure.IoT Build 0:6ae2f7bca550 762 milliseconds idle_time_out;
Azure.IoT Build 0:6ae2f7bca550 763 if (amqpvalue_get_milliseconds(item_value, &idle_time_out) != 0)
Azure.IoT Build 0:6ae2f7bca550 764 {
Azure.IoT Build 0:6ae2f7bca550 765 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 766 {
Azure.IoT Build 0:6ae2f7bca550 767 open_destroy(*open_handle);
AzureIoTClient 19:000ab4e6a2c1 768 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 769 break;
Azure.IoT Build 0:6ae2f7bca550 770 }
Azure.IoT Build 0:6ae2f7bca550 771 }
Azure.IoT Build 0:6ae2f7bca550 772
Azure.IoT Build 0:6ae2f7bca550 773 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 774 }
Azure.IoT Build 0:6ae2f7bca550 775 /* outgoing-locales */
Azure.IoT Build 0:6ae2f7bca550 776 item_value = amqpvalue_get_list_item(list_value, 5);
Azure.IoT Build 0:6ae2f7bca550 777 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 778 {
Azure.IoT Build 0:6ae2f7bca550 779 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 780 }
Azure.IoT Build 0:6ae2f7bca550 781 else
Azure.IoT Build 0:6ae2f7bca550 782 {
Azure.IoT Build 0:6ae2f7bca550 783 ietf_language_tag outgoing_locales;
Azure.IoT Build 0:6ae2f7bca550 784 AMQP_VALUE outgoing_locales_array;
Azure.IoT Build 0:6ae2f7bca550 785 if ((amqpvalue_get_array(item_value, &outgoing_locales_array) != 0) &&
Azure.IoT Build 0:6ae2f7bca550 786 (amqpvalue_get_ietf_language_tag(item_value, &outgoing_locales) != 0))
Azure.IoT Build 0:6ae2f7bca550 787 {
Azure.IoT Build 0:6ae2f7bca550 788 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 789 {
Azure.IoT Build 0:6ae2f7bca550 790 open_destroy(*open_handle);
AzureIoTClient 19:000ab4e6a2c1 791 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 792 break;
Azure.IoT Build 0:6ae2f7bca550 793 }
Azure.IoT Build 0:6ae2f7bca550 794 }
Azure.IoT Build 0:6ae2f7bca550 795
Azure.IoT Build 0:6ae2f7bca550 796 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 797 }
Azure.IoT Build 0:6ae2f7bca550 798 /* incoming-locales */
Azure.IoT Build 0:6ae2f7bca550 799 item_value = amqpvalue_get_list_item(list_value, 6);
Azure.IoT Build 0:6ae2f7bca550 800 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 801 {
Azure.IoT Build 0:6ae2f7bca550 802 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 803 }
Azure.IoT Build 0:6ae2f7bca550 804 else
Azure.IoT Build 0:6ae2f7bca550 805 {
Azure.IoT Build 0:6ae2f7bca550 806 ietf_language_tag incoming_locales;
Azure.IoT Build 0:6ae2f7bca550 807 AMQP_VALUE incoming_locales_array;
Azure.IoT Build 0:6ae2f7bca550 808 if ((amqpvalue_get_array(item_value, &incoming_locales_array) != 0) &&
Azure.IoT Build 0:6ae2f7bca550 809 (amqpvalue_get_ietf_language_tag(item_value, &incoming_locales) != 0))
Azure.IoT Build 0:6ae2f7bca550 810 {
Azure.IoT Build 0:6ae2f7bca550 811 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 812 {
Azure.IoT Build 0:6ae2f7bca550 813 open_destroy(*open_handle);
AzureIoTClient 19:000ab4e6a2c1 814 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 815 break;
Azure.IoT Build 0:6ae2f7bca550 816 }
Azure.IoT Build 0:6ae2f7bca550 817 }
Azure.IoT Build 0:6ae2f7bca550 818
Azure.IoT Build 0:6ae2f7bca550 819 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 820 }
Azure.IoT Build 0:6ae2f7bca550 821 /* offered-capabilities */
Azure.IoT Build 0:6ae2f7bca550 822 item_value = amqpvalue_get_list_item(list_value, 7);
Azure.IoT Build 0:6ae2f7bca550 823 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 824 {
Azure.IoT Build 0:6ae2f7bca550 825 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 826 }
Azure.IoT Build 0:6ae2f7bca550 827 else
Azure.IoT Build 0:6ae2f7bca550 828 {
Azure.IoT Build 0:6ae2f7bca550 829 const char* offered_capabilities;
Azure.IoT Build 0:6ae2f7bca550 830 AMQP_VALUE offered_capabilities_array;
Azure.IoT Build 0:6ae2f7bca550 831 if ((amqpvalue_get_array(item_value, &offered_capabilities_array) != 0) &&
Azure.IoT Build 0:6ae2f7bca550 832 (amqpvalue_get_symbol(item_value, &offered_capabilities) != 0))
Azure.IoT Build 0:6ae2f7bca550 833 {
Azure.IoT Build 0:6ae2f7bca550 834 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 835 {
Azure.IoT Build 0:6ae2f7bca550 836 open_destroy(*open_handle);
AzureIoTClient 19:000ab4e6a2c1 837 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 838 break;
Azure.IoT Build 0:6ae2f7bca550 839 }
Azure.IoT Build 0:6ae2f7bca550 840 }
Azure.IoT Build 0:6ae2f7bca550 841
Azure.IoT Build 0:6ae2f7bca550 842 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 843 }
Azure.IoT Build 0:6ae2f7bca550 844 /* desired-capabilities */
Azure.IoT Build 0:6ae2f7bca550 845 item_value = amqpvalue_get_list_item(list_value, 8);
Azure.IoT Build 0:6ae2f7bca550 846 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 847 {
Azure.IoT Build 0:6ae2f7bca550 848 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 849 }
Azure.IoT Build 0:6ae2f7bca550 850 else
Azure.IoT Build 0:6ae2f7bca550 851 {
Azure.IoT Build 0:6ae2f7bca550 852 const char* desired_capabilities;
Azure.IoT Build 0:6ae2f7bca550 853 AMQP_VALUE desired_capabilities_array;
Azure.IoT Build 0:6ae2f7bca550 854 if ((amqpvalue_get_array(item_value, &desired_capabilities_array) != 0) &&
Azure.IoT Build 0:6ae2f7bca550 855 (amqpvalue_get_symbol(item_value, &desired_capabilities) != 0))
Azure.IoT Build 0:6ae2f7bca550 856 {
Azure.IoT Build 0:6ae2f7bca550 857 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 858 {
Azure.IoT Build 0:6ae2f7bca550 859 open_destroy(*open_handle);
AzureIoTClient 19:000ab4e6a2c1 860 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 861 break;
Azure.IoT Build 0:6ae2f7bca550 862 }
Azure.IoT Build 0:6ae2f7bca550 863 }
Azure.IoT Build 0:6ae2f7bca550 864
Azure.IoT Build 0:6ae2f7bca550 865 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 866 }
Azure.IoT Build 0:6ae2f7bca550 867 /* properties */
Azure.IoT Build 0:6ae2f7bca550 868 item_value = amqpvalue_get_list_item(list_value, 9);
Azure.IoT Build 0:6ae2f7bca550 869 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 870 {
Azure.IoT Build 0:6ae2f7bca550 871 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 872 }
Azure.IoT Build 0:6ae2f7bca550 873 else
Azure.IoT Build 0:6ae2f7bca550 874 {
Azure.IoT Build 0:6ae2f7bca550 875 fields properties;
Azure.IoT Build 0:6ae2f7bca550 876 if (amqpvalue_get_fields(item_value, &properties) != 0)
Azure.IoT Build 0:6ae2f7bca550 877 {
Azure.IoT Build 0:6ae2f7bca550 878 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 879 {
Azure.IoT Build 0:6ae2f7bca550 880 open_destroy(*open_handle);
AzureIoTClient 19:000ab4e6a2c1 881 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 882 break;
Azure.IoT Build 0:6ae2f7bca550 883 }
Azure.IoT Build 0:6ae2f7bca550 884 }
Azure.IoT Build 0:6ae2f7bca550 885
Azure.IoT Build 0:6ae2f7bca550 886 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 887 }
Azure.IoT Build 0:6ae2f7bca550 888
Azure.IoT Build 0:6ae2f7bca550 889 open_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 890
Azure.IoT Build 0:6ae2f7bca550 891 result = 0;
Azure.IoT Build 0:6ae2f7bca550 892 } while (0);
Azure.IoT Build 0:6ae2f7bca550 893 }
Azure.IoT Build 0:6ae2f7bca550 894 }
Azure.IoT Build 0:6ae2f7bca550 895
Azure.IoT Build 0:6ae2f7bca550 896 return result;
Azure.IoT Build 0:6ae2f7bca550 897 }
Azure.IoT Build 0:6ae2f7bca550 898
Azure.IoT Build 0:6ae2f7bca550 899 int open_get_container_id(OPEN_HANDLE open, const char** container_id_value)
Azure.IoT Build 0:6ae2f7bca550 900 {
Azure.IoT Build 0:6ae2f7bca550 901 int result;
Azure.IoT Build 0:6ae2f7bca550 902
Azure.IoT Build 0:6ae2f7bca550 903 if (open == NULL)
Azure.IoT Build 0:6ae2f7bca550 904 {
AzureIoTClient 19:000ab4e6a2c1 905 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 906 }
Azure.IoT Build 0:6ae2f7bca550 907 else
Azure.IoT Build 0:6ae2f7bca550 908 {
Azure.IoT Build 0:6ae2f7bca550 909 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)open;
Azure.IoT Build 0:6ae2f7bca550 910 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(open_instance->composite_value, 0);
Azure.IoT Build 0:6ae2f7bca550 911 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 912 {
AzureIoTClient 19:000ab4e6a2c1 913 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 914 }
Azure.IoT Build 0:6ae2f7bca550 915 else
Azure.IoT Build 0:6ae2f7bca550 916 {
Azure.IoT Build 0:6ae2f7bca550 917 if (amqpvalue_get_string(item_value, container_id_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 918 {
AzureIoTClient 19:000ab4e6a2c1 919 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 920 }
Azure.IoT Build 0:6ae2f7bca550 921 else
Azure.IoT Build 0:6ae2f7bca550 922 {
Azure.IoT Build 0:6ae2f7bca550 923 result = 0;
Azure.IoT Build 0:6ae2f7bca550 924 }
Azure.IoT Build 0:6ae2f7bca550 925 }
Azure.IoT Build 0:6ae2f7bca550 926 }
Azure.IoT Build 0:6ae2f7bca550 927
Azure.IoT Build 0:6ae2f7bca550 928 return result;
Azure.IoT Build 0:6ae2f7bca550 929 }
Azure.IoT Build 0:6ae2f7bca550 930
Azure.IoT Build 0:6ae2f7bca550 931 int open_set_container_id(OPEN_HANDLE open, const char* container_id_value)
Azure.IoT Build 0:6ae2f7bca550 932 {
Azure.IoT Build 0:6ae2f7bca550 933 int result;
Azure.IoT Build 0:6ae2f7bca550 934
Azure.IoT Build 0:6ae2f7bca550 935 if (open == NULL)
Azure.IoT Build 0:6ae2f7bca550 936 {
AzureIoTClient 19:000ab4e6a2c1 937 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 938 }
Azure.IoT Build 0:6ae2f7bca550 939 else
Azure.IoT Build 0:6ae2f7bca550 940 {
Azure.IoT Build 0:6ae2f7bca550 941 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)open;
Azure.IoT Build 0:6ae2f7bca550 942 AMQP_VALUE container_id_amqp_value = amqpvalue_create_string(container_id_value);
Azure.IoT Build 0:6ae2f7bca550 943 if (container_id_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 944 {
AzureIoTClient 19:000ab4e6a2c1 945 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 946 }
Azure.IoT Build 0:6ae2f7bca550 947 else
Azure.IoT Build 0:6ae2f7bca550 948 {
Azure.IoT Build 0:6ae2f7bca550 949 if (amqpvalue_set_composite_item(open_instance->composite_value, 0, container_id_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 950 {
AzureIoTClient 19:000ab4e6a2c1 951 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 952 }
Azure.IoT Build 0:6ae2f7bca550 953 else
Azure.IoT Build 0:6ae2f7bca550 954 {
Azure.IoT Build 0:6ae2f7bca550 955 result = 0;
Azure.IoT Build 0:6ae2f7bca550 956 }
Azure.IoT Build 0:6ae2f7bca550 957
Azure.IoT Build 0:6ae2f7bca550 958 amqpvalue_destroy(container_id_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 959 }
Azure.IoT Build 0:6ae2f7bca550 960 }
Azure.IoT Build 0:6ae2f7bca550 961
Azure.IoT Build 0:6ae2f7bca550 962 return result;
Azure.IoT Build 0:6ae2f7bca550 963 }
Azure.IoT Build 0:6ae2f7bca550 964
Azure.IoT Build 0:6ae2f7bca550 965 int open_get_hostname(OPEN_HANDLE open, const char** hostname_value)
Azure.IoT Build 0:6ae2f7bca550 966 {
Azure.IoT Build 0:6ae2f7bca550 967 int result;
Azure.IoT Build 0:6ae2f7bca550 968
Azure.IoT Build 0:6ae2f7bca550 969 if (open == NULL)
Azure.IoT Build 0:6ae2f7bca550 970 {
AzureIoTClient 19:000ab4e6a2c1 971 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 972 }
Azure.IoT Build 0:6ae2f7bca550 973 else
Azure.IoT Build 0:6ae2f7bca550 974 {
Azure.IoT Build 0:6ae2f7bca550 975 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)open;
Azure.IoT Build 0:6ae2f7bca550 976 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(open_instance->composite_value, 1);
Azure.IoT Build 0:6ae2f7bca550 977 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 978 {
AzureIoTClient 19:000ab4e6a2c1 979 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 980 }
Azure.IoT Build 0:6ae2f7bca550 981 else
Azure.IoT Build 0:6ae2f7bca550 982 {
Azure.IoT Build 0:6ae2f7bca550 983 if (amqpvalue_get_string(item_value, hostname_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 984 {
AzureIoTClient 19:000ab4e6a2c1 985 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 986 }
Azure.IoT Build 0:6ae2f7bca550 987 else
Azure.IoT Build 0:6ae2f7bca550 988 {
Azure.IoT Build 0:6ae2f7bca550 989 result = 0;
Azure.IoT Build 0:6ae2f7bca550 990 }
Azure.IoT Build 0:6ae2f7bca550 991 }
Azure.IoT Build 0:6ae2f7bca550 992 }
Azure.IoT Build 0:6ae2f7bca550 993
Azure.IoT Build 0:6ae2f7bca550 994 return result;
Azure.IoT Build 0:6ae2f7bca550 995 }
Azure.IoT Build 0:6ae2f7bca550 996
Azure.IoT Build 0:6ae2f7bca550 997 int open_set_hostname(OPEN_HANDLE open, const char* hostname_value)
Azure.IoT Build 0:6ae2f7bca550 998 {
Azure.IoT Build 0:6ae2f7bca550 999 int result;
Azure.IoT Build 0:6ae2f7bca550 1000
Azure.IoT Build 0:6ae2f7bca550 1001 if (open == NULL)
Azure.IoT Build 0:6ae2f7bca550 1002 {
AzureIoTClient 19:000ab4e6a2c1 1003 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1004 }
Azure.IoT Build 0:6ae2f7bca550 1005 else
Azure.IoT Build 0:6ae2f7bca550 1006 {
Azure.IoT Build 0:6ae2f7bca550 1007 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)open;
Azure.IoT Build 0:6ae2f7bca550 1008 AMQP_VALUE hostname_amqp_value = amqpvalue_create_string(hostname_value);
Azure.IoT Build 0:6ae2f7bca550 1009 if (hostname_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1010 {
AzureIoTClient 19:000ab4e6a2c1 1011 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1012 }
Azure.IoT Build 0:6ae2f7bca550 1013 else
Azure.IoT Build 0:6ae2f7bca550 1014 {
Azure.IoT Build 0:6ae2f7bca550 1015 if (amqpvalue_set_composite_item(open_instance->composite_value, 1, hostname_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 1016 {
AzureIoTClient 19:000ab4e6a2c1 1017 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1018 }
Azure.IoT Build 0:6ae2f7bca550 1019 else
Azure.IoT Build 0:6ae2f7bca550 1020 {
Azure.IoT Build 0:6ae2f7bca550 1021 result = 0;
Azure.IoT Build 0:6ae2f7bca550 1022 }
Azure.IoT Build 0:6ae2f7bca550 1023
Azure.IoT Build 0:6ae2f7bca550 1024 amqpvalue_destroy(hostname_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 1025 }
Azure.IoT Build 0:6ae2f7bca550 1026 }
Azure.IoT Build 0:6ae2f7bca550 1027
Azure.IoT Build 0:6ae2f7bca550 1028 return result;
Azure.IoT Build 0:6ae2f7bca550 1029 }
Azure.IoT Build 0:6ae2f7bca550 1030
Azure.IoT Build 0:6ae2f7bca550 1031 int open_get_max_frame_size(OPEN_HANDLE open, uint32_t* max_frame_size_value)
Azure.IoT Build 0:6ae2f7bca550 1032 {
Azure.IoT Build 0:6ae2f7bca550 1033 int result;
Azure.IoT Build 0:6ae2f7bca550 1034
Azure.IoT Build 0:6ae2f7bca550 1035 if (open == NULL)
Azure.IoT Build 0:6ae2f7bca550 1036 {
AzureIoTClient 19:000ab4e6a2c1 1037 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1038 }
Azure.IoT Build 0:6ae2f7bca550 1039 else
Azure.IoT Build 0:6ae2f7bca550 1040 {
Azure.IoT Build 0:6ae2f7bca550 1041 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)open;
Azure.IoT Build 0:6ae2f7bca550 1042 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(open_instance->composite_value, 2);
Azure.IoT Build 0:6ae2f7bca550 1043 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1044 {
AzureIoTClient 16:22a72cf8e416 1045 *max_frame_size_value = 4294967295u;
AzureIoTClient 16:22a72cf8e416 1046 result = 0;
Azure.IoT Build 0:6ae2f7bca550 1047 }
Azure.IoT Build 0:6ae2f7bca550 1048 else
Azure.IoT Build 0:6ae2f7bca550 1049 {
Azure.IoT Build 0:6ae2f7bca550 1050 if (amqpvalue_get_uint(item_value, max_frame_size_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 1051 {
AzureIoTClient 16:22a72cf8e416 1052 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 1053 {
AzureIoTClient 19:000ab4e6a2c1 1054 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 1055 }
AzureIoTClient 16:22a72cf8e416 1056 else
AzureIoTClient 16:22a72cf8e416 1057 {
AzureIoTClient 16:22a72cf8e416 1058 *max_frame_size_value = 4294967295u;
AzureIoTClient 16:22a72cf8e416 1059 result = 0;
AzureIoTClient 16:22a72cf8e416 1060 }
Azure.IoT Build 0:6ae2f7bca550 1061 }
Azure.IoT Build 0:6ae2f7bca550 1062 else
Azure.IoT Build 0:6ae2f7bca550 1063 {
Azure.IoT Build 0:6ae2f7bca550 1064 result = 0;
Azure.IoT Build 0:6ae2f7bca550 1065 }
Azure.IoT Build 0:6ae2f7bca550 1066 }
Azure.IoT Build 0:6ae2f7bca550 1067 }
Azure.IoT Build 0:6ae2f7bca550 1068
Azure.IoT Build 0:6ae2f7bca550 1069 return result;
Azure.IoT Build 0:6ae2f7bca550 1070 }
Azure.IoT Build 0:6ae2f7bca550 1071
Azure.IoT Build 0:6ae2f7bca550 1072 int open_set_max_frame_size(OPEN_HANDLE open, uint32_t max_frame_size_value)
Azure.IoT Build 0:6ae2f7bca550 1073 {
Azure.IoT Build 0:6ae2f7bca550 1074 int result;
Azure.IoT Build 0:6ae2f7bca550 1075
Azure.IoT Build 0:6ae2f7bca550 1076 if (open == NULL)
Azure.IoT Build 0:6ae2f7bca550 1077 {
AzureIoTClient 19:000ab4e6a2c1 1078 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1079 }
Azure.IoT Build 0:6ae2f7bca550 1080 else
Azure.IoT Build 0:6ae2f7bca550 1081 {
Azure.IoT Build 0:6ae2f7bca550 1082 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)open;
Azure.IoT Build 0:6ae2f7bca550 1083 AMQP_VALUE max_frame_size_amqp_value = amqpvalue_create_uint(max_frame_size_value);
Azure.IoT Build 0:6ae2f7bca550 1084 if (max_frame_size_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1085 {
AzureIoTClient 19:000ab4e6a2c1 1086 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1087 }
Azure.IoT Build 0:6ae2f7bca550 1088 else
Azure.IoT Build 0:6ae2f7bca550 1089 {
Azure.IoT Build 0:6ae2f7bca550 1090 if (amqpvalue_set_composite_item(open_instance->composite_value, 2, max_frame_size_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 1091 {
AzureIoTClient 19:000ab4e6a2c1 1092 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1093 }
Azure.IoT Build 0:6ae2f7bca550 1094 else
Azure.IoT Build 0:6ae2f7bca550 1095 {
Azure.IoT Build 0:6ae2f7bca550 1096 result = 0;
Azure.IoT Build 0:6ae2f7bca550 1097 }
Azure.IoT Build 0:6ae2f7bca550 1098
Azure.IoT Build 0:6ae2f7bca550 1099 amqpvalue_destroy(max_frame_size_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 1100 }
Azure.IoT Build 0:6ae2f7bca550 1101 }
Azure.IoT Build 0:6ae2f7bca550 1102
Azure.IoT Build 0:6ae2f7bca550 1103 return result;
Azure.IoT Build 0:6ae2f7bca550 1104 }
Azure.IoT Build 0:6ae2f7bca550 1105
Azure.IoT Build 0:6ae2f7bca550 1106 int open_get_channel_max(OPEN_HANDLE open, uint16_t* channel_max_value)
Azure.IoT Build 0:6ae2f7bca550 1107 {
Azure.IoT Build 0:6ae2f7bca550 1108 int result;
Azure.IoT Build 0:6ae2f7bca550 1109
Azure.IoT Build 0:6ae2f7bca550 1110 if (open == NULL)
Azure.IoT Build 0:6ae2f7bca550 1111 {
AzureIoTClient 19:000ab4e6a2c1 1112 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1113 }
Azure.IoT Build 0:6ae2f7bca550 1114 else
Azure.IoT Build 0:6ae2f7bca550 1115 {
Azure.IoT Build 0:6ae2f7bca550 1116 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)open;
Azure.IoT Build 0:6ae2f7bca550 1117 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(open_instance->composite_value, 3);
Azure.IoT Build 0:6ae2f7bca550 1118 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1119 {
AzureIoTClient 16:22a72cf8e416 1120 *channel_max_value = 65535;
AzureIoTClient 16:22a72cf8e416 1121 result = 0;
Azure.IoT Build 0:6ae2f7bca550 1122 }
Azure.IoT Build 0:6ae2f7bca550 1123 else
Azure.IoT Build 0:6ae2f7bca550 1124 {
Azure.IoT Build 0:6ae2f7bca550 1125 if (amqpvalue_get_ushort(item_value, channel_max_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 1126 {
AzureIoTClient 16:22a72cf8e416 1127 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 1128 {
AzureIoTClient 19:000ab4e6a2c1 1129 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 1130 }
AzureIoTClient 16:22a72cf8e416 1131 else
AzureIoTClient 16:22a72cf8e416 1132 {
AzureIoTClient 16:22a72cf8e416 1133 *channel_max_value = 65535;
AzureIoTClient 16:22a72cf8e416 1134 result = 0;
AzureIoTClient 16:22a72cf8e416 1135 }
Azure.IoT Build 0:6ae2f7bca550 1136 }
Azure.IoT Build 0:6ae2f7bca550 1137 else
Azure.IoT Build 0:6ae2f7bca550 1138 {
Azure.IoT Build 0:6ae2f7bca550 1139 result = 0;
Azure.IoT Build 0:6ae2f7bca550 1140 }
Azure.IoT Build 0:6ae2f7bca550 1141 }
Azure.IoT Build 0:6ae2f7bca550 1142 }
Azure.IoT Build 0:6ae2f7bca550 1143
Azure.IoT Build 0:6ae2f7bca550 1144 return result;
Azure.IoT Build 0:6ae2f7bca550 1145 }
Azure.IoT Build 0:6ae2f7bca550 1146
Azure.IoT Build 0:6ae2f7bca550 1147 int open_set_channel_max(OPEN_HANDLE open, uint16_t channel_max_value)
Azure.IoT Build 0:6ae2f7bca550 1148 {
Azure.IoT Build 0:6ae2f7bca550 1149 int result;
Azure.IoT Build 0:6ae2f7bca550 1150
Azure.IoT Build 0:6ae2f7bca550 1151 if (open == NULL)
Azure.IoT Build 0:6ae2f7bca550 1152 {
AzureIoTClient 19:000ab4e6a2c1 1153 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1154 }
Azure.IoT Build 0:6ae2f7bca550 1155 else
Azure.IoT Build 0:6ae2f7bca550 1156 {
Azure.IoT Build 0:6ae2f7bca550 1157 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)open;
Azure.IoT Build 0:6ae2f7bca550 1158 AMQP_VALUE channel_max_amqp_value = amqpvalue_create_ushort(channel_max_value);
Azure.IoT Build 0:6ae2f7bca550 1159 if (channel_max_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1160 {
AzureIoTClient 19:000ab4e6a2c1 1161 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1162 }
Azure.IoT Build 0:6ae2f7bca550 1163 else
Azure.IoT Build 0:6ae2f7bca550 1164 {
Azure.IoT Build 0:6ae2f7bca550 1165 if (amqpvalue_set_composite_item(open_instance->composite_value, 3, channel_max_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 1166 {
AzureIoTClient 19:000ab4e6a2c1 1167 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1168 }
Azure.IoT Build 0:6ae2f7bca550 1169 else
Azure.IoT Build 0:6ae2f7bca550 1170 {
Azure.IoT Build 0:6ae2f7bca550 1171 result = 0;
Azure.IoT Build 0:6ae2f7bca550 1172 }
Azure.IoT Build 0:6ae2f7bca550 1173
Azure.IoT Build 0:6ae2f7bca550 1174 amqpvalue_destroy(channel_max_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 1175 }
Azure.IoT Build 0:6ae2f7bca550 1176 }
Azure.IoT Build 0:6ae2f7bca550 1177
Azure.IoT Build 0:6ae2f7bca550 1178 return result;
Azure.IoT Build 0:6ae2f7bca550 1179 }
Azure.IoT Build 0:6ae2f7bca550 1180
Azure.IoT Build 0:6ae2f7bca550 1181 int open_get_idle_time_out(OPEN_HANDLE open, milliseconds* idle_time_out_value)
Azure.IoT Build 0:6ae2f7bca550 1182 {
Azure.IoT Build 0:6ae2f7bca550 1183 int result;
Azure.IoT Build 0:6ae2f7bca550 1184
Azure.IoT Build 0:6ae2f7bca550 1185 if (open == NULL)
Azure.IoT Build 0:6ae2f7bca550 1186 {
AzureIoTClient 19:000ab4e6a2c1 1187 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1188 }
Azure.IoT Build 0:6ae2f7bca550 1189 else
Azure.IoT Build 0:6ae2f7bca550 1190 {
Azure.IoT Build 0:6ae2f7bca550 1191 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)open;
Azure.IoT Build 0:6ae2f7bca550 1192 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(open_instance->composite_value, 4);
Azure.IoT Build 0:6ae2f7bca550 1193 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1194 {
AzureIoTClient 19:000ab4e6a2c1 1195 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1196 }
Azure.IoT Build 0:6ae2f7bca550 1197 else
Azure.IoT Build 0:6ae2f7bca550 1198 {
Azure.IoT Build 0:6ae2f7bca550 1199 if (amqpvalue_get_milliseconds(item_value, idle_time_out_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 1200 {
AzureIoTClient 19:000ab4e6a2c1 1201 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1202 }
Azure.IoT Build 0:6ae2f7bca550 1203 else
Azure.IoT Build 0:6ae2f7bca550 1204 {
Azure.IoT Build 0:6ae2f7bca550 1205 result = 0;
Azure.IoT Build 0:6ae2f7bca550 1206 }
Azure.IoT Build 0:6ae2f7bca550 1207 }
Azure.IoT Build 0:6ae2f7bca550 1208 }
Azure.IoT Build 0:6ae2f7bca550 1209
Azure.IoT Build 0:6ae2f7bca550 1210 return result;
Azure.IoT Build 0:6ae2f7bca550 1211 }
Azure.IoT Build 0:6ae2f7bca550 1212
Azure.IoT Build 0:6ae2f7bca550 1213 int open_set_idle_time_out(OPEN_HANDLE open, milliseconds idle_time_out_value)
Azure.IoT Build 0:6ae2f7bca550 1214 {
Azure.IoT Build 0:6ae2f7bca550 1215 int result;
Azure.IoT Build 0:6ae2f7bca550 1216
Azure.IoT Build 0:6ae2f7bca550 1217 if (open == NULL)
Azure.IoT Build 0:6ae2f7bca550 1218 {
AzureIoTClient 19:000ab4e6a2c1 1219 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1220 }
Azure.IoT Build 0:6ae2f7bca550 1221 else
Azure.IoT Build 0:6ae2f7bca550 1222 {
Azure.IoT Build 0:6ae2f7bca550 1223 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)open;
Azure.IoT Build 0:6ae2f7bca550 1224 AMQP_VALUE idle_time_out_amqp_value = amqpvalue_create_milliseconds(idle_time_out_value);
Azure.IoT Build 0:6ae2f7bca550 1225 if (idle_time_out_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1226 {
AzureIoTClient 19:000ab4e6a2c1 1227 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1228 }
Azure.IoT Build 0:6ae2f7bca550 1229 else
Azure.IoT Build 0:6ae2f7bca550 1230 {
Azure.IoT Build 0:6ae2f7bca550 1231 if (amqpvalue_set_composite_item(open_instance->composite_value, 4, idle_time_out_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 1232 {
AzureIoTClient 19:000ab4e6a2c1 1233 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1234 }
Azure.IoT Build 0:6ae2f7bca550 1235 else
Azure.IoT Build 0:6ae2f7bca550 1236 {
Azure.IoT Build 0:6ae2f7bca550 1237 result = 0;
Azure.IoT Build 0:6ae2f7bca550 1238 }
Azure.IoT Build 0:6ae2f7bca550 1239
Azure.IoT Build 0:6ae2f7bca550 1240 amqpvalue_destroy(idle_time_out_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 1241 }
Azure.IoT Build 0:6ae2f7bca550 1242 }
Azure.IoT Build 0:6ae2f7bca550 1243
Azure.IoT Build 0:6ae2f7bca550 1244 return result;
Azure.IoT Build 0:6ae2f7bca550 1245 }
Azure.IoT Build 0:6ae2f7bca550 1246
Azure.IoT Build 0:6ae2f7bca550 1247 int open_get_outgoing_locales(OPEN_HANDLE open, AMQP_VALUE* outgoing_locales_value)
Azure.IoT Build 0:6ae2f7bca550 1248 {
Azure.IoT Build 0:6ae2f7bca550 1249 int result;
Azure.IoT Build 0:6ae2f7bca550 1250
Azure.IoT Build 0:6ae2f7bca550 1251 if (open == NULL)
Azure.IoT Build 0:6ae2f7bca550 1252 {
AzureIoTClient 19:000ab4e6a2c1 1253 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1254 }
Azure.IoT Build 0:6ae2f7bca550 1255 else
Azure.IoT Build 0:6ae2f7bca550 1256 {
Azure.IoT Build 0:6ae2f7bca550 1257 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)open;
Azure.IoT Build 0:6ae2f7bca550 1258 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(open_instance->composite_value, 5);
Azure.IoT Build 0:6ae2f7bca550 1259 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1260 {
AzureIoTClient 19:000ab4e6a2c1 1261 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1262 }
Azure.IoT Build 0:6ae2f7bca550 1263 else
Azure.IoT Build 0:6ae2f7bca550 1264 {
Azure.IoT Build 0:6ae2f7bca550 1265 if (amqpvalue_get_array(item_value, outgoing_locales_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 1266 {
AzureIoTClient 19:000ab4e6a2c1 1267 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1268 }
Azure.IoT Build 0:6ae2f7bca550 1269 else
Azure.IoT Build 0:6ae2f7bca550 1270 {
Azure.IoT Build 0:6ae2f7bca550 1271 result = 0;
Azure.IoT Build 0:6ae2f7bca550 1272 }
Azure.IoT Build 0:6ae2f7bca550 1273 }
Azure.IoT Build 0:6ae2f7bca550 1274 }
Azure.IoT Build 0:6ae2f7bca550 1275
Azure.IoT Build 0:6ae2f7bca550 1276 return result;
Azure.IoT Build 0:6ae2f7bca550 1277 }
Azure.IoT Build 0:6ae2f7bca550 1278
Azure.IoT Build 0:6ae2f7bca550 1279 int open_set_outgoing_locales(OPEN_HANDLE open, AMQP_VALUE outgoing_locales_value)
Azure.IoT Build 0:6ae2f7bca550 1280 {
Azure.IoT Build 0:6ae2f7bca550 1281 int result;
Azure.IoT Build 0:6ae2f7bca550 1282
Azure.IoT Build 0:6ae2f7bca550 1283 if (open == NULL)
Azure.IoT Build 0:6ae2f7bca550 1284 {
AzureIoTClient 19:000ab4e6a2c1 1285 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1286 }
Azure.IoT Build 0:6ae2f7bca550 1287 else
Azure.IoT Build 0:6ae2f7bca550 1288 {
Azure.IoT Build 0:6ae2f7bca550 1289 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)open;
Azure.IoT Build 0:6ae2f7bca550 1290 AMQP_VALUE outgoing_locales_amqp_value = amqpvalue_clone(outgoing_locales_value);
Azure.IoT Build 0:6ae2f7bca550 1291 if (outgoing_locales_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1292 {
AzureIoTClient 19:000ab4e6a2c1 1293 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1294 }
Azure.IoT Build 0:6ae2f7bca550 1295 else
Azure.IoT Build 0:6ae2f7bca550 1296 {
Azure.IoT Build 0:6ae2f7bca550 1297 if (amqpvalue_set_composite_item(open_instance->composite_value, 5, outgoing_locales_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 1298 {
AzureIoTClient 19:000ab4e6a2c1 1299 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1300 }
Azure.IoT Build 0:6ae2f7bca550 1301 else
Azure.IoT Build 0:6ae2f7bca550 1302 {
Azure.IoT Build 0:6ae2f7bca550 1303 result = 0;
Azure.IoT Build 0:6ae2f7bca550 1304 }
Azure.IoT Build 0:6ae2f7bca550 1305
Azure.IoT Build 0:6ae2f7bca550 1306 amqpvalue_destroy(outgoing_locales_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 1307 }
Azure.IoT Build 0:6ae2f7bca550 1308 }
Azure.IoT Build 0:6ae2f7bca550 1309
Azure.IoT Build 0:6ae2f7bca550 1310 return result;
Azure.IoT Build 0:6ae2f7bca550 1311 }
Azure.IoT Build 0:6ae2f7bca550 1312
Azure.IoT Build 0:6ae2f7bca550 1313 int open_get_incoming_locales(OPEN_HANDLE open, AMQP_VALUE* incoming_locales_value)
Azure.IoT Build 0:6ae2f7bca550 1314 {
Azure.IoT Build 0:6ae2f7bca550 1315 int result;
Azure.IoT Build 0:6ae2f7bca550 1316
Azure.IoT Build 0:6ae2f7bca550 1317 if (open == NULL)
Azure.IoT Build 0:6ae2f7bca550 1318 {
AzureIoTClient 19:000ab4e6a2c1 1319 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1320 }
Azure.IoT Build 0:6ae2f7bca550 1321 else
Azure.IoT Build 0:6ae2f7bca550 1322 {
Azure.IoT Build 0:6ae2f7bca550 1323 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)open;
Azure.IoT Build 0:6ae2f7bca550 1324 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(open_instance->composite_value, 6);
Azure.IoT Build 0:6ae2f7bca550 1325 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1326 {
AzureIoTClient 19:000ab4e6a2c1 1327 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1328 }
Azure.IoT Build 0:6ae2f7bca550 1329 else
Azure.IoT Build 0:6ae2f7bca550 1330 {
Azure.IoT Build 0:6ae2f7bca550 1331 if (amqpvalue_get_array(item_value, incoming_locales_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 1332 {
AzureIoTClient 19:000ab4e6a2c1 1333 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1334 }
Azure.IoT Build 0:6ae2f7bca550 1335 else
Azure.IoT Build 0:6ae2f7bca550 1336 {
Azure.IoT Build 0:6ae2f7bca550 1337 result = 0;
Azure.IoT Build 0:6ae2f7bca550 1338 }
Azure.IoT Build 0:6ae2f7bca550 1339 }
Azure.IoT Build 0:6ae2f7bca550 1340 }
Azure.IoT Build 0:6ae2f7bca550 1341
Azure.IoT Build 0:6ae2f7bca550 1342 return result;
Azure.IoT Build 0:6ae2f7bca550 1343 }
Azure.IoT Build 0:6ae2f7bca550 1344
Azure.IoT Build 0:6ae2f7bca550 1345 int open_set_incoming_locales(OPEN_HANDLE open, AMQP_VALUE incoming_locales_value)
Azure.IoT Build 0:6ae2f7bca550 1346 {
Azure.IoT Build 0:6ae2f7bca550 1347 int result;
Azure.IoT Build 0:6ae2f7bca550 1348
Azure.IoT Build 0:6ae2f7bca550 1349 if (open == NULL)
Azure.IoT Build 0:6ae2f7bca550 1350 {
AzureIoTClient 19:000ab4e6a2c1 1351 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1352 }
Azure.IoT Build 0:6ae2f7bca550 1353 else
Azure.IoT Build 0:6ae2f7bca550 1354 {
Azure.IoT Build 0:6ae2f7bca550 1355 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)open;
Azure.IoT Build 0:6ae2f7bca550 1356 AMQP_VALUE incoming_locales_amqp_value = amqpvalue_clone(incoming_locales_value);
Azure.IoT Build 0:6ae2f7bca550 1357 if (incoming_locales_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1358 {
AzureIoTClient 19:000ab4e6a2c1 1359 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1360 }
Azure.IoT Build 0:6ae2f7bca550 1361 else
Azure.IoT Build 0:6ae2f7bca550 1362 {
Azure.IoT Build 0:6ae2f7bca550 1363 if (amqpvalue_set_composite_item(open_instance->composite_value, 6, incoming_locales_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 1364 {
AzureIoTClient 19:000ab4e6a2c1 1365 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1366 }
Azure.IoT Build 0:6ae2f7bca550 1367 else
Azure.IoT Build 0:6ae2f7bca550 1368 {
Azure.IoT Build 0:6ae2f7bca550 1369 result = 0;
Azure.IoT Build 0:6ae2f7bca550 1370 }
Azure.IoT Build 0:6ae2f7bca550 1371
Azure.IoT Build 0:6ae2f7bca550 1372 amqpvalue_destroy(incoming_locales_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 1373 }
Azure.IoT Build 0:6ae2f7bca550 1374 }
Azure.IoT Build 0:6ae2f7bca550 1375
Azure.IoT Build 0:6ae2f7bca550 1376 return result;
Azure.IoT Build 0:6ae2f7bca550 1377 }
Azure.IoT Build 0:6ae2f7bca550 1378
Azure.IoT Build 0:6ae2f7bca550 1379 int open_get_offered_capabilities(OPEN_HANDLE open, AMQP_VALUE* offered_capabilities_value)
Azure.IoT Build 0:6ae2f7bca550 1380 {
Azure.IoT Build 0:6ae2f7bca550 1381 int result;
Azure.IoT Build 0:6ae2f7bca550 1382
Azure.IoT Build 0:6ae2f7bca550 1383 if (open == NULL)
Azure.IoT Build 0:6ae2f7bca550 1384 {
AzureIoTClient 19:000ab4e6a2c1 1385 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1386 }
Azure.IoT Build 0:6ae2f7bca550 1387 else
Azure.IoT Build 0:6ae2f7bca550 1388 {
Azure.IoT Build 0:6ae2f7bca550 1389 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)open;
Azure.IoT Build 0:6ae2f7bca550 1390 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(open_instance->composite_value, 7);
Azure.IoT Build 0:6ae2f7bca550 1391 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1392 {
AzureIoTClient 19:000ab4e6a2c1 1393 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1394 }
Azure.IoT Build 0:6ae2f7bca550 1395 else
Azure.IoT Build 0:6ae2f7bca550 1396 {
Azure.IoT Build 0:6ae2f7bca550 1397 if (amqpvalue_get_array(item_value, offered_capabilities_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 1398 {
AzureIoTClient 19:000ab4e6a2c1 1399 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1400 }
Azure.IoT Build 0:6ae2f7bca550 1401 else
Azure.IoT Build 0:6ae2f7bca550 1402 {
Azure.IoT Build 0:6ae2f7bca550 1403 result = 0;
Azure.IoT Build 0:6ae2f7bca550 1404 }
Azure.IoT Build 0:6ae2f7bca550 1405 }
Azure.IoT Build 0:6ae2f7bca550 1406 }
Azure.IoT Build 0:6ae2f7bca550 1407
Azure.IoT Build 0:6ae2f7bca550 1408 return result;
Azure.IoT Build 0:6ae2f7bca550 1409 }
Azure.IoT Build 0:6ae2f7bca550 1410
Azure.IoT Build 0:6ae2f7bca550 1411 int open_set_offered_capabilities(OPEN_HANDLE open, AMQP_VALUE offered_capabilities_value)
Azure.IoT Build 0:6ae2f7bca550 1412 {
Azure.IoT Build 0:6ae2f7bca550 1413 int result;
Azure.IoT Build 0:6ae2f7bca550 1414
Azure.IoT Build 0:6ae2f7bca550 1415 if (open == NULL)
Azure.IoT Build 0:6ae2f7bca550 1416 {
AzureIoTClient 19:000ab4e6a2c1 1417 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1418 }
Azure.IoT Build 0:6ae2f7bca550 1419 else
Azure.IoT Build 0:6ae2f7bca550 1420 {
Azure.IoT Build 0:6ae2f7bca550 1421 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)open;
Azure.IoT Build 0:6ae2f7bca550 1422 AMQP_VALUE offered_capabilities_amqp_value = amqpvalue_clone(offered_capabilities_value);
Azure.IoT Build 0:6ae2f7bca550 1423 if (offered_capabilities_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1424 {
AzureIoTClient 19:000ab4e6a2c1 1425 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1426 }
Azure.IoT Build 0:6ae2f7bca550 1427 else
Azure.IoT Build 0:6ae2f7bca550 1428 {
Azure.IoT Build 0:6ae2f7bca550 1429 if (amqpvalue_set_composite_item(open_instance->composite_value, 7, offered_capabilities_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 1430 {
AzureIoTClient 19:000ab4e6a2c1 1431 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1432 }
Azure.IoT Build 0:6ae2f7bca550 1433 else
Azure.IoT Build 0:6ae2f7bca550 1434 {
Azure.IoT Build 0:6ae2f7bca550 1435 result = 0;
Azure.IoT Build 0:6ae2f7bca550 1436 }
Azure.IoT Build 0:6ae2f7bca550 1437
Azure.IoT Build 0:6ae2f7bca550 1438 amqpvalue_destroy(offered_capabilities_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 1439 }
Azure.IoT Build 0:6ae2f7bca550 1440 }
Azure.IoT Build 0:6ae2f7bca550 1441
Azure.IoT Build 0:6ae2f7bca550 1442 return result;
Azure.IoT Build 0:6ae2f7bca550 1443 }
Azure.IoT Build 0:6ae2f7bca550 1444
Azure.IoT Build 0:6ae2f7bca550 1445 int open_get_desired_capabilities(OPEN_HANDLE open, AMQP_VALUE* desired_capabilities_value)
Azure.IoT Build 0:6ae2f7bca550 1446 {
Azure.IoT Build 0:6ae2f7bca550 1447 int result;
Azure.IoT Build 0:6ae2f7bca550 1448
Azure.IoT Build 0:6ae2f7bca550 1449 if (open == NULL)
Azure.IoT Build 0:6ae2f7bca550 1450 {
AzureIoTClient 19:000ab4e6a2c1 1451 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1452 }
Azure.IoT Build 0:6ae2f7bca550 1453 else
Azure.IoT Build 0:6ae2f7bca550 1454 {
Azure.IoT Build 0:6ae2f7bca550 1455 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)open;
Azure.IoT Build 0:6ae2f7bca550 1456 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(open_instance->composite_value, 8);
Azure.IoT Build 0:6ae2f7bca550 1457 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1458 {
AzureIoTClient 19:000ab4e6a2c1 1459 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1460 }
Azure.IoT Build 0:6ae2f7bca550 1461 else
Azure.IoT Build 0:6ae2f7bca550 1462 {
Azure.IoT Build 0:6ae2f7bca550 1463 if (amqpvalue_get_array(item_value, desired_capabilities_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 1464 {
AzureIoTClient 19:000ab4e6a2c1 1465 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1466 }
Azure.IoT Build 0:6ae2f7bca550 1467 else
Azure.IoT Build 0:6ae2f7bca550 1468 {
Azure.IoT Build 0:6ae2f7bca550 1469 result = 0;
Azure.IoT Build 0:6ae2f7bca550 1470 }
Azure.IoT Build 0:6ae2f7bca550 1471 }
Azure.IoT Build 0:6ae2f7bca550 1472 }
Azure.IoT Build 0:6ae2f7bca550 1473
Azure.IoT Build 0:6ae2f7bca550 1474 return result;
Azure.IoT Build 0:6ae2f7bca550 1475 }
Azure.IoT Build 0:6ae2f7bca550 1476
Azure.IoT Build 0:6ae2f7bca550 1477 int open_set_desired_capabilities(OPEN_HANDLE open, AMQP_VALUE desired_capabilities_value)
Azure.IoT Build 0:6ae2f7bca550 1478 {
Azure.IoT Build 0:6ae2f7bca550 1479 int result;
Azure.IoT Build 0:6ae2f7bca550 1480
Azure.IoT Build 0:6ae2f7bca550 1481 if (open == NULL)
Azure.IoT Build 0:6ae2f7bca550 1482 {
AzureIoTClient 19:000ab4e6a2c1 1483 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1484 }
Azure.IoT Build 0:6ae2f7bca550 1485 else
Azure.IoT Build 0:6ae2f7bca550 1486 {
Azure.IoT Build 0:6ae2f7bca550 1487 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)open;
Azure.IoT Build 0:6ae2f7bca550 1488 AMQP_VALUE desired_capabilities_amqp_value = amqpvalue_clone(desired_capabilities_value);
Azure.IoT Build 0:6ae2f7bca550 1489 if (desired_capabilities_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1490 {
AzureIoTClient 19:000ab4e6a2c1 1491 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1492 }
Azure.IoT Build 0:6ae2f7bca550 1493 else
Azure.IoT Build 0:6ae2f7bca550 1494 {
Azure.IoT Build 0:6ae2f7bca550 1495 if (amqpvalue_set_composite_item(open_instance->composite_value, 8, desired_capabilities_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 1496 {
AzureIoTClient 19:000ab4e6a2c1 1497 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1498 }
Azure.IoT Build 0:6ae2f7bca550 1499 else
Azure.IoT Build 0:6ae2f7bca550 1500 {
Azure.IoT Build 0:6ae2f7bca550 1501 result = 0;
Azure.IoT Build 0:6ae2f7bca550 1502 }
Azure.IoT Build 0:6ae2f7bca550 1503
Azure.IoT Build 0:6ae2f7bca550 1504 amqpvalue_destroy(desired_capabilities_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 1505 }
Azure.IoT Build 0:6ae2f7bca550 1506 }
Azure.IoT Build 0:6ae2f7bca550 1507
Azure.IoT Build 0:6ae2f7bca550 1508 return result;
Azure.IoT Build 0:6ae2f7bca550 1509 }
Azure.IoT Build 0:6ae2f7bca550 1510
Azure.IoT Build 0:6ae2f7bca550 1511 int open_get_properties(OPEN_HANDLE open, fields* properties_value)
Azure.IoT Build 0:6ae2f7bca550 1512 {
Azure.IoT Build 0:6ae2f7bca550 1513 int result;
Azure.IoT Build 0:6ae2f7bca550 1514
Azure.IoT Build 0:6ae2f7bca550 1515 if (open == NULL)
Azure.IoT Build 0:6ae2f7bca550 1516 {
AzureIoTClient 19:000ab4e6a2c1 1517 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1518 }
Azure.IoT Build 0:6ae2f7bca550 1519 else
Azure.IoT Build 0:6ae2f7bca550 1520 {
Azure.IoT Build 0:6ae2f7bca550 1521 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)open;
Azure.IoT Build 0:6ae2f7bca550 1522 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(open_instance->composite_value, 9);
Azure.IoT Build 0:6ae2f7bca550 1523 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1524 {
AzureIoTClient 19:000ab4e6a2c1 1525 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1526 }
Azure.IoT Build 0:6ae2f7bca550 1527 else
Azure.IoT Build 0:6ae2f7bca550 1528 {
Azure.IoT Build 0:6ae2f7bca550 1529 if (amqpvalue_get_fields(item_value, properties_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 1530 {
AzureIoTClient 19:000ab4e6a2c1 1531 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1532 }
Azure.IoT Build 0:6ae2f7bca550 1533 else
Azure.IoT Build 0:6ae2f7bca550 1534 {
Azure.IoT Build 0:6ae2f7bca550 1535 result = 0;
Azure.IoT Build 0:6ae2f7bca550 1536 }
Azure.IoT Build 0:6ae2f7bca550 1537 }
Azure.IoT Build 0:6ae2f7bca550 1538 }
Azure.IoT Build 0:6ae2f7bca550 1539
Azure.IoT Build 0:6ae2f7bca550 1540 return result;
Azure.IoT Build 0:6ae2f7bca550 1541 }
Azure.IoT Build 0:6ae2f7bca550 1542
Azure.IoT Build 0:6ae2f7bca550 1543 int open_set_properties(OPEN_HANDLE open, fields properties_value)
Azure.IoT Build 0:6ae2f7bca550 1544 {
Azure.IoT Build 0:6ae2f7bca550 1545 int result;
Azure.IoT Build 0:6ae2f7bca550 1546
Azure.IoT Build 0:6ae2f7bca550 1547 if (open == NULL)
Azure.IoT Build 0:6ae2f7bca550 1548 {
AzureIoTClient 19:000ab4e6a2c1 1549 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1550 }
Azure.IoT Build 0:6ae2f7bca550 1551 else
Azure.IoT Build 0:6ae2f7bca550 1552 {
Azure.IoT Build 0:6ae2f7bca550 1553 OPEN_INSTANCE* open_instance = (OPEN_INSTANCE*)open;
Azure.IoT Build 0:6ae2f7bca550 1554 AMQP_VALUE properties_amqp_value = amqpvalue_create_fields(properties_value);
Azure.IoT Build 0:6ae2f7bca550 1555 if (properties_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1556 {
AzureIoTClient 19:000ab4e6a2c1 1557 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1558 }
Azure.IoT Build 0:6ae2f7bca550 1559 else
Azure.IoT Build 0:6ae2f7bca550 1560 {
Azure.IoT Build 0:6ae2f7bca550 1561 if (amqpvalue_set_composite_item(open_instance->composite_value, 9, properties_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 1562 {
AzureIoTClient 19:000ab4e6a2c1 1563 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1564 }
Azure.IoT Build 0:6ae2f7bca550 1565 else
Azure.IoT Build 0:6ae2f7bca550 1566 {
Azure.IoT Build 0:6ae2f7bca550 1567 result = 0;
Azure.IoT Build 0:6ae2f7bca550 1568 }
Azure.IoT Build 0:6ae2f7bca550 1569
Azure.IoT Build 0:6ae2f7bca550 1570 amqpvalue_destroy(properties_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 1571 }
Azure.IoT Build 0:6ae2f7bca550 1572 }
Azure.IoT Build 0:6ae2f7bca550 1573
Azure.IoT Build 0:6ae2f7bca550 1574 return result;
Azure.IoT Build 0:6ae2f7bca550 1575 }
Azure.IoT Build 0:6ae2f7bca550 1576
Azure.IoT Build 0:6ae2f7bca550 1577
Azure.IoT Build 0:6ae2f7bca550 1578 /* begin */
Azure.IoT Build 0:6ae2f7bca550 1579
Azure.IoT Build 0:6ae2f7bca550 1580 typedef struct BEGIN_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 1581 {
Azure.IoT Build 0:6ae2f7bca550 1582 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 1583 } BEGIN_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 1584
Azure.IoT Build 0:6ae2f7bca550 1585 static BEGIN_HANDLE begin_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 1586 {
Azure.IoT Build 0:6ae2f7bca550 1587 BEGIN_INSTANCE* begin_instance = (BEGIN_INSTANCE*)amqpalloc_malloc(sizeof(BEGIN_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 1588 if (begin_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 1589 {
Azure.IoT Build 0:6ae2f7bca550 1590 begin_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 1591 }
Azure.IoT Build 0:6ae2f7bca550 1592
Azure.IoT Build 0:6ae2f7bca550 1593 return begin_instance;
Azure.IoT Build 0:6ae2f7bca550 1594 }
Azure.IoT Build 0:6ae2f7bca550 1595
Azure.IoT Build 0:6ae2f7bca550 1596 BEGIN_HANDLE begin_create(transfer_number next_outgoing_id_value, uint32_t incoming_window_value, uint32_t outgoing_window_value)
Azure.IoT Build 0:6ae2f7bca550 1597 {
Azure.IoT Build 0:6ae2f7bca550 1598 BEGIN_INSTANCE* begin_instance = (BEGIN_INSTANCE*)amqpalloc_malloc(sizeof(BEGIN_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 1599 if (begin_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 1600 {
Azure.IoT Build 0:6ae2f7bca550 1601 begin_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(17);
Azure.IoT Build 0:6ae2f7bca550 1602 if (begin_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1603 {
Azure.IoT Build 0:6ae2f7bca550 1604 amqpalloc_free(begin_instance);
Azure.IoT Build 0:6ae2f7bca550 1605 begin_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 1606 }
Azure.IoT Build 0:6ae2f7bca550 1607 else
Azure.IoT Build 0:6ae2f7bca550 1608 {
Azure.IoT Build 0:6ae2f7bca550 1609 AMQP_VALUE next_outgoing_id_amqp_value;
Azure.IoT Build 0:6ae2f7bca550 1610 AMQP_VALUE incoming_window_amqp_value;
Azure.IoT Build 0:6ae2f7bca550 1611 AMQP_VALUE outgoing_window_amqp_value;
Azure.IoT Build 0:6ae2f7bca550 1612 int result = 0;
Azure.IoT Build 0:6ae2f7bca550 1613
Azure.IoT Build 0:6ae2f7bca550 1614 next_outgoing_id_amqp_value = amqpvalue_create_transfer_number(next_outgoing_id_value);
Azure.IoT Build 0:6ae2f7bca550 1615 if ((result == 0) && (amqpvalue_set_composite_item(begin_instance->composite_value, 1, next_outgoing_id_amqp_value) != 0))
Azure.IoT Build 0:6ae2f7bca550 1616 {
AzureIoTClient 19:000ab4e6a2c1 1617 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1618 }
Azure.IoT Build 0:6ae2f7bca550 1619 incoming_window_amqp_value = amqpvalue_create_uint(incoming_window_value);
Azure.IoT Build 0:6ae2f7bca550 1620 if ((result == 0) && (amqpvalue_set_composite_item(begin_instance->composite_value, 2, incoming_window_amqp_value) != 0))
Azure.IoT Build 0:6ae2f7bca550 1621 {
AzureIoTClient 19:000ab4e6a2c1 1622 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1623 }
Azure.IoT Build 0:6ae2f7bca550 1624 outgoing_window_amqp_value = amqpvalue_create_uint(outgoing_window_value);
Azure.IoT Build 0:6ae2f7bca550 1625 if ((result == 0) && (amqpvalue_set_composite_item(begin_instance->composite_value, 3, outgoing_window_amqp_value) != 0))
Azure.IoT Build 0:6ae2f7bca550 1626 {
AzureIoTClient 19:000ab4e6a2c1 1627 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1628 }
Azure.IoT Build 0:6ae2f7bca550 1629
Azure.IoT Build 0:6ae2f7bca550 1630 amqpvalue_destroy(next_outgoing_id_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 1631 amqpvalue_destroy(incoming_window_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 1632 amqpvalue_destroy(outgoing_window_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 1633 }
Azure.IoT Build 0:6ae2f7bca550 1634 }
Azure.IoT Build 0:6ae2f7bca550 1635
Azure.IoT Build 0:6ae2f7bca550 1636 return begin_instance;
Azure.IoT Build 0:6ae2f7bca550 1637 }
Azure.IoT Build 0:6ae2f7bca550 1638
Azure.IoT Build 0:6ae2f7bca550 1639 BEGIN_HANDLE begin_clone(BEGIN_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 1640 {
Azure.IoT Build 0:6ae2f7bca550 1641 BEGIN_INSTANCE* begin_instance = (BEGIN_INSTANCE*)amqpalloc_malloc(sizeof(BEGIN_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 1642 if (begin_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 1643 {
Azure.IoT Build 0:6ae2f7bca550 1644 begin_instance->composite_value = amqpvalue_clone(((BEGIN_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 1645 if (begin_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1646 {
Azure.IoT Build 0:6ae2f7bca550 1647 amqpalloc_free(begin_instance);
Azure.IoT Build 0:6ae2f7bca550 1648 begin_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 1649 }
Azure.IoT Build 0:6ae2f7bca550 1650 }
Azure.IoT Build 0:6ae2f7bca550 1651
Azure.IoT Build 0:6ae2f7bca550 1652 return begin_instance;
Azure.IoT Build 0:6ae2f7bca550 1653 }
Azure.IoT Build 0:6ae2f7bca550 1654
Azure.IoT Build 0:6ae2f7bca550 1655 void begin_destroy(BEGIN_HANDLE begin)
Azure.IoT Build 0:6ae2f7bca550 1656 {
Azure.IoT Build 0:6ae2f7bca550 1657 if (begin != NULL)
Azure.IoT Build 0:6ae2f7bca550 1658 {
Azure.IoT Build 0:6ae2f7bca550 1659 BEGIN_INSTANCE* begin_instance = (BEGIN_INSTANCE*)begin;
Azure.IoT Build 0:6ae2f7bca550 1660 amqpvalue_destroy(begin_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 1661 amqpalloc_free(begin_instance);
Azure.IoT Build 0:6ae2f7bca550 1662 }
Azure.IoT Build 0:6ae2f7bca550 1663 }
Azure.IoT Build 0:6ae2f7bca550 1664
Azure.IoT Build 0:6ae2f7bca550 1665 AMQP_VALUE amqpvalue_create_begin(BEGIN_HANDLE begin)
Azure.IoT Build 0:6ae2f7bca550 1666 {
Azure.IoT Build 0:6ae2f7bca550 1667 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 1668
Azure.IoT Build 0:6ae2f7bca550 1669 if (begin == NULL)
Azure.IoT Build 0:6ae2f7bca550 1670 {
Azure.IoT Build 0:6ae2f7bca550 1671 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 1672 }
Azure.IoT Build 0:6ae2f7bca550 1673 else
Azure.IoT Build 0:6ae2f7bca550 1674 {
Azure.IoT Build 0:6ae2f7bca550 1675 BEGIN_INSTANCE* begin_instance = (BEGIN_INSTANCE*)begin;
Azure.IoT Build 0:6ae2f7bca550 1676 result = amqpvalue_clone(begin_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 1677 }
Azure.IoT Build 0:6ae2f7bca550 1678
Azure.IoT Build 0:6ae2f7bca550 1679 return result;
Azure.IoT Build 0:6ae2f7bca550 1680 }
Azure.IoT Build 0:6ae2f7bca550 1681
Azure.IoT Build 0:6ae2f7bca550 1682 bool is_begin_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 1683 {
Azure.IoT Build 0:6ae2f7bca550 1684 bool result;
Azure.IoT Build 0:6ae2f7bca550 1685
Azure.IoT Build 0:6ae2f7bca550 1686 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 1687 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 1688 (descriptor_ulong == 17))
Azure.IoT Build 0:6ae2f7bca550 1689 {
Azure.IoT Build 0:6ae2f7bca550 1690 result = true;
Azure.IoT Build 0:6ae2f7bca550 1691 }
Azure.IoT Build 0:6ae2f7bca550 1692 else
Azure.IoT Build 0:6ae2f7bca550 1693 {
Azure.IoT Build 0:6ae2f7bca550 1694 result = false;
Azure.IoT Build 0:6ae2f7bca550 1695 }
Azure.IoT Build 0:6ae2f7bca550 1696
Azure.IoT Build 0:6ae2f7bca550 1697 return result;
Azure.IoT Build 0:6ae2f7bca550 1698 }
Azure.IoT Build 0:6ae2f7bca550 1699
Azure.IoT Build 0:6ae2f7bca550 1700
Azure.IoT Build 0:6ae2f7bca550 1701 int amqpvalue_get_begin(AMQP_VALUE value, BEGIN_HANDLE* begin_handle)
Azure.IoT Build 0:6ae2f7bca550 1702 {
Azure.IoT Build 0:6ae2f7bca550 1703 int result;
Azure.IoT Build 0:6ae2f7bca550 1704 BEGIN_INSTANCE* begin_instance = (BEGIN_INSTANCE*)begin_create_internal();
Azure.IoT Build 0:6ae2f7bca550 1705 *begin_handle = begin_instance;
Azure.IoT Build 0:6ae2f7bca550 1706 if (*begin_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 1707 {
AzureIoTClient 19:000ab4e6a2c1 1708 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1709 }
Azure.IoT Build 0:6ae2f7bca550 1710 else
Azure.IoT Build 0:6ae2f7bca550 1711 {
Azure.IoT Build 0:6ae2f7bca550 1712 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 1713 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1714 {
Azure.IoT Build 0:6ae2f7bca550 1715 begin_destroy(*begin_handle);
AzureIoTClient 19:000ab4e6a2c1 1716 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1717 }
Azure.IoT Build 0:6ae2f7bca550 1718 else
Azure.IoT Build 0:6ae2f7bca550 1719 {
Azure.IoT Build 0:6ae2f7bca550 1720 do
Azure.IoT Build 0:6ae2f7bca550 1721 {
Azure.IoT Build 0:6ae2f7bca550 1722 AMQP_VALUE item_value;
Azure.IoT Build 0:6ae2f7bca550 1723 /* remote-channel */
Azure.IoT Build 0:6ae2f7bca550 1724 item_value = amqpvalue_get_list_item(list_value, 0);
Azure.IoT Build 0:6ae2f7bca550 1725 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1726 {
Azure.IoT Build 0:6ae2f7bca550 1727 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 1728 }
Azure.IoT Build 0:6ae2f7bca550 1729 else
Azure.IoT Build 0:6ae2f7bca550 1730 {
Azure.IoT Build 0:6ae2f7bca550 1731 uint16_t remote_channel;
Azure.IoT Build 0:6ae2f7bca550 1732 if (amqpvalue_get_ushort(item_value, &remote_channel) != 0)
Azure.IoT Build 0:6ae2f7bca550 1733 {
Azure.IoT Build 0:6ae2f7bca550 1734 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 1735 {
Azure.IoT Build 0:6ae2f7bca550 1736 begin_destroy(*begin_handle);
AzureIoTClient 19:000ab4e6a2c1 1737 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1738 break;
Azure.IoT Build 0:6ae2f7bca550 1739 }
Azure.IoT Build 0:6ae2f7bca550 1740 }
Azure.IoT Build 0:6ae2f7bca550 1741
Azure.IoT Build 0:6ae2f7bca550 1742 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 1743 }
Azure.IoT Build 0:6ae2f7bca550 1744 /* next-outgoing-id */
Azure.IoT Build 0:6ae2f7bca550 1745 item_value = amqpvalue_get_list_item(list_value, 1);
Azure.IoT Build 0:6ae2f7bca550 1746 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1747 {
Azure.IoT Build 0:6ae2f7bca550 1748 {
Azure.IoT Build 0:6ae2f7bca550 1749 begin_destroy(*begin_handle);
AzureIoTClient 19:000ab4e6a2c1 1750 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1751 break;
Azure.IoT Build 0:6ae2f7bca550 1752 }
Azure.IoT Build 0:6ae2f7bca550 1753 }
Azure.IoT Build 0:6ae2f7bca550 1754 else
Azure.IoT Build 0:6ae2f7bca550 1755 {
Azure.IoT Build 0:6ae2f7bca550 1756 transfer_number next_outgoing_id;
Azure.IoT Build 0:6ae2f7bca550 1757 if (amqpvalue_get_transfer_number(item_value, &next_outgoing_id) != 0)
Azure.IoT Build 0:6ae2f7bca550 1758 {
Azure.IoT Build 0:6ae2f7bca550 1759 begin_destroy(*begin_handle);
AzureIoTClient 19:000ab4e6a2c1 1760 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1761 break;
Azure.IoT Build 0:6ae2f7bca550 1762 }
Azure.IoT Build 0:6ae2f7bca550 1763
Azure.IoT Build 0:6ae2f7bca550 1764 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 1765 }
Azure.IoT Build 0:6ae2f7bca550 1766 /* incoming-window */
Azure.IoT Build 0:6ae2f7bca550 1767 item_value = amqpvalue_get_list_item(list_value, 2);
Azure.IoT Build 0:6ae2f7bca550 1768 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1769 {
Azure.IoT Build 0:6ae2f7bca550 1770 {
Azure.IoT Build 0:6ae2f7bca550 1771 begin_destroy(*begin_handle);
AzureIoTClient 19:000ab4e6a2c1 1772 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1773 break;
Azure.IoT Build 0:6ae2f7bca550 1774 }
Azure.IoT Build 0:6ae2f7bca550 1775 }
Azure.IoT Build 0:6ae2f7bca550 1776 else
Azure.IoT Build 0:6ae2f7bca550 1777 {
Azure.IoT Build 0:6ae2f7bca550 1778 uint32_t incoming_window;
Azure.IoT Build 0:6ae2f7bca550 1779 if (amqpvalue_get_uint(item_value, &incoming_window) != 0)
Azure.IoT Build 0:6ae2f7bca550 1780 {
Azure.IoT Build 0:6ae2f7bca550 1781 begin_destroy(*begin_handle);
AzureIoTClient 19:000ab4e6a2c1 1782 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1783 break;
Azure.IoT Build 0:6ae2f7bca550 1784 }
Azure.IoT Build 0:6ae2f7bca550 1785
Azure.IoT Build 0:6ae2f7bca550 1786 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 1787 }
Azure.IoT Build 0:6ae2f7bca550 1788 /* outgoing-window */
Azure.IoT Build 0:6ae2f7bca550 1789 item_value = amqpvalue_get_list_item(list_value, 3);
Azure.IoT Build 0:6ae2f7bca550 1790 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1791 {
Azure.IoT Build 0:6ae2f7bca550 1792 {
Azure.IoT Build 0:6ae2f7bca550 1793 begin_destroy(*begin_handle);
AzureIoTClient 19:000ab4e6a2c1 1794 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1795 break;
Azure.IoT Build 0:6ae2f7bca550 1796 }
Azure.IoT Build 0:6ae2f7bca550 1797 }
Azure.IoT Build 0:6ae2f7bca550 1798 else
Azure.IoT Build 0:6ae2f7bca550 1799 {
Azure.IoT Build 0:6ae2f7bca550 1800 uint32_t outgoing_window;
Azure.IoT Build 0:6ae2f7bca550 1801 if (amqpvalue_get_uint(item_value, &outgoing_window) != 0)
Azure.IoT Build 0:6ae2f7bca550 1802 {
Azure.IoT Build 0:6ae2f7bca550 1803 begin_destroy(*begin_handle);
AzureIoTClient 19:000ab4e6a2c1 1804 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1805 break;
Azure.IoT Build 0:6ae2f7bca550 1806 }
Azure.IoT Build 0:6ae2f7bca550 1807
Azure.IoT Build 0:6ae2f7bca550 1808 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 1809 }
Azure.IoT Build 0:6ae2f7bca550 1810 /* handle-max */
Azure.IoT Build 0:6ae2f7bca550 1811 item_value = amqpvalue_get_list_item(list_value, 4);
Azure.IoT Build 0:6ae2f7bca550 1812 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1813 {
Azure.IoT Build 0:6ae2f7bca550 1814 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 1815 }
Azure.IoT Build 0:6ae2f7bca550 1816 else
Azure.IoT Build 0:6ae2f7bca550 1817 {
Azure.IoT Build 0:6ae2f7bca550 1818 handle handle_max;
Azure.IoT Build 0:6ae2f7bca550 1819 if (amqpvalue_get_handle(item_value, &handle_max) != 0)
Azure.IoT Build 0:6ae2f7bca550 1820 {
Azure.IoT Build 0:6ae2f7bca550 1821 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 1822 {
Azure.IoT Build 0:6ae2f7bca550 1823 begin_destroy(*begin_handle);
AzureIoTClient 19:000ab4e6a2c1 1824 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1825 break;
Azure.IoT Build 0:6ae2f7bca550 1826 }
Azure.IoT Build 0:6ae2f7bca550 1827 }
Azure.IoT Build 0:6ae2f7bca550 1828
Azure.IoT Build 0:6ae2f7bca550 1829 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 1830 }
Azure.IoT Build 0:6ae2f7bca550 1831 /* offered-capabilities */
Azure.IoT Build 0:6ae2f7bca550 1832 item_value = amqpvalue_get_list_item(list_value, 5);
Azure.IoT Build 0:6ae2f7bca550 1833 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1834 {
Azure.IoT Build 0:6ae2f7bca550 1835 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 1836 }
Azure.IoT Build 0:6ae2f7bca550 1837 else
Azure.IoT Build 0:6ae2f7bca550 1838 {
Azure.IoT Build 0:6ae2f7bca550 1839 const char* offered_capabilities;
Azure.IoT Build 0:6ae2f7bca550 1840 AMQP_VALUE offered_capabilities_array;
Azure.IoT Build 0:6ae2f7bca550 1841 if ((amqpvalue_get_array(item_value, &offered_capabilities_array) != 0) &&
Azure.IoT Build 0:6ae2f7bca550 1842 (amqpvalue_get_symbol(item_value, &offered_capabilities) != 0))
Azure.IoT Build 0:6ae2f7bca550 1843 {
Azure.IoT Build 0:6ae2f7bca550 1844 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 1845 {
Azure.IoT Build 0:6ae2f7bca550 1846 begin_destroy(*begin_handle);
AzureIoTClient 19:000ab4e6a2c1 1847 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1848 break;
Azure.IoT Build 0:6ae2f7bca550 1849 }
Azure.IoT Build 0:6ae2f7bca550 1850 }
Azure.IoT Build 0:6ae2f7bca550 1851
Azure.IoT Build 0:6ae2f7bca550 1852 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 1853 }
Azure.IoT Build 0:6ae2f7bca550 1854 /* desired-capabilities */
Azure.IoT Build 0:6ae2f7bca550 1855 item_value = amqpvalue_get_list_item(list_value, 6);
Azure.IoT Build 0:6ae2f7bca550 1856 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1857 {
Azure.IoT Build 0:6ae2f7bca550 1858 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 1859 }
Azure.IoT Build 0:6ae2f7bca550 1860 else
Azure.IoT Build 0:6ae2f7bca550 1861 {
Azure.IoT Build 0:6ae2f7bca550 1862 const char* desired_capabilities;
Azure.IoT Build 0:6ae2f7bca550 1863 AMQP_VALUE desired_capabilities_array;
Azure.IoT Build 0:6ae2f7bca550 1864 if ((amqpvalue_get_array(item_value, &desired_capabilities_array) != 0) &&
Azure.IoT Build 0:6ae2f7bca550 1865 (amqpvalue_get_symbol(item_value, &desired_capabilities) != 0))
Azure.IoT Build 0:6ae2f7bca550 1866 {
Azure.IoT Build 0:6ae2f7bca550 1867 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 1868 {
Azure.IoT Build 0:6ae2f7bca550 1869 begin_destroy(*begin_handle);
AzureIoTClient 19:000ab4e6a2c1 1870 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1871 break;
Azure.IoT Build 0:6ae2f7bca550 1872 }
Azure.IoT Build 0:6ae2f7bca550 1873 }
Azure.IoT Build 0:6ae2f7bca550 1874
Azure.IoT Build 0:6ae2f7bca550 1875 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 1876 }
Azure.IoT Build 0:6ae2f7bca550 1877 /* properties */
Azure.IoT Build 0:6ae2f7bca550 1878 item_value = amqpvalue_get_list_item(list_value, 7);
Azure.IoT Build 0:6ae2f7bca550 1879 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1880 {
Azure.IoT Build 0:6ae2f7bca550 1881 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 1882 }
Azure.IoT Build 0:6ae2f7bca550 1883 else
Azure.IoT Build 0:6ae2f7bca550 1884 {
Azure.IoT Build 0:6ae2f7bca550 1885 fields properties;
Azure.IoT Build 0:6ae2f7bca550 1886 if (amqpvalue_get_fields(item_value, &properties) != 0)
Azure.IoT Build 0:6ae2f7bca550 1887 {
Azure.IoT Build 0:6ae2f7bca550 1888 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 1889 {
Azure.IoT Build 0:6ae2f7bca550 1890 begin_destroy(*begin_handle);
AzureIoTClient 19:000ab4e6a2c1 1891 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1892 break;
Azure.IoT Build 0:6ae2f7bca550 1893 }
Azure.IoT Build 0:6ae2f7bca550 1894 }
Azure.IoT Build 0:6ae2f7bca550 1895
Azure.IoT Build 0:6ae2f7bca550 1896 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 1897 }
Azure.IoT Build 0:6ae2f7bca550 1898
Azure.IoT Build 0:6ae2f7bca550 1899 begin_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 1900
Azure.IoT Build 0:6ae2f7bca550 1901 result = 0;
Azure.IoT Build 0:6ae2f7bca550 1902 } while (0);
Azure.IoT Build 0:6ae2f7bca550 1903 }
Azure.IoT Build 0:6ae2f7bca550 1904 }
Azure.IoT Build 0:6ae2f7bca550 1905
Azure.IoT Build 0:6ae2f7bca550 1906 return result;
Azure.IoT Build 0:6ae2f7bca550 1907 }
Azure.IoT Build 0:6ae2f7bca550 1908
Azure.IoT Build 0:6ae2f7bca550 1909 int begin_get_remote_channel(BEGIN_HANDLE begin, uint16_t* remote_channel_value)
Azure.IoT Build 0:6ae2f7bca550 1910 {
Azure.IoT Build 0:6ae2f7bca550 1911 int result;
Azure.IoT Build 0:6ae2f7bca550 1912
Azure.IoT Build 0:6ae2f7bca550 1913 if (begin == NULL)
Azure.IoT Build 0:6ae2f7bca550 1914 {
AzureIoTClient 19:000ab4e6a2c1 1915 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1916 }
Azure.IoT Build 0:6ae2f7bca550 1917 else
Azure.IoT Build 0:6ae2f7bca550 1918 {
Azure.IoT Build 0:6ae2f7bca550 1919 BEGIN_INSTANCE* begin_instance = (BEGIN_INSTANCE*)begin;
Azure.IoT Build 0:6ae2f7bca550 1920 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(begin_instance->composite_value, 0);
Azure.IoT Build 0:6ae2f7bca550 1921 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1922 {
AzureIoTClient 19:000ab4e6a2c1 1923 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1924 }
Azure.IoT Build 0:6ae2f7bca550 1925 else
Azure.IoT Build 0:6ae2f7bca550 1926 {
Azure.IoT Build 0:6ae2f7bca550 1927 if (amqpvalue_get_ushort(item_value, remote_channel_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 1928 {
AzureIoTClient 19:000ab4e6a2c1 1929 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1930 }
Azure.IoT Build 0:6ae2f7bca550 1931 else
Azure.IoT Build 0:6ae2f7bca550 1932 {
Azure.IoT Build 0:6ae2f7bca550 1933 result = 0;
Azure.IoT Build 0:6ae2f7bca550 1934 }
Azure.IoT Build 0:6ae2f7bca550 1935 }
Azure.IoT Build 0:6ae2f7bca550 1936 }
Azure.IoT Build 0:6ae2f7bca550 1937
Azure.IoT Build 0:6ae2f7bca550 1938 return result;
Azure.IoT Build 0:6ae2f7bca550 1939 }
Azure.IoT Build 0:6ae2f7bca550 1940
Azure.IoT Build 0:6ae2f7bca550 1941 int begin_set_remote_channel(BEGIN_HANDLE begin, uint16_t remote_channel_value)
Azure.IoT Build 0:6ae2f7bca550 1942 {
Azure.IoT Build 0:6ae2f7bca550 1943 int result;
Azure.IoT Build 0:6ae2f7bca550 1944
Azure.IoT Build 0:6ae2f7bca550 1945 if (begin == NULL)
Azure.IoT Build 0:6ae2f7bca550 1946 {
AzureIoTClient 19:000ab4e6a2c1 1947 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1948 }
Azure.IoT Build 0:6ae2f7bca550 1949 else
Azure.IoT Build 0:6ae2f7bca550 1950 {
Azure.IoT Build 0:6ae2f7bca550 1951 BEGIN_INSTANCE* begin_instance = (BEGIN_INSTANCE*)begin;
Azure.IoT Build 0:6ae2f7bca550 1952 AMQP_VALUE remote_channel_amqp_value = amqpvalue_create_ushort(remote_channel_value);
Azure.IoT Build 0:6ae2f7bca550 1953 if (remote_channel_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1954 {
AzureIoTClient 19:000ab4e6a2c1 1955 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1956 }
Azure.IoT Build 0:6ae2f7bca550 1957 else
Azure.IoT Build 0:6ae2f7bca550 1958 {
Azure.IoT Build 0:6ae2f7bca550 1959 if (amqpvalue_set_composite_item(begin_instance->composite_value, 0, remote_channel_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 1960 {
AzureIoTClient 19:000ab4e6a2c1 1961 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1962 }
Azure.IoT Build 0:6ae2f7bca550 1963 else
Azure.IoT Build 0:6ae2f7bca550 1964 {
Azure.IoT Build 0:6ae2f7bca550 1965 result = 0;
Azure.IoT Build 0:6ae2f7bca550 1966 }
Azure.IoT Build 0:6ae2f7bca550 1967
Azure.IoT Build 0:6ae2f7bca550 1968 amqpvalue_destroy(remote_channel_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 1969 }
Azure.IoT Build 0:6ae2f7bca550 1970 }
Azure.IoT Build 0:6ae2f7bca550 1971
Azure.IoT Build 0:6ae2f7bca550 1972 return result;
Azure.IoT Build 0:6ae2f7bca550 1973 }
Azure.IoT Build 0:6ae2f7bca550 1974
Azure.IoT Build 0:6ae2f7bca550 1975 int begin_get_next_outgoing_id(BEGIN_HANDLE begin, transfer_number* next_outgoing_id_value)
Azure.IoT Build 0:6ae2f7bca550 1976 {
Azure.IoT Build 0:6ae2f7bca550 1977 int result;
Azure.IoT Build 0:6ae2f7bca550 1978
Azure.IoT Build 0:6ae2f7bca550 1979 if (begin == NULL)
Azure.IoT Build 0:6ae2f7bca550 1980 {
AzureIoTClient 19:000ab4e6a2c1 1981 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1982 }
Azure.IoT Build 0:6ae2f7bca550 1983 else
Azure.IoT Build 0:6ae2f7bca550 1984 {
Azure.IoT Build 0:6ae2f7bca550 1985 BEGIN_INSTANCE* begin_instance = (BEGIN_INSTANCE*)begin;
Azure.IoT Build 0:6ae2f7bca550 1986 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(begin_instance->composite_value, 1);
Azure.IoT Build 0:6ae2f7bca550 1987 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 1988 {
AzureIoTClient 19:000ab4e6a2c1 1989 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1990 }
Azure.IoT Build 0:6ae2f7bca550 1991 else
Azure.IoT Build 0:6ae2f7bca550 1992 {
Azure.IoT Build 0:6ae2f7bca550 1993 if (amqpvalue_get_transfer_number(item_value, next_outgoing_id_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 1994 {
AzureIoTClient 19:000ab4e6a2c1 1995 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 1996 }
Azure.IoT Build 0:6ae2f7bca550 1997 else
Azure.IoT Build 0:6ae2f7bca550 1998 {
Azure.IoT Build 0:6ae2f7bca550 1999 result = 0;
Azure.IoT Build 0:6ae2f7bca550 2000 }
Azure.IoT Build 0:6ae2f7bca550 2001 }
Azure.IoT Build 0:6ae2f7bca550 2002 }
Azure.IoT Build 0:6ae2f7bca550 2003
Azure.IoT Build 0:6ae2f7bca550 2004 return result;
Azure.IoT Build 0:6ae2f7bca550 2005 }
Azure.IoT Build 0:6ae2f7bca550 2006
Azure.IoT Build 0:6ae2f7bca550 2007 int begin_set_next_outgoing_id(BEGIN_HANDLE begin, transfer_number next_outgoing_id_value)
Azure.IoT Build 0:6ae2f7bca550 2008 {
Azure.IoT Build 0:6ae2f7bca550 2009 int result;
Azure.IoT Build 0:6ae2f7bca550 2010
Azure.IoT Build 0:6ae2f7bca550 2011 if (begin == NULL)
Azure.IoT Build 0:6ae2f7bca550 2012 {
AzureIoTClient 19:000ab4e6a2c1 2013 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2014 }
Azure.IoT Build 0:6ae2f7bca550 2015 else
Azure.IoT Build 0:6ae2f7bca550 2016 {
Azure.IoT Build 0:6ae2f7bca550 2017 BEGIN_INSTANCE* begin_instance = (BEGIN_INSTANCE*)begin;
Azure.IoT Build 0:6ae2f7bca550 2018 AMQP_VALUE next_outgoing_id_amqp_value = amqpvalue_create_transfer_number(next_outgoing_id_value);
Azure.IoT Build 0:6ae2f7bca550 2019 if (next_outgoing_id_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2020 {
AzureIoTClient 19:000ab4e6a2c1 2021 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2022 }
Azure.IoT Build 0:6ae2f7bca550 2023 else
Azure.IoT Build 0:6ae2f7bca550 2024 {
Azure.IoT Build 0:6ae2f7bca550 2025 if (amqpvalue_set_composite_item(begin_instance->composite_value, 1, next_outgoing_id_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 2026 {
AzureIoTClient 19:000ab4e6a2c1 2027 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2028 }
Azure.IoT Build 0:6ae2f7bca550 2029 else
Azure.IoT Build 0:6ae2f7bca550 2030 {
Azure.IoT Build 0:6ae2f7bca550 2031 result = 0;
Azure.IoT Build 0:6ae2f7bca550 2032 }
Azure.IoT Build 0:6ae2f7bca550 2033
Azure.IoT Build 0:6ae2f7bca550 2034 amqpvalue_destroy(next_outgoing_id_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 2035 }
Azure.IoT Build 0:6ae2f7bca550 2036 }
Azure.IoT Build 0:6ae2f7bca550 2037
Azure.IoT Build 0:6ae2f7bca550 2038 return result;
Azure.IoT Build 0:6ae2f7bca550 2039 }
Azure.IoT Build 0:6ae2f7bca550 2040
Azure.IoT Build 0:6ae2f7bca550 2041 int begin_get_incoming_window(BEGIN_HANDLE begin, uint32_t* incoming_window_value)
Azure.IoT Build 0:6ae2f7bca550 2042 {
Azure.IoT Build 0:6ae2f7bca550 2043 int result;
Azure.IoT Build 0:6ae2f7bca550 2044
Azure.IoT Build 0:6ae2f7bca550 2045 if (begin == NULL)
Azure.IoT Build 0:6ae2f7bca550 2046 {
AzureIoTClient 19:000ab4e6a2c1 2047 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2048 }
Azure.IoT Build 0:6ae2f7bca550 2049 else
Azure.IoT Build 0:6ae2f7bca550 2050 {
Azure.IoT Build 0:6ae2f7bca550 2051 BEGIN_INSTANCE* begin_instance = (BEGIN_INSTANCE*)begin;
Azure.IoT Build 0:6ae2f7bca550 2052 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(begin_instance->composite_value, 2);
Azure.IoT Build 0:6ae2f7bca550 2053 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2054 {
AzureIoTClient 19:000ab4e6a2c1 2055 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2056 }
Azure.IoT Build 0:6ae2f7bca550 2057 else
Azure.IoT Build 0:6ae2f7bca550 2058 {
Azure.IoT Build 0:6ae2f7bca550 2059 if (amqpvalue_get_uint(item_value, incoming_window_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 2060 {
AzureIoTClient 19:000ab4e6a2c1 2061 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2062 }
Azure.IoT Build 0:6ae2f7bca550 2063 else
Azure.IoT Build 0:6ae2f7bca550 2064 {
Azure.IoT Build 0:6ae2f7bca550 2065 result = 0;
Azure.IoT Build 0:6ae2f7bca550 2066 }
Azure.IoT Build 0:6ae2f7bca550 2067 }
Azure.IoT Build 0:6ae2f7bca550 2068 }
Azure.IoT Build 0:6ae2f7bca550 2069
Azure.IoT Build 0:6ae2f7bca550 2070 return result;
Azure.IoT Build 0:6ae2f7bca550 2071 }
Azure.IoT Build 0:6ae2f7bca550 2072
Azure.IoT Build 0:6ae2f7bca550 2073 int begin_set_incoming_window(BEGIN_HANDLE begin, uint32_t incoming_window_value)
Azure.IoT Build 0:6ae2f7bca550 2074 {
Azure.IoT Build 0:6ae2f7bca550 2075 int result;
Azure.IoT Build 0:6ae2f7bca550 2076
Azure.IoT Build 0:6ae2f7bca550 2077 if (begin == NULL)
Azure.IoT Build 0:6ae2f7bca550 2078 {
AzureIoTClient 19:000ab4e6a2c1 2079 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2080 }
Azure.IoT Build 0:6ae2f7bca550 2081 else
Azure.IoT Build 0:6ae2f7bca550 2082 {
Azure.IoT Build 0:6ae2f7bca550 2083 BEGIN_INSTANCE* begin_instance = (BEGIN_INSTANCE*)begin;
Azure.IoT Build 0:6ae2f7bca550 2084 AMQP_VALUE incoming_window_amqp_value = amqpvalue_create_uint(incoming_window_value);
Azure.IoT Build 0:6ae2f7bca550 2085 if (incoming_window_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2086 {
AzureIoTClient 19:000ab4e6a2c1 2087 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2088 }
Azure.IoT Build 0:6ae2f7bca550 2089 else
Azure.IoT Build 0:6ae2f7bca550 2090 {
Azure.IoT Build 0:6ae2f7bca550 2091 if (amqpvalue_set_composite_item(begin_instance->composite_value, 2, incoming_window_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 2092 {
AzureIoTClient 19:000ab4e6a2c1 2093 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2094 }
Azure.IoT Build 0:6ae2f7bca550 2095 else
Azure.IoT Build 0:6ae2f7bca550 2096 {
Azure.IoT Build 0:6ae2f7bca550 2097 result = 0;
Azure.IoT Build 0:6ae2f7bca550 2098 }
Azure.IoT Build 0:6ae2f7bca550 2099
Azure.IoT Build 0:6ae2f7bca550 2100 amqpvalue_destroy(incoming_window_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 2101 }
Azure.IoT Build 0:6ae2f7bca550 2102 }
Azure.IoT Build 0:6ae2f7bca550 2103
Azure.IoT Build 0:6ae2f7bca550 2104 return result;
Azure.IoT Build 0:6ae2f7bca550 2105 }
Azure.IoT Build 0:6ae2f7bca550 2106
Azure.IoT Build 0:6ae2f7bca550 2107 int begin_get_outgoing_window(BEGIN_HANDLE begin, uint32_t* outgoing_window_value)
Azure.IoT Build 0:6ae2f7bca550 2108 {
Azure.IoT Build 0:6ae2f7bca550 2109 int result;
Azure.IoT Build 0:6ae2f7bca550 2110
Azure.IoT Build 0:6ae2f7bca550 2111 if (begin == NULL)
Azure.IoT Build 0:6ae2f7bca550 2112 {
AzureIoTClient 19:000ab4e6a2c1 2113 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2114 }
Azure.IoT Build 0:6ae2f7bca550 2115 else
Azure.IoT Build 0:6ae2f7bca550 2116 {
Azure.IoT Build 0:6ae2f7bca550 2117 BEGIN_INSTANCE* begin_instance = (BEGIN_INSTANCE*)begin;
Azure.IoT Build 0:6ae2f7bca550 2118 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(begin_instance->composite_value, 3);
Azure.IoT Build 0:6ae2f7bca550 2119 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2120 {
AzureIoTClient 19:000ab4e6a2c1 2121 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2122 }
Azure.IoT Build 0:6ae2f7bca550 2123 else
Azure.IoT Build 0:6ae2f7bca550 2124 {
Azure.IoT Build 0:6ae2f7bca550 2125 if (amqpvalue_get_uint(item_value, outgoing_window_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 2126 {
AzureIoTClient 19:000ab4e6a2c1 2127 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2128 }
Azure.IoT Build 0:6ae2f7bca550 2129 else
Azure.IoT Build 0:6ae2f7bca550 2130 {
Azure.IoT Build 0:6ae2f7bca550 2131 result = 0;
Azure.IoT Build 0:6ae2f7bca550 2132 }
Azure.IoT Build 0:6ae2f7bca550 2133 }
Azure.IoT Build 0:6ae2f7bca550 2134 }
Azure.IoT Build 0:6ae2f7bca550 2135
Azure.IoT Build 0:6ae2f7bca550 2136 return result;
Azure.IoT Build 0:6ae2f7bca550 2137 }
Azure.IoT Build 0:6ae2f7bca550 2138
Azure.IoT Build 0:6ae2f7bca550 2139 int begin_set_outgoing_window(BEGIN_HANDLE begin, uint32_t outgoing_window_value)
Azure.IoT Build 0:6ae2f7bca550 2140 {
Azure.IoT Build 0:6ae2f7bca550 2141 int result;
Azure.IoT Build 0:6ae2f7bca550 2142
Azure.IoT Build 0:6ae2f7bca550 2143 if (begin == NULL)
Azure.IoT Build 0:6ae2f7bca550 2144 {
AzureIoTClient 19:000ab4e6a2c1 2145 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2146 }
Azure.IoT Build 0:6ae2f7bca550 2147 else
Azure.IoT Build 0:6ae2f7bca550 2148 {
Azure.IoT Build 0:6ae2f7bca550 2149 BEGIN_INSTANCE* begin_instance = (BEGIN_INSTANCE*)begin;
Azure.IoT Build 0:6ae2f7bca550 2150 AMQP_VALUE outgoing_window_amqp_value = amqpvalue_create_uint(outgoing_window_value);
Azure.IoT Build 0:6ae2f7bca550 2151 if (outgoing_window_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2152 {
AzureIoTClient 19:000ab4e6a2c1 2153 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2154 }
Azure.IoT Build 0:6ae2f7bca550 2155 else
Azure.IoT Build 0:6ae2f7bca550 2156 {
Azure.IoT Build 0:6ae2f7bca550 2157 if (amqpvalue_set_composite_item(begin_instance->composite_value, 3, outgoing_window_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 2158 {
AzureIoTClient 19:000ab4e6a2c1 2159 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2160 }
Azure.IoT Build 0:6ae2f7bca550 2161 else
Azure.IoT Build 0:6ae2f7bca550 2162 {
Azure.IoT Build 0:6ae2f7bca550 2163 result = 0;
Azure.IoT Build 0:6ae2f7bca550 2164 }
Azure.IoT Build 0:6ae2f7bca550 2165
Azure.IoT Build 0:6ae2f7bca550 2166 amqpvalue_destroy(outgoing_window_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 2167 }
Azure.IoT Build 0:6ae2f7bca550 2168 }
Azure.IoT Build 0:6ae2f7bca550 2169
Azure.IoT Build 0:6ae2f7bca550 2170 return result;
Azure.IoT Build 0:6ae2f7bca550 2171 }
Azure.IoT Build 0:6ae2f7bca550 2172
Azure.IoT Build 0:6ae2f7bca550 2173 int begin_get_handle_max(BEGIN_HANDLE begin, handle* handle_max_value)
Azure.IoT Build 0:6ae2f7bca550 2174 {
Azure.IoT Build 0:6ae2f7bca550 2175 int result;
Azure.IoT Build 0:6ae2f7bca550 2176
Azure.IoT Build 0:6ae2f7bca550 2177 if (begin == NULL)
Azure.IoT Build 0:6ae2f7bca550 2178 {
AzureIoTClient 19:000ab4e6a2c1 2179 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2180 }
Azure.IoT Build 0:6ae2f7bca550 2181 else
Azure.IoT Build 0:6ae2f7bca550 2182 {
Azure.IoT Build 0:6ae2f7bca550 2183 BEGIN_INSTANCE* begin_instance = (BEGIN_INSTANCE*)begin;
Azure.IoT Build 0:6ae2f7bca550 2184 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(begin_instance->composite_value, 4);
Azure.IoT Build 0:6ae2f7bca550 2185 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2186 {
AzureIoTClient 16:22a72cf8e416 2187 *handle_max_value = 4294967295u;
AzureIoTClient 16:22a72cf8e416 2188 result = 0;
Azure.IoT Build 0:6ae2f7bca550 2189 }
Azure.IoT Build 0:6ae2f7bca550 2190 else
Azure.IoT Build 0:6ae2f7bca550 2191 {
Azure.IoT Build 0:6ae2f7bca550 2192 if (amqpvalue_get_handle(item_value, handle_max_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 2193 {
AzureIoTClient 16:22a72cf8e416 2194 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 2195 {
AzureIoTClient 19:000ab4e6a2c1 2196 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 2197 }
AzureIoTClient 16:22a72cf8e416 2198 else
AzureIoTClient 16:22a72cf8e416 2199 {
AzureIoTClient 16:22a72cf8e416 2200 *handle_max_value = 4294967295u;
AzureIoTClient 16:22a72cf8e416 2201 result = 0;
AzureIoTClient 16:22a72cf8e416 2202 }
Azure.IoT Build 0:6ae2f7bca550 2203 }
Azure.IoT Build 0:6ae2f7bca550 2204 else
Azure.IoT Build 0:6ae2f7bca550 2205 {
Azure.IoT Build 0:6ae2f7bca550 2206 result = 0;
Azure.IoT Build 0:6ae2f7bca550 2207 }
Azure.IoT Build 0:6ae2f7bca550 2208 }
Azure.IoT Build 0:6ae2f7bca550 2209 }
Azure.IoT Build 0:6ae2f7bca550 2210
Azure.IoT Build 0:6ae2f7bca550 2211 return result;
Azure.IoT Build 0:6ae2f7bca550 2212 }
Azure.IoT Build 0:6ae2f7bca550 2213
Azure.IoT Build 0:6ae2f7bca550 2214 int begin_set_handle_max(BEGIN_HANDLE begin, handle handle_max_value)
Azure.IoT Build 0:6ae2f7bca550 2215 {
Azure.IoT Build 0:6ae2f7bca550 2216 int result;
Azure.IoT Build 0:6ae2f7bca550 2217
Azure.IoT Build 0:6ae2f7bca550 2218 if (begin == NULL)
Azure.IoT Build 0:6ae2f7bca550 2219 {
AzureIoTClient 19:000ab4e6a2c1 2220 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2221 }
Azure.IoT Build 0:6ae2f7bca550 2222 else
Azure.IoT Build 0:6ae2f7bca550 2223 {
Azure.IoT Build 0:6ae2f7bca550 2224 BEGIN_INSTANCE* begin_instance = (BEGIN_INSTANCE*)begin;
Azure.IoT Build 0:6ae2f7bca550 2225 AMQP_VALUE handle_max_amqp_value = amqpvalue_create_handle(handle_max_value);
Azure.IoT Build 0:6ae2f7bca550 2226 if (handle_max_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2227 {
AzureIoTClient 19:000ab4e6a2c1 2228 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2229 }
Azure.IoT Build 0:6ae2f7bca550 2230 else
Azure.IoT Build 0:6ae2f7bca550 2231 {
Azure.IoT Build 0:6ae2f7bca550 2232 if (amqpvalue_set_composite_item(begin_instance->composite_value, 4, handle_max_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 2233 {
AzureIoTClient 19:000ab4e6a2c1 2234 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2235 }
Azure.IoT Build 0:6ae2f7bca550 2236 else
Azure.IoT Build 0:6ae2f7bca550 2237 {
Azure.IoT Build 0:6ae2f7bca550 2238 result = 0;
Azure.IoT Build 0:6ae2f7bca550 2239 }
Azure.IoT Build 0:6ae2f7bca550 2240
Azure.IoT Build 0:6ae2f7bca550 2241 amqpvalue_destroy(handle_max_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 2242 }
Azure.IoT Build 0:6ae2f7bca550 2243 }
Azure.IoT Build 0:6ae2f7bca550 2244
Azure.IoT Build 0:6ae2f7bca550 2245 return result;
Azure.IoT Build 0:6ae2f7bca550 2246 }
Azure.IoT Build 0:6ae2f7bca550 2247
Azure.IoT Build 0:6ae2f7bca550 2248 int begin_get_offered_capabilities(BEGIN_HANDLE begin, AMQP_VALUE* offered_capabilities_value)
Azure.IoT Build 0:6ae2f7bca550 2249 {
Azure.IoT Build 0:6ae2f7bca550 2250 int result;
Azure.IoT Build 0:6ae2f7bca550 2251
Azure.IoT Build 0:6ae2f7bca550 2252 if (begin == NULL)
Azure.IoT Build 0:6ae2f7bca550 2253 {
AzureIoTClient 19:000ab4e6a2c1 2254 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2255 }
Azure.IoT Build 0:6ae2f7bca550 2256 else
Azure.IoT Build 0:6ae2f7bca550 2257 {
Azure.IoT Build 0:6ae2f7bca550 2258 BEGIN_INSTANCE* begin_instance = (BEGIN_INSTANCE*)begin;
Azure.IoT Build 0:6ae2f7bca550 2259 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(begin_instance->composite_value, 5);
Azure.IoT Build 0:6ae2f7bca550 2260 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2261 {
AzureIoTClient 19:000ab4e6a2c1 2262 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2263 }
Azure.IoT Build 0:6ae2f7bca550 2264 else
Azure.IoT Build 0:6ae2f7bca550 2265 {
Azure.IoT Build 0:6ae2f7bca550 2266 if (amqpvalue_get_array(item_value, offered_capabilities_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 2267 {
AzureIoTClient 19:000ab4e6a2c1 2268 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2269 }
Azure.IoT Build 0:6ae2f7bca550 2270 else
Azure.IoT Build 0:6ae2f7bca550 2271 {
Azure.IoT Build 0:6ae2f7bca550 2272 result = 0;
Azure.IoT Build 0:6ae2f7bca550 2273 }
Azure.IoT Build 0:6ae2f7bca550 2274 }
Azure.IoT Build 0:6ae2f7bca550 2275 }
Azure.IoT Build 0:6ae2f7bca550 2276
Azure.IoT Build 0:6ae2f7bca550 2277 return result;
Azure.IoT Build 0:6ae2f7bca550 2278 }
Azure.IoT Build 0:6ae2f7bca550 2279
Azure.IoT Build 0:6ae2f7bca550 2280 int begin_set_offered_capabilities(BEGIN_HANDLE begin, AMQP_VALUE offered_capabilities_value)
Azure.IoT Build 0:6ae2f7bca550 2281 {
Azure.IoT Build 0:6ae2f7bca550 2282 int result;
Azure.IoT Build 0:6ae2f7bca550 2283
Azure.IoT Build 0:6ae2f7bca550 2284 if (begin == NULL)
Azure.IoT Build 0:6ae2f7bca550 2285 {
AzureIoTClient 19:000ab4e6a2c1 2286 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2287 }
Azure.IoT Build 0:6ae2f7bca550 2288 else
Azure.IoT Build 0:6ae2f7bca550 2289 {
Azure.IoT Build 0:6ae2f7bca550 2290 BEGIN_INSTANCE* begin_instance = (BEGIN_INSTANCE*)begin;
Azure.IoT Build 0:6ae2f7bca550 2291 AMQP_VALUE offered_capabilities_amqp_value = amqpvalue_clone(offered_capabilities_value);
Azure.IoT Build 0:6ae2f7bca550 2292 if (offered_capabilities_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2293 {
AzureIoTClient 19:000ab4e6a2c1 2294 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2295 }
Azure.IoT Build 0:6ae2f7bca550 2296 else
Azure.IoT Build 0:6ae2f7bca550 2297 {
Azure.IoT Build 0:6ae2f7bca550 2298 if (amqpvalue_set_composite_item(begin_instance->composite_value, 5, offered_capabilities_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 2299 {
AzureIoTClient 19:000ab4e6a2c1 2300 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2301 }
Azure.IoT Build 0:6ae2f7bca550 2302 else
Azure.IoT Build 0:6ae2f7bca550 2303 {
Azure.IoT Build 0:6ae2f7bca550 2304 result = 0;
Azure.IoT Build 0:6ae2f7bca550 2305 }
Azure.IoT Build 0:6ae2f7bca550 2306
Azure.IoT Build 0:6ae2f7bca550 2307 amqpvalue_destroy(offered_capabilities_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 2308 }
Azure.IoT Build 0:6ae2f7bca550 2309 }
Azure.IoT Build 0:6ae2f7bca550 2310
Azure.IoT Build 0:6ae2f7bca550 2311 return result;
Azure.IoT Build 0:6ae2f7bca550 2312 }
Azure.IoT Build 0:6ae2f7bca550 2313
Azure.IoT Build 0:6ae2f7bca550 2314 int begin_get_desired_capabilities(BEGIN_HANDLE begin, AMQP_VALUE* desired_capabilities_value)
Azure.IoT Build 0:6ae2f7bca550 2315 {
Azure.IoT Build 0:6ae2f7bca550 2316 int result;
Azure.IoT Build 0:6ae2f7bca550 2317
Azure.IoT Build 0:6ae2f7bca550 2318 if (begin == NULL)
Azure.IoT Build 0:6ae2f7bca550 2319 {
AzureIoTClient 19:000ab4e6a2c1 2320 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2321 }
Azure.IoT Build 0:6ae2f7bca550 2322 else
Azure.IoT Build 0:6ae2f7bca550 2323 {
Azure.IoT Build 0:6ae2f7bca550 2324 BEGIN_INSTANCE* begin_instance = (BEGIN_INSTANCE*)begin;
Azure.IoT Build 0:6ae2f7bca550 2325 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(begin_instance->composite_value, 6);
Azure.IoT Build 0:6ae2f7bca550 2326 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2327 {
AzureIoTClient 19:000ab4e6a2c1 2328 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2329 }
Azure.IoT Build 0:6ae2f7bca550 2330 else
Azure.IoT Build 0:6ae2f7bca550 2331 {
Azure.IoT Build 0:6ae2f7bca550 2332 if (amqpvalue_get_array(item_value, desired_capabilities_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 2333 {
AzureIoTClient 19:000ab4e6a2c1 2334 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2335 }
Azure.IoT Build 0:6ae2f7bca550 2336 else
Azure.IoT Build 0:6ae2f7bca550 2337 {
Azure.IoT Build 0:6ae2f7bca550 2338 result = 0;
Azure.IoT Build 0:6ae2f7bca550 2339 }
Azure.IoT Build 0:6ae2f7bca550 2340 }
Azure.IoT Build 0:6ae2f7bca550 2341 }
Azure.IoT Build 0:6ae2f7bca550 2342
Azure.IoT Build 0:6ae2f7bca550 2343 return result;
Azure.IoT Build 0:6ae2f7bca550 2344 }
Azure.IoT Build 0:6ae2f7bca550 2345
Azure.IoT Build 0:6ae2f7bca550 2346 int begin_set_desired_capabilities(BEGIN_HANDLE begin, AMQP_VALUE desired_capabilities_value)
Azure.IoT Build 0:6ae2f7bca550 2347 {
Azure.IoT Build 0:6ae2f7bca550 2348 int result;
Azure.IoT Build 0:6ae2f7bca550 2349
Azure.IoT Build 0:6ae2f7bca550 2350 if (begin == NULL)
Azure.IoT Build 0:6ae2f7bca550 2351 {
AzureIoTClient 19:000ab4e6a2c1 2352 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2353 }
Azure.IoT Build 0:6ae2f7bca550 2354 else
Azure.IoT Build 0:6ae2f7bca550 2355 {
Azure.IoT Build 0:6ae2f7bca550 2356 BEGIN_INSTANCE* begin_instance = (BEGIN_INSTANCE*)begin;
Azure.IoT Build 0:6ae2f7bca550 2357 AMQP_VALUE desired_capabilities_amqp_value = amqpvalue_clone(desired_capabilities_value);
Azure.IoT Build 0:6ae2f7bca550 2358 if (desired_capabilities_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2359 {
AzureIoTClient 19:000ab4e6a2c1 2360 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2361 }
Azure.IoT Build 0:6ae2f7bca550 2362 else
Azure.IoT Build 0:6ae2f7bca550 2363 {
Azure.IoT Build 0:6ae2f7bca550 2364 if (amqpvalue_set_composite_item(begin_instance->composite_value, 6, desired_capabilities_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 2365 {
AzureIoTClient 19:000ab4e6a2c1 2366 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2367 }
Azure.IoT Build 0:6ae2f7bca550 2368 else
Azure.IoT Build 0:6ae2f7bca550 2369 {
Azure.IoT Build 0:6ae2f7bca550 2370 result = 0;
Azure.IoT Build 0:6ae2f7bca550 2371 }
Azure.IoT Build 0:6ae2f7bca550 2372
Azure.IoT Build 0:6ae2f7bca550 2373 amqpvalue_destroy(desired_capabilities_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 2374 }
Azure.IoT Build 0:6ae2f7bca550 2375 }
Azure.IoT Build 0:6ae2f7bca550 2376
Azure.IoT Build 0:6ae2f7bca550 2377 return result;
Azure.IoT Build 0:6ae2f7bca550 2378 }
Azure.IoT Build 0:6ae2f7bca550 2379
Azure.IoT Build 0:6ae2f7bca550 2380 int begin_get_properties(BEGIN_HANDLE begin, fields* properties_value)
Azure.IoT Build 0:6ae2f7bca550 2381 {
Azure.IoT Build 0:6ae2f7bca550 2382 int result;
Azure.IoT Build 0:6ae2f7bca550 2383
Azure.IoT Build 0:6ae2f7bca550 2384 if (begin == NULL)
Azure.IoT Build 0:6ae2f7bca550 2385 {
AzureIoTClient 19:000ab4e6a2c1 2386 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2387 }
Azure.IoT Build 0:6ae2f7bca550 2388 else
Azure.IoT Build 0:6ae2f7bca550 2389 {
Azure.IoT Build 0:6ae2f7bca550 2390 BEGIN_INSTANCE* begin_instance = (BEGIN_INSTANCE*)begin;
Azure.IoT Build 0:6ae2f7bca550 2391 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(begin_instance->composite_value, 7);
Azure.IoT Build 0:6ae2f7bca550 2392 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2393 {
AzureIoTClient 19:000ab4e6a2c1 2394 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2395 }
Azure.IoT Build 0:6ae2f7bca550 2396 else
Azure.IoT Build 0:6ae2f7bca550 2397 {
Azure.IoT Build 0:6ae2f7bca550 2398 if (amqpvalue_get_fields(item_value, properties_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 2399 {
AzureIoTClient 19:000ab4e6a2c1 2400 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2401 }
Azure.IoT Build 0:6ae2f7bca550 2402 else
Azure.IoT Build 0:6ae2f7bca550 2403 {
Azure.IoT Build 0:6ae2f7bca550 2404 result = 0;
Azure.IoT Build 0:6ae2f7bca550 2405 }
Azure.IoT Build 0:6ae2f7bca550 2406 }
Azure.IoT Build 0:6ae2f7bca550 2407 }
Azure.IoT Build 0:6ae2f7bca550 2408
Azure.IoT Build 0:6ae2f7bca550 2409 return result;
Azure.IoT Build 0:6ae2f7bca550 2410 }
Azure.IoT Build 0:6ae2f7bca550 2411
Azure.IoT Build 0:6ae2f7bca550 2412 int begin_set_properties(BEGIN_HANDLE begin, fields properties_value)
Azure.IoT Build 0:6ae2f7bca550 2413 {
Azure.IoT Build 0:6ae2f7bca550 2414 int result;
Azure.IoT Build 0:6ae2f7bca550 2415
Azure.IoT Build 0:6ae2f7bca550 2416 if (begin == NULL)
Azure.IoT Build 0:6ae2f7bca550 2417 {
AzureIoTClient 19:000ab4e6a2c1 2418 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2419 }
Azure.IoT Build 0:6ae2f7bca550 2420 else
Azure.IoT Build 0:6ae2f7bca550 2421 {
Azure.IoT Build 0:6ae2f7bca550 2422 BEGIN_INSTANCE* begin_instance = (BEGIN_INSTANCE*)begin;
Azure.IoT Build 0:6ae2f7bca550 2423 AMQP_VALUE properties_amqp_value = amqpvalue_create_fields(properties_value);
Azure.IoT Build 0:6ae2f7bca550 2424 if (properties_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2425 {
AzureIoTClient 19:000ab4e6a2c1 2426 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2427 }
Azure.IoT Build 0:6ae2f7bca550 2428 else
Azure.IoT Build 0:6ae2f7bca550 2429 {
Azure.IoT Build 0:6ae2f7bca550 2430 if (amqpvalue_set_composite_item(begin_instance->composite_value, 7, properties_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 2431 {
AzureIoTClient 19:000ab4e6a2c1 2432 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2433 }
Azure.IoT Build 0:6ae2f7bca550 2434 else
Azure.IoT Build 0:6ae2f7bca550 2435 {
Azure.IoT Build 0:6ae2f7bca550 2436 result = 0;
Azure.IoT Build 0:6ae2f7bca550 2437 }
Azure.IoT Build 0:6ae2f7bca550 2438
Azure.IoT Build 0:6ae2f7bca550 2439 amqpvalue_destroy(properties_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 2440 }
Azure.IoT Build 0:6ae2f7bca550 2441 }
Azure.IoT Build 0:6ae2f7bca550 2442
Azure.IoT Build 0:6ae2f7bca550 2443 return result;
Azure.IoT Build 0:6ae2f7bca550 2444 }
Azure.IoT Build 0:6ae2f7bca550 2445
Azure.IoT Build 0:6ae2f7bca550 2446
Azure.IoT Build 0:6ae2f7bca550 2447 /* attach */
Azure.IoT Build 0:6ae2f7bca550 2448
Azure.IoT Build 0:6ae2f7bca550 2449 typedef struct ATTACH_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 2450 {
Azure.IoT Build 0:6ae2f7bca550 2451 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 2452 } ATTACH_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 2453
Azure.IoT Build 0:6ae2f7bca550 2454 static ATTACH_HANDLE attach_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 2455 {
Azure.IoT Build 0:6ae2f7bca550 2456 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)amqpalloc_malloc(sizeof(ATTACH_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 2457 if (attach_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 2458 {
Azure.IoT Build 0:6ae2f7bca550 2459 attach_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 2460 }
Azure.IoT Build 0:6ae2f7bca550 2461
Azure.IoT Build 0:6ae2f7bca550 2462 return attach_instance;
Azure.IoT Build 0:6ae2f7bca550 2463 }
Azure.IoT Build 0:6ae2f7bca550 2464
Azure.IoT Build 0:6ae2f7bca550 2465 ATTACH_HANDLE attach_create(const char* name_value, handle handle_value, role role_value)
Azure.IoT Build 0:6ae2f7bca550 2466 {
Azure.IoT Build 0:6ae2f7bca550 2467 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)amqpalloc_malloc(sizeof(ATTACH_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 2468 if (attach_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 2469 {
Azure.IoT Build 0:6ae2f7bca550 2470 attach_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(18);
Azure.IoT Build 0:6ae2f7bca550 2471 if (attach_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2472 {
Azure.IoT Build 0:6ae2f7bca550 2473 amqpalloc_free(attach_instance);
Azure.IoT Build 0:6ae2f7bca550 2474 attach_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 2475 }
Azure.IoT Build 0:6ae2f7bca550 2476 else
Azure.IoT Build 0:6ae2f7bca550 2477 {
Azure.IoT Build 0:6ae2f7bca550 2478 AMQP_VALUE name_amqp_value;
Azure.IoT Build 0:6ae2f7bca550 2479 AMQP_VALUE handle_amqp_value;
Azure.IoT Build 0:6ae2f7bca550 2480 AMQP_VALUE role_amqp_value;
Azure.IoT Build 0:6ae2f7bca550 2481 int result = 0;
Azure.IoT Build 0:6ae2f7bca550 2482
Azure.IoT Build 0:6ae2f7bca550 2483 name_amqp_value = amqpvalue_create_string(name_value);
Azure.IoT Build 0:6ae2f7bca550 2484 if ((result == 0) && (amqpvalue_set_composite_item(attach_instance->composite_value, 0, name_amqp_value) != 0))
Azure.IoT Build 0:6ae2f7bca550 2485 {
AzureIoTClient 19:000ab4e6a2c1 2486 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2487 }
Azure.IoT Build 0:6ae2f7bca550 2488 handle_amqp_value = amqpvalue_create_handle(handle_value);
Azure.IoT Build 0:6ae2f7bca550 2489 if ((result == 0) && (amqpvalue_set_composite_item(attach_instance->composite_value, 1, handle_amqp_value) != 0))
Azure.IoT Build 0:6ae2f7bca550 2490 {
AzureIoTClient 19:000ab4e6a2c1 2491 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2492 }
Azure.IoT Build 0:6ae2f7bca550 2493 role_amqp_value = amqpvalue_create_role(role_value);
Azure.IoT Build 0:6ae2f7bca550 2494 if ((result == 0) && (amqpvalue_set_composite_item(attach_instance->composite_value, 2, role_amqp_value) != 0))
Azure.IoT Build 0:6ae2f7bca550 2495 {
AzureIoTClient 19:000ab4e6a2c1 2496 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2497 }
Azure.IoT Build 0:6ae2f7bca550 2498
Azure.IoT Build 0:6ae2f7bca550 2499 amqpvalue_destroy(name_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 2500 amqpvalue_destroy(handle_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 2501 amqpvalue_destroy(role_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 2502 }
Azure.IoT Build 0:6ae2f7bca550 2503 }
Azure.IoT Build 0:6ae2f7bca550 2504
Azure.IoT Build 0:6ae2f7bca550 2505 return attach_instance;
Azure.IoT Build 0:6ae2f7bca550 2506 }
Azure.IoT Build 0:6ae2f7bca550 2507
Azure.IoT Build 0:6ae2f7bca550 2508 ATTACH_HANDLE attach_clone(ATTACH_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 2509 {
Azure.IoT Build 0:6ae2f7bca550 2510 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)amqpalloc_malloc(sizeof(ATTACH_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 2511 if (attach_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 2512 {
Azure.IoT Build 0:6ae2f7bca550 2513 attach_instance->composite_value = amqpvalue_clone(((ATTACH_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 2514 if (attach_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2515 {
Azure.IoT Build 0:6ae2f7bca550 2516 amqpalloc_free(attach_instance);
Azure.IoT Build 0:6ae2f7bca550 2517 attach_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 2518 }
Azure.IoT Build 0:6ae2f7bca550 2519 }
Azure.IoT Build 0:6ae2f7bca550 2520
Azure.IoT Build 0:6ae2f7bca550 2521 return attach_instance;
Azure.IoT Build 0:6ae2f7bca550 2522 }
Azure.IoT Build 0:6ae2f7bca550 2523
Azure.IoT Build 0:6ae2f7bca550 2524 void attach_destroy(ATTACH_HANDLE attach)
Azure.IoT Build 0:6ae2f7bca550 2525 {
Azure.IoT Build 0:6ae2f7bca550 2526 if (attach != NULL)
Azure.IoT Build 0:6ae2f7bca550 2527 {
Azure.IoT Build 0:6ae2f7bca550 2528 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 2529 amqpvalue_destroy(attach_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 2530 amqpalloc_free(attach_instance);
Azure.IoT Build 0:6ae2f7bca550 2531 }
Azure.IoT Build 0:6ae2f7bca550 2532 }
Azure.IoT Build 0:6ae2f7bca550 2533
Azure.IoT Build 0:6ae2f7bca550 2534 AMQP_VALUE amqpvalue_create_attach(ATTACH_HANDLE attach)
Azure.IoT Build 0:6ae2f7bca550 2535 {
Azure.IoT Build 0:6ae2f7bca550 2536 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 2537
Azure.IoT Build 0:6ae2f7bca550 2538 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 2539 {
Azure.IoT Build 0:6ae2f7bca550 2540 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 2541 }
Azure.IoT Build 0:6ae2f7bca550 2542 else
Azure.IoT Build 0:6ae2f7bca550 2543 {
Azure.IoT Build 0:6ae2f7bca550 2544 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 2545 result = amqpvalue_clone(attach_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 2546 }
Azure.IoT Build 0:6ae2f7bca550 2547
Azure.IoT Build 0:6ae2f7bca550 2548 return result;
Azure.IoT Build 0:6ae2f7bca550 2549 }
Azure.IoT Build 0:6ae2f7bca550 2550
Azure.IoT Build 0:6ae2f7bca550 2551 bool is_attach_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 2552 {
Azure.IoT Build 0:6ae2f7bca550 2553 bool result;
Azure.IoT Build 0:6ae2f7bca550 2554
Azure.IoT Build 0:6ae2f7bca550 2555 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 2556 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 2557 (descriptor_ulong == 18))
Azure.IoT Build 0:6ae2f7bca550 2558 {
Azure.IoT Build 0:6ae2f7bca550 2559 result = true;
Azure.IoT Build 0:6ae2f7bca550 2560 }
Azure.IoT Build 0:6ae2f7bca550 2561 else
Azure.IoT Build 0:6ae2f7bca550 2562 {
Azure.IoT Build 0:6ae2f7bca550 2563 result = false;
Azure.IoT Build 0:6ae2f7bca550 2564 }
Azure.IoT Build 0:6ae2f7bca550 2565
Azure.IoT Build 0:6ae2f7bca550 2566 return result;
Azure.IoT Build 0:6ae2f7bca550 2567 }
Azure.IoT Build 0:6ae2f7bca550 2568
Azure.IoT Build 0:6ae2f7bca550 2569
Azure.IoT Build 0:6ae2f7bca550 2570 int amqpvalue_get_attach(AMQP_VALUE value, ATTACH_HANDLE* attach_handle)
Azure.IoT Build 0:6ae2f7bca550 2571 {
Azure.IoT Build 0:6ae2f7bca550 2572 int result;
Azure.IoT Build 0:6ae2f7bca550 2573 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach_create_internal();
Azure.IoT Build 0:6ae2f7bca550 2574 *attach_handle = attach_instance;
Azure.IoT Build 0:6ae2f7bca550 2575 if (*attach_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 2576 {
AzureIoTClient 19:000ab4e6a2c1 2577 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2578 }
Azure.IoT Build 0:6ae2f7bca550 2579 else
Azure.IoT Build 0:6ae2f7bca550 2580 {
Azure.IoT Build 0:6ae2f7bca550 2581 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 2582 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2583 {
Azure.IoT Build 0:6ae2f7bca550 2584 attach_destroy(*attach_handle);
AzureIoTClient 19:000ab4e6a2c1 2585 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2586 }
Azure.IoT Build 0:6ae2f7bca550 2587 else
Azure.IoT Build 0:6ae2f7bca550 2588 {
Azure.IoT Build 0:6ae2f7bca550 2589 do
Azure.IoT Build 0:6ae2f7bca550 2590 {
Azure.IoT Build 0:6ae2f7bca550 2591 AMQP_VALUE item_value;
Azure.IoT Build 0:6ae2f7bca550 2592 /* name */
Azure.IoT Build 0:6ae2f7bca550 2593 item_value = amqpvalue_get_list_item(list_value, 0);
Azure.IoT Build 0:6ae2f7bca550 2594 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2595 {
Azure.IoT Build 0:6ae2f7bca550 2596 {
Azure.IoT Build 0:6ae2f7bca550 2597 attach_destroy(*attach_handle);
AzureIoTClient 19:000ab4e6a2c1 2598 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2599 break;
Azure.IoT Build 0:6ae2f7bca550 2600 }
Azure.IoT Build 0:6ae2f7bca550 2601 }
Azure.IoT Build 0:6ae2f7bca550 2602 else
Azure.IoT Build 0:6ae2f7bca550 2603 {
Azure.IoT Build 0:6ae2f7bca550 2604 const char* name;
Azure.IoT Build 0:6ae2f7bca550 2605 if (amqpvalue_get_string(item_value, &name) != 0)
Azure.IoT Build 0:6ae2f7bca550 2606 {
Azure.IoT Build 0:6ae2f7bca550 2607 attach_destroy(*attach_handle);
AzureIoTClient 19:000ab4e6a2c1 2608 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2609 break;
Azure.IoT Build 0:6ae2f7bca550 2610 }
Azure.IoT Build 0:6ae2f7bca550 2611
Azure.IoT Build 0:6ae2f7bca550 2612 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 2613 }
Azure.IoT Build 0:6ae2f7bca550 2614 /* handle */
Azure.IoT Build 0:6ae2f7bca550 2615 item_value = amqpvalue_get_list_item(list_value, 1);
Azure.IoT Build 0:6ae2f7bca550 2616 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2617 {
Azure.IoT Build 0:6ae2f7bca550 2618 {
Azure.IoT Build 0:6ae2f7bca550 2619 attach_destroy(*attach_handle);
AzureIoTClient 19:000ab4e6a2c1 2620 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2621 break;
Azure.IoT Build 0:6ae2f7bca550 2622 }
Azure.IoT Build 0:6ae2f7bca550 2623 }
Azure.IoT Build 0:6ae2f7bca550 2624 else
Azure.IoT Build 0:6ae2f7bca550 2625 {
Azure.IoT Build 0:6ae2f7bca550 2626 handle handle;
Azure.IoT Build 0:6ae2f7bca550 2627 if (amqpvalue_get_handle(item_value, &handle) != 0)
Azure.IoT Build 0:6ae2f7bca550 2628 {
Azure.IoT Build 0:6ae2f7bca550 2629 attach_destroy(*attach_handle);
AzureIoTClient 19:000ab4e6a2c1 2630 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2631 break;
Azure.IoT Build 0:6ae2f7bca550 2632 }
Azure.IoT Build 0:6ae2f7bca550 2633
Azure.IoT Build 0:6ae2f7bca550 2634 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 2635 }
Azure.IoT Build 0:6ae2f7bca550 2636 /* role */
Azure.IoT Build 0:6ae2f7bca550 2637 item_value = amqpvalue_get_list_item(list_value, 2);
Azure.IoT Build 0:6ae2f7bca550 2638 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2639 {
Azure.IoT Build 0:6ae2f7bca550 2640 {
Azure.IoT Build 0:6ae2f7bca550 2641 attach_destroy(*attach_handle);
AzureIoTClient 19:000ab4e6a2c1 2642 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2643 break;
Azure.IoT Build 0:6ae2f7bca550 2644 }
Azure.IoT Build 0:6ae2f7bca550 2645 }
Azure.IoT Build 0:6ae2f7bca550 2646 else
Azure.IoT Build 0:6ae2f7bca550 2647 {
Azure.IoT Build 0:6ae2f7bca550 2648 role role;
Azure.IoT Build 0:6ae2f7bca550 2649 if (amqpvalue_get_role(item_value, &role) != 0)
Azure.IoT Build 0:6ae2f7bca550 2650 {
Azure.IoT Build 0:6ae2f7bca550 2651 attach_destroy(*attach_handle);
AzureIoTClient 19:000ab4e6a2c1 2652 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2653 break;
Azure.IoT Build 0:6ae2f7bca550 2654 }
Azure.IoT Build 0:6ae2f7bca550 2655
Azure.IoT Build 0:6ae2f7bca550 2656 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 2657 }
Azure.IoT Build 0:6ae2f7bca550 2658 /* snd-settle-mode */
Azure.IoT Build 0:6ae2f7bca550 2659 item_value = amqpvalue_get_list_item(list_value, 3);
Azure.IoT Build 0:6ae2f7bca550 2660 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2661 {
Azure.IoT Build 0:6ae2f7bca550 2662 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 2663 }
Azure.IoT Build 0:6ae2f7bca550 2664 else
Azure.IoT Build 0:6ae2f7bca550 2665 {
Azure.IoT Build 0:6ae2f7bca550 2666 sender_settle_mode snd_settle_mode;
Azure.IoT Build 0:6ae2f7bca550 2667 if (amqpvalue_get_sender_settle_mode(item_value, &snd_settle_mode) != 0)
Azure.IoT Build 0:6ae2f7bca550 2668 {
Azure.IoT Build 0:6ae2f7bca550 2669 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 2670 {
Azure.IoT Build 0:6ae2f7bca550 2671 attach_destroy(*attach_handle);
AzureIoTClient 19:000ab4e6a2c1 2672 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2673 break;
Azure.IoT Build 0:6ae2f7bca550 2674 }
Azure.IoT Build 0:6ae2f7bca550 2675 }
Azure.IoT Build 0:6ae2f7bca550 2676
Azure.IoT Build 0:6ae2f7bca550 2677 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 2678 }
Azure.IoT Build 0:6ae2f7bca550 2679 /* rcv-settle-mode */
Azure.IoT Build 0:6ae2f7bca550 2680 item_value = amqpvalue_get_list_item(list_value, 4);
Azure.IoT Build 0:6ae2f7bca550 2681 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2682 {
Azure.IoT Build 0:6ae2f7bca550 2683 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 2684 }
Azure.IoT Build 0:6ae2f7bca550 2685 else
Azure.IoT Build 0:6ae2f7bca550 2686 {
Azure.IoT Build 0:6ae2f7bca550 2687 receiver_settle_mode rcv_settle_mode;
Azure.IoT Build 0:6ae2f7bca550 2688 if (amqpvalue_get_receiver_settle_mode(item_value, &rcv_settle_mode) != 0)
Azure.IoT Build 0:6ae2f7bca550 2689 {
Azure.IoT Build 0:6ae2f7bca550 2690 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 2691 {
Azure.IoT Build 0:6ae2f7bca550 2692 attach_destroy(*attach_handle);
AzureIoTClient 19:000ab4e6a2c1 2693 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2694 break;
Azure.IoT Build 0:6ae2f7bca550 2695 }
Azure.IoT Build 0:6ae2f7bca550 2696 }
Azure.IoT Build 0:6ae2f7bca550 2697
Azure.IoT Build 0:6ae2f7bca550 2698 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 2699 }
Azure.IoT Build 0:6ae2f7bca550 2700 /* source */
Azure.IoT Build 0:6ae2f7bca550 2701 item_value = amqpvalue_get_list_item(list_value, 5);
Azure.IoT Build 0:6ae2f7bca550 2702 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2703 {
Azure.IoT Build 0:6ae2f7bca550 2704 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 2705 }
Azure.IoT Build 0:6ae2f7bca550 2706 else
Azure.IoT Build 0:6ae2f7bca550 2707 {
Azure.IoT Build 0:6ae2f7bca550 2708 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 2709 }
Azure.IoT Build 0:6ae2f7bca550 2710 /* target */
Azure.IoT Build 0:6ae2f7bca550 2711 item_value = amqpvalue_get_list_item(list_value, 6);
Azure.IoT Build 0:6ae2f7bca550 2712 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2713 {
Azure.IoT Build 0:6ae2f7bca550 2714 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 2715 }
Azure.IoT Build 0:6ae2f7bca550 2716 else
Azure.IoT Build 0:6ae2f7bca550 2717 {
Azure.IoT Build 0:6ae2f7bca550 2718 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 2719 }
Azure.IoT Build 0:6ae2f7bca550 2720 /* unsettled */
Azure.IoT Build 0:6ae2f7bca550 2721 item_value = amqpvalue_get_list_item(list_value, 7);
Azure.IoT Build 0:6ae2f7bca550 2722 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2723 {
Azure.IoT Build 0:6ae2f7bca550 2724 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 2725 }
Azure.IoT Build 0:6ae2f7bca550 2726 else
Azure.IoT Build 0:6ae2f7bca550 2727 {
Azure.IoT Build 0:6ae2f7bca550 2728 AMQP_VALUE unsettled;
Azure.IoT Build 0:6ae2f7bca550 2729 if (amqpvalue_get_map(item_value, &unsettled) != 0)
Azure.IoT Build 0:6ae2f7bca550 2730 {
Azure.IoT Build 0:6ae2f7bca550 2731 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 2732 {
Azure.IoT Build 0:6ae2f7bca550 2733 attach_destroy(*attach_handle);
AzureIoTClient 19:000ab4e6a2c1 2734 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2735 break;
Azure.IoT Build 0:6ae2f7bca550 2736 }
Azure.IoT Build 0:6ae2f7bca550 2737 }
Azure.IoT Build 0:6ae2f7bca550 2738
Azure.IoT Build 0:6ae2f7bca550 2739 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 2740 }
Azure.IoT Build 0:6ae2f7bca550 2741 /* incomplete-unsettled */
Azure.IoT Build 0:6ae2f7bca550 2742 item_value = amqpvalue_get_list_item(list_value, 8);
Azure.IoT Build 0:6ae2f7bca550 2743 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2744 {
Azure.IoT Build 0:6ae2f7bca550 2745 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 2746 }
Azure.IoT Build 0:6ae2f7bca550 2747 else
Azure.IoT Build 0:6ae2f7bca550 2748 {
Azure.IoT Build 0:6ae2f7bca550 2749 bool incomplete_unsettled;
Azure.IoT Build 0:6ae2f7bca550 2750 if (amqpvalue_get_boolean(item_value, &incomplete_unsettled) != 0)
Azure.IoT Build 0:6ae2f7bca550 2751 {
Azure.IoT Build 0:6ae2f7bca550 2752 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 2753 {
Azure.IoT Build 0:6ae2f7bca550 2754 attach_destroy(*attach_handle);
AzureIoTClient 19:000ab4e6a2c1 2755 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2756 break;
Azure.IoT Build 0:6ae2f7bca550 2757 }
Azure.IoT Build 0:6ae2f7bca550 2758 }
Azure.IoT Build 0:6ae2f7bca550 2759
Azure.IoT Build 0:6ae2f7bca550 2760 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 2761 }
Azure.IoT Build 0:6ae2f7bca550 2762 /* initial-delivery-count */
Azure.IoT Build 0:6ae2f7bca550 2763 item_value = amqpvalue_get_list_item(list_value, 9);
Azure.IoT Build 0:6ae2f7bca550 2764 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2765 {
Azure.IoT Build 0:6ae2f7bca550 2766 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 2767 }
Azure.IoT Build 0:6ae2f7bca550 2768 else
Azure.IoT Build 0:6ae2f7bca550 2769 {
Azure.IoT Build 0:6ae2f7bca550 2770 sequence_no initial_delivery_count;
Azure.IoT Build 0:6ae2f7bca550 2771 if (amqpvalue_get_sequence_no(item_value, &initial_delivery_count) != 0)
Azure.IoT Build 0:6ae2f7bca550 2772 {
Azure.IoT Build 0:6ae2f7bca550 2773 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 2774 {
Azure.IoT Build 0:6ae2f7bca550 2775 attach_destroy(*attach_handle);
AzureIoTClient 19:000ab4e6a2c1 2776 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2777 break;
Azure.IoT Build 0:6ae2f7bca550 2778 }
Azure.IoT Build 0:6ae2f7bca550 2779 }
Azure.IoT Build 0:6ae2f7bca550 2780
Azure.IoT Build 0:6ae2f7bca550 2781 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 2782 }
Azure.IoT Build 0:6ae2f7bca550 2783 /* max-message-size */
Azure.IoT Build 0:6ae2f7bca550 2784 item_value = amqpvalue_get_list_item(list_value, 10);
Azure.IoT Build 0:6ae2f7bca550 2785 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2786 {
Azure.IoT Build 0:6ae2f7bca550 2787 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 2788 }
Azure.IoT Build 0:6ae2f7bca550 2789 else
Azure.IoT Build 0:6ae2f7bca550 2790 {
Azure.IoT Build 0:6ae2f7bca550 2791 uint64_t max_message_size;
Azure.IoT Build 0:6ae2f7bca550 2792 if (amqpvalue_get_ulong(item_value, &max_message_size) != 0)
Azure.IoT Build 0:6ae2f7bca550 2793 {
Azure.IoT Build 0:6ae2f7bca550 2794 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 2795 {
Azure.IoT Build 0:6ae2f7bca550 2796 attach_destroy(*attach_handle);
AzureIoTClient 19:000ab4e6a2c1 2797 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2798 break;
Azure.IoT Build 0:6ae2f7bca550 2799 }
Azure.IoT Build 0:6ae2f7bca550 2800 }
Azure.IoT Build 0:6ae2f7bca550 2801
Azure.IoT Build 0:6ae2f7bca550 2802 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 2803 }
Azure.IoT Build 0:6ae2f7bca550 2804 /* offered-capabilities */
Azure.IoT Build 0:6ae2f7bca550 2805 item_value = amqpvalue_get_list_item(list_value, 11);
Azure.IoT Build 0:6ae2f7bca550 2806 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2807 {
Azure.IoT Build 0:6ae2f7bca550 2808 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 2809 }
Azure.IoT Build 0:6ae2f7bca550 2810 else
Azure.IoT Build 0:6ae2f7bca550 2811 {
Azure.IoT Build 0:6ae2f7bca550 2812 const char* offered_capabilities;
Azure.IoT Build 0:6ae2f7bca550 2813 AMQP_VALUE offered_capabilities_array;
Azure.IoT Build 0:6ae2f7bca550 2814 if ((amqpvalue_get_array(item_value, &offered_capabilities_array) != 0) &&
Azure.IoT Build 0:6ae2f7bca550 2815 (amqpvalue_get_symbol(item_value, &offered_capabilities) != 0))
Azure.IoT Build 0:6ae2f7bca550 2816 {
Azure.IoT Build 0:6ae2f7bca550 2817 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 2818 {
Azure.IoT Build 0:6ae2f7bca550 2819 attach_destroy(*attach_handle);
AzureIoTClient 19:000ab4e6a2c1 2820 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2821 break;
Azure.IoT Build 0:6ae2f7bca550 2822 }
Azure.IoT Build 0:6ae2f7bca550 2823 }
Azure.IoT Build 0:6ae2f7bca550 2824
Azure.IoT Build 0:6ae2f7bca550 2825 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 2826 }
Azure.IoT Build 0:6ae2f7bca550 2827 /* desired-capabilities */
Azure.IoT Build 0:6ae2f7bca550 2828 item_value = amqpvalue_get_list_item(list_value, 12);
Azure.IoT Build 0:6ae2f7bca550 2829 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2830 {
Azure.IoT Build 0:6ae2f7bca550 2831 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 2832 }
Azure.IoT Build 0:6ae2f7bca550 2833 else
Azure.IoT Build 0:6ae2f7bca550 2834 {
Azure.IoT Build 0:6ae2f7bca550 2835 const char* desired_capabilities;
Azure.IoT Build 0:6ae2f7bca550 2836 AMQP_VALUE desired_capabilities_array;
Azure.IoT Build 0:6ae2f7bca550 2837 if ((amqpvalue_get_array(item_value, &desired_capabilities_array) != 0) &&
Azure.IoT Build 0:6ae2f7bca550 2838 (amqpvalue_get_symbol(item_value, &desired_capabilities) != 0))
Azure.IoT Build 0:6ae2f7bca550 2839 {
Azure.IoT Build 0:6ae2f7bca550 2840 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 2841 {
Azure.IoT Build 0:6ae2f7bca550 2842 attach_destroy(*attach_handle);
AzureIoTClient 19:000ab4e6a2c1 2843 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2844 break;
Azure.IoT Build 0:6ae2f7bca550 2845 }
Azure.IoT Build 0:6ae2f7bca550 2846 }
Azure.IoT Build 0:6ae2f7bca550 2847
Azure.IoT Build 0:6ae2f7bca550 2848 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 2849 }
Azure.IoT Build 0:6ae2f7bca550 2850 /* properties */
Azure.IoT Build 0:6ae2f7bca550 2851 item_value = amqpvalue_get_list_item(list_value, 13);
Azure.IoT Build 0:6ae2f7bca550 2852 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2853 {
Azure.IoT Build 0:6ae2f7bca550 2854 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 2855 }
Azure.IoT Build 0:6ae2f7bca550 2856 else
Azure.IoT Build 0:6ae2f7bca550 2857 {
Azure.IoT Build 0:6ae2f7bca550 2858 fields properties;
Azure.IoT Build 0:6ae2f7bca550 2859 if (amqpvalue_get_fields(item_value, &properties) != 0)
Azure.IoT Build 0:6ae2f7bca550 2860 {
Azure.IoT Build 0:6ae2f7bca550 2861 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 2862 {
Azure.IoT Build 0:6ae2f7bca550 2863 attach_destroy(*attach_handle);
AzureIoTClient 19:000ab4e6a2c1 2864 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2865 break;
Azure.IoT Build 0:6ae2f7bca550 2866 }
Azure.IoT Build 0:6ae2f7bca550 2867 }
Azure.IoT Build 0:6ae2f7bca550 2868
Azure.IoT Build 0:6ae2f7bca550 2869 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 2870 }
Azure.IoT Build 0:6ae2f7bca550 2871
Azure.IoT Build 0:6ae2f7bca550 2872 attach_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 2873
Azure.IoT Build 0:6ae2f7bca550 2874 result = 0;
Azure.IoT Build 0:6ae2f7bca550 2875 } while (0);
Azure.IoT Build 0:6ae2f7bca550 2876 }
Azure.IoT Build 0:6ae2f7bca550 2877 }
Azure.IoT Build 0:6ae2f7bca550 2878
Azure.IoT Build 0:6ae2f7bca550 2879 return result;
Azure.IoT Build 0:6ae2f7bca550 2880 }
Azure.IoT Build 0:6ae2f7bca550 2881
Azure.IoT Build 0:6ae2f7bca550 2882 int attach_get_name(ATTACH_HANDLE attach, const char** name_value)
Azure.IoT Build 0:6ae2f7bca550 2883 {
Azure.IoT Build 0:6ae2f7bca550 2884 int result;
Azure.IoT Build 0:6ae2f7bca550 2885
Azure.IoT Build 0:6ae2f7bca550 2886 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 2887 {
AzureIoTClient 19:000ab4e6a2c1 2888 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2889 }
Azure.IoT Build 0:6ae2f7bca550 2890 else
Azure.IoT Build 0:6ae2f7bca550 2891 {
Azure.IoT Build 0:6ae2f7bca550 2892 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 2893 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(attach_instance->composite_value, 0);
Azure.IoT Build 0:6ae2f7bca550 2894 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2895 {
AzureIoTClient 19:000ab4e6a2c1 2896 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2897 }
Azure.IoT Build 0:6ae2f7bca550 2898 else
Azure.IoT Build 0:6ae2f7bca550 2899 {
Azure.IoT Build 0:6ae2f7bca550 2900 if (amqpvalue_get_string(item_value, name_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 2901 {
AzureIoTClient 19:000ab4e6a2c1 2902 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2903 }
Azure.IoT Build 0:6ae2f7bca550 2904 else
Azure.IoT Build 0:6ae2f7bca550 2905 {
Azure.IoT Build 0:6ae2f7bca550 2906 result = 0;
Azure.IoT Build 0:6ae2f7bca550 2907 }
Azure.IoT Build 0:6ae2f7bca550 2908 }
Azure.IoT Build 0:6ae2f7bca550 2909 }
Azure.IoT Build 0:6ae2f7bca550 2910
Azure.IoT Build 0:6ae2f7bca550 2911 return result;
Azure.IoT Build 0:6ae2f7bca550 2912 }
Azure.IoT Build 0:6ae2f7bca550 2913
Azure.IoT Build 0:6ae2f7bca550 2914 int attach_set_name(ATTACH_HANDLE attach, const char* name_value)
Azure.IoT Build 0:6ae2f7bca550 2915 {
Azure.IoT Build 0:6ae2f7bca550 2916 int result;
Azure.IoT Build 0:6ae2f7bca550 2917
Azure.IoT Build 0:6ae2f7bca550 2918 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 2919 {
AzureIoTClient 19:000ab4e6a2c1 2920 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2921 }
Azure.IoT Build 0:6ae2f7bca550 2922 else
Azure.IoT Build 0:6ae2f7bca550 2923 {
Azure.IoT Build 0:6ae2f7bca550 2924 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 2925 AMQP_VALUE name_amqp_value = amqpvalue_create_string(name_value);
Azure.IoT Build 0:6ae2f7bca550 2926 if (name_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2927 {
AzureIoTClient 19:000ab4e6a2c1 2928 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2929 }
Azure.IoT Build 0:6ae2f7bca550 2930 else
Azure.IoT Build 0:6ae2f7bca550 2931 {
Azure.IoT Build 0:6ae2f7bca550 2932 if (amqpvalue_set_composite_item(attach_instance->composite_value, 0, name_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 2933 {
AzureIoTClient 19:000ab4e6a2c1 2934 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2935 }
Azure.IoT Build 0:6ae2f7bca550 2936 else
Azure.IoT Build 0:6ae2f7bca550 2937 {
Azure.IoT Build 0:6ae2f7bca550 2938 result = 0;
Azure.IoT Build 0:6ae2f7bca550 2939 }
Azure.IoT Build 0:6ae2f7bca550 2940
Azure.IoT Build 0:6ae2f7bca550 2941 amqpvalue_destroy(name_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 2942 }
Azure.IoT Build 0:6ae2f7bca550 2943 }
Azure.IoT Build 0:6ae2f7bca550 2944
Azure.IoT Build 0:6ae2f7bca550 2945 return result;
Azure.IoT Build 0:6ae2f7bca550 2946 }
Azure.IoT Build 0:6ae2f7bca550 2947
Azure.IoT Build 0:6ae2f7bca550 2948 int attach_get_handle(ATTACH_HANDLE attach, handle* handle_value)
Azure.IoT Build 0:6ae2f7bca550 2949 {
Azure.IoT Build 0:6ae2f7bca550 2950 int result;
Azure.IoT Build 0:6ae2f7bca550 2951
Azure.IoT Build 0:6ae2f7bca550 2952 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 2953 {
AzureIoTClient 19:000ab4e6a2c1 2954 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2955 }
Azure.IoT Build 0:6ae2f7bca550 2956 else
Azure.IoT Build 0:6ae2f7bca550 2957 {
Azure.IoT Build 0:6ae2f7bca550 2958 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 2959 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(attach_instance->composite_value, 1);
Azure.IoT Build 0:6ae2f7bca550 2960 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2961 {
AzureIoTClient 19:000ab4e6a2c1 2962 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2963 }
Azure.IoT Build 0:6ae2f7bca550 2964 else
Azure.IoT Build 0:6ae2f7bca550 2965 {
Azure.IoT Build 0:6ae2f7bca550 2966 if (amqpvalue_get_handle(item_value, handle_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 2967 {
AzureIoTClient 19:000ab4e6a2c1 2968 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2969 }
Azure.IoT Build 0:6ae2f7bca550 2970 else
Azure.IoT Build 0:6ae2f7bca550 2971 {
Azure.IoT Build 0:6ae2f7bca550 2972 result = 0;
Azure.IoT Build 0:6ae2f7bca550 2973 }
Azure.IoT Build 0:6ae2f7bca550 2974 }
Azure.IoT Build 0:6ae2f7bca550 2975 }
Azure.IoT Build 0:6ae2f7bca550 2976
Azure.IoT Build 0:6ae2f7bca550 2977 return result;
Azure.IoT Build 0:6ae2f7bca550 2978 }
Azure.IoT Build 0:6ae2f7bca550 2979
Azure.IoT Build 0:6ae2f7bca550 2980 int attach_set_handle(ATTACH_HANDLE attach, handle handle_value)
Azure.IoT Build 0:6ae2f7bca550 2981 {
Azure.IoT Build 0:6ae2f7bca550 2982 int result;
Azure.IoT Build 0:6ae2f7bca550 2983
Azure.IoT Build 0:6ae2f7bca550 2984 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 2985 {
AzureIoTClient 19:000ab4e6a2c1 2986 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2987 }
Azure.IoT Build 0:6ae2f7bca550 2988 else
Azure.IoT Build 0:6ae2f7bca550 2989 {
Azure.IoT Build 0:6ae2f7bca550 2990 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 2991 AMQP_VALUE handle_amqp_value = amqpvalue_create_handle(handle_value);
Azure.IoT Build 0:6ae2f7bca550 2992 if (handle_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 2993 {
AzureIoTClient 19:000ab4e6a2c1 2994 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 2995 }
Azure.IoT Build 0:6ae2f7bca550 2996 else
Azure.IoT Build 0:6ae2f7bca550 2997 {
Azure.IoT Build 0:6ae2f7bca550 2998 if (amqpvalue_set_composite_item(attach_instance->composite_value, 1, handle_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 2999 {
AzureIoTClient 19:000ab4e6a2c1 3000 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3001 }
Azure.IoT Build 0:6ae2f7bca550 3002 else
Azure.IoT Build 0:6ae2f7bca550 3003 {
Azure.IoT Build 0:6ae2f7bca550 3004 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3005 }
Azure.IoT Build 0:6ae2f7bca550 3006
Azure.IoT Build 0:6ae2f7bca550 3007 amqpvalue_destroy(handle_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 3008 }
Azure.IoT Build 0:6ae2f7bca550 3009 }
Azure.IoT Build 0:6ae2f7bca550 3010
Azure.IoT Build 0:6ae2f7bca550 3011 return result;
Azure.IoT Build 0:6ae2f7bca550 3012 }
Azure.IoT Build 0:6ae2f7bca550 3013
Azure.IoT Build 0:6ae2f7bca550 3014 int attach_get_role(ATTACH_HANDLE attach, role* role_value)
Azure.IoT Build 0:6ae2f7bca550 3015 {
Azure.IoT Build 0:6ae2f7bca550 3016 int result;
Azure.IoT Build 0:6ae2f7bca550 3017
Azure.IoT Build 0:6ae2f7bca550 3018 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3019 {
AzureIoTClient 19:000ab4e6a2c1 3020 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3021 }
Azure.IoT Build 0:6ae2f7bca550 3022 else
Azure.IoT Build 0:6ae2f7bca550 3023 {
Azure.IoT Build 0:6ae2f7bca550 3024 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3025 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(attach_instance->composite_value, 2);
Azure.IoT Build 0:6ae2f7bca550 3026 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3027 {
AzureIoTClient 19:000ab4e6a2c1 3028 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3029 }
Azure.IoT Build 0:6ae2f7bca550 3030 else
Azure.IoT Build 0:6ae2f7bca550 3031 {
Azure.IoT Build 0:6ae2f7bca550 3032 if (amqpvalue_get_role(item_value, role_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 3033 {
AzureIoTClient 19:000ab4e6a2c1 3034 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3035 }
Azure.IoT Build 0:6ae2f7bca550 3036 else
Azure.IoT Build 0:6ae2f7bca550 3037 {
Azure.IoT Build 0:6ae2f7bca550 3038 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3039 }
Azure.IoT Build 0:6ae2f7bca550 3040 }
Azure.IoT Build 0:6ae2f7bca550 3041 }
Azure.IoT Build 0:6ae2f7bca550 3042
Azure.IoT Build 0:6ae2f7bca550 3043 return result;
Azure.IoT Build 0:6ae2f7bca550 3044 }
Azure.IoT Build 0:6ae2f7bca550 3045
Azure.IoT Build 0:6ae2f7bca550 3046 int attach_set_role(ATTACH_HANDLE attach, role role_value)
Azure.IoT Build 0:6ae2f7bca550 3047 {
Azure.IoT Build 0:6ae2f7bca550 3048 int result;
Azure.IoT Build 0:6ae2f7bca550 3049
Azure.IoT Build 0:6ae2f7bca550 3050 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3051 {
AzureIoTClient 19:000ab4e6a2c1 3052 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3053 }
Azure.IoT Build 0:6ae2f7bca550 3054 else
Azure.IoT Build 0:6ae2f7bca550 3055 {
Azure.IoT Build 0:6ae2f7bca550 3056 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3057 AMQP_VALUE role_amqp_value = amqpvalue_create_role(role_value);
Azure.IoT Build 0:6ae2f7bca550 3058 if (role_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3059 {
AzureIoTClient 19:000ab4e6a2c1 3060 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3061 }
Azure.IoT Build 0:6ae2f7bca550 3062 else
Azure.IoT Build 0:6ae2f7bca550 3063 {
Azure.IoT Build 0:6ae2f7bca550 3064 if (amqpvalue_set_composite_item(attach_instance->composite_value, 2, role_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 3065 {
AzureIoTClient 19:000ab4e6a2c1 3066 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3067 }
Azure.IoT Build 0:6ae2f7bca550 3068 else
Azure.IoT Build 0:6ae2f7bca550 3069 {
Azure.IoT Build 0:6ae2f7bca550 3070 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3071 }
Azure.IoT Build 0:6ae2f7bca550 3072
Azure.IoT Build 0:6ae2f7bca550 3073 amqpvalue_destroy(role_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 3074 }
Azure.IoT Build 0:6ae2f7bca550 3075 }
Azure.IoT Build 0:6ae2f7bca550 3076
Azure.IoT Build 0:6ae2f7bca550 3077 return result;
Azure.IoT Build 0:6ae2f7bca550 3078 }
Azure.IoT Build 0:6ae2f7bca550 3079
Azure.IoT Build 0:6ae2f7bca550 3080 int attach_get_snd_settle_mode(ATTACH_HANDLE attach, sender_settle_mode* snd_settle_mode_value)
Azure.IoT Build 0:6ae2f7bca550 3081 {
Azure.IoT Build 0:6ae2f7bca550 3082 int result;
Azure.IoT Build 0:6ae2f7bca550 3083
Azure.IoT Build 0:6ae2f7bca550 3084 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3085 {
AzureIoTClient 19:000ab4e6a2c1 3086 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3087 }
Azure.IoT Build 0:6ae2f7bca550 3088 else
Azure.IoT Build 0:6ae2f7bca550 3089 {
Azure.IoT Build 0:6ae2f7bca550 3090 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3091 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(attach_instance->composite_value, 3);
Azure.IoT Build 0:6ae2f7bca550 3092 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3093 {
AzureIoTClient 16:22a72cf8e416 3094 *snd_settle_mode_value = sender_settle_mode_mixed;
AzureIoTClient 16:22a72cf8e416 3095 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3096 }
Azure.IoT Build 0:6ae2f7bca550 3097 else
Azure.IoT Build 0:6ae2f7bca550 3098 {
Azure.IoT Build 0:6ae2f7bca550 3099 if (amqpvalue_get_sender_settle_mode(item_value, snd_settle_mode_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 3100 {
AzureIoTClient 16:22a72cf8e416 3101 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 3102 {
AzureIoTClient 19:000ab4e6a2c1 3103 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 3104 }
AzureIoTClient 16:22a72cf8e416 3105 else
AzureIoTClient 16:22a72cf8e416 3106 {
AzureIoTClient 16:22a72cf8e416 3107 *snd_settle_mode_value = sender_settle_mode_mixed;
AzureIoTClient 16:22a72cf8e416 3108 result = 0;
AzureIoTClient 16:22a72cf8e416 3109 }
Azure.IoT Build 0:6ae2f7bca550 3110 }
Azure.IoT Build 0:6ae2f7bca550 3111 else
Azure.IoT Build 0:6ae2f7bca550 3112 {
Azure.IoT Build 0:6ae2f7bca550 3113 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3114 }
Azure.IoT Build 0:6ae2f7bca550 3115 }
Azure.IoT Build 0:6ae2f7bca550 3116 }
Azure.IoT Build 0:6ae2f7bca550 3117
Azure.IoT Build 0:6ae2f7bca550 3118 return result;
Azure.IoT Build 0:6ae2f7bca550 3119 }
Azure.IoT Build 0:6ae2f7bca550 3120
Azure.IoT Build 0:6ae2f7bca550 3121 int attach_set_snd_settle_mode(ATTACH_HANDLE attach, sender_settle_mode snd_settle_mode_value)
Azure.IoT Build 0:6ae2f7bca550 3122 {
Azure.IoT Build 0:6ae2f7bca550 3123 int result;
Azure.IoT Build 0:6ae2f7bca550 3124
Azure.IoT Build 0:6ae2f7bca550 3125 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3126 {
AzureIoTClient 19:000ab4e6a2c1 3127 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3128 }
Azure.IoT Build 0:6ae2f7bca550 3129 else
Azure.IoT Build 0:6ae2f7bca550 3130 {
Azure.IoT Build 0:6ae2f7bca550 3131 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3132 AMQP_VALUE snd_settle_mode_amqp_value = amqpvalue_create_sender_settle_mode(snd_settle_mode_value);
Azure.IoT Build 0:6ae2f7bca550 3133 if (snd_settle_mode_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3134 {
AzureIoTClient 19:000ab4e6a2c1 3135 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3136 }
Azure.IoT Build 0:6ae2f7bca550 3137 else
Azure.IoT Build 0:6ae2f7bca550 3138 {
Azure.IoT Build 0:6ae2f7bca550 3139 if (amqpvalue_set_composite_item(attach_instance->composite_value, 3, snd_settle_mode_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 3140 {
AzureIoTClient 19:000ab4e6a2c1 3141 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3142 }
Azure.IoT Build 0:6ae2f7bca550 3143 else
Azure.IoT Build 0:6ae2f7bca550 3144 {
Azure.IoT Build 0:6ae2f7bca550 3145 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3146 }
Azure.IoT Build 0:6ae2f7bca550 3147
Azure.IoT Build 0:6ae2f7bca550 3148 amqpvalue_destroy(snd_settle_mode_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 3149 }
Azure.IoT Build 0:6ae2f7bca550 3150 }
Azure.IoT Build 0:6ae2f7bca550 3151
Azure.IoT Build 0:6ae2f7bca550 3152 return result;
Azure.IoT Build 0:6ae2f7bca550 3153 }
Azure.IoT Build 0:6ae2f7bca550 3154
Azure.IoT Build 0:6ae2f7bca550 3155 int attach_get_rcv_settle_mode(ATTACH_HANDLE attach, receiver_settle_mode* rcv_settle_mode_value)
Azure.IoT Build 0:6ae2f7bca550 3156 {
Azure.IoT Build 0:6ae2f7bca550 3157 int result;
Azure.IoT Build 0:6ae2f7bca550 3158
Azure.IoT Build 0:6ae2f7bca550 3159 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3160 {
AzureIoTClient 19:000ab4e6a2c1 3161 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3162 }
Azure.IoT Build 0:6ae2f7bca550 3163 else
Azure.IoT Build 0:6ae2f7bca550 3164 {
Azure.IoT Build 0:6ae2f7bca550 3165 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3166 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(attach_instance->composite_value, 4);
Azure.IoT Build 0:6ae2f7bca550 3167 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3168 {
AzureIoTClient 16:22a72cf8e416 3169 *rcv_settle_mode_value = receiver_settle_mode_first;
AzureIoTClient 16:22a72cf8e416 3170 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3171 }
Azure.IoT Build 0:6ae2f7bca550 3172 else
Azure.IoT Build 0:6ae2f7bca550 3173 {
Azure.IoT Build 0:6ae2f7bca550 3174 if (amqpvalue_get_receiver_settle_mode(item_value, rcv_settle_mode_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 3175 {
AzureIoTClient 16:22a72cf8e416 3176 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 3177 {
AzureIoTClient 19:000ab4e6a2c1 3178 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 3179 }
AzureIoTClient 16:22a72cf8e416 3180 else
AzureIoTClient 16:22a72cf8e416 3181 {
AzureIoTClient 16:22a72cf8e416 3182 *rcv_settle_mode_value = receiver_settle_mode_first;
AzureIoTClient 16:22a72cf8e416 3183 result = 0;
AzureIoTClient 16:22a72cf8e416 3184 }
Azure.IoT Build 0:6ae2f7bca550 3185 }
Azure.IoT Build 0:6ae2f7bca550 3186 else
Azure.IoT Build 0:6ae2f7bca550 3187 {
Azure.IoT Build 0:6ae2f7bca550 3188 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3189 }
Azure.IoT Build 0:6ae2f7bca550 3190 }
Azure.IoT Build 0:6ae2f7bca550 3191 }
Azure.IoT Build 0:6ae2f7bca550 3192
Azure.IoT Build 0:6ae2f7bca550 3193 return result;
Azure.IoT Build 0:6ae2f7bca550 3194 }
Azure.IoT Build 0:6ae2f7bca550 3195
Azure.IoT Build 0:6ae2f7bca550 3196 int attach_set_rcv_settle_mode(ATTACH_HANDLE attach, receiver_settle_mode rcv_settle_mode_value)
Azure.IoT Build 0:6ae2f7bca550 3197 {
Azure.IoT Build 0:6ae2f7bca550 3198 int result;
Azure.IoT Build 0:6ae2f7bca550 3199
Azure.IoT Build 0:6ae2f7bca550 3200 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3201 {
AzureIoTClient 19:000ab4e6a2c1 3202 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3203 }
Azure.IoT Build 0:6ae2f7bca550 3204 else
Azure.IoT Build 0:6ae2f7bca550 3205 {
Azure.IoT Build 0:6ae2f7bca550 3206 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3207 AMQP_VALUE rcv_settle_mode_amqp_value = amqpvalue_create_receiver_settle_mode(rcv_settle_mode_value);
Azure.IoT Build 0:6ae2f7bca550 3208 if (rcv_settle_mode_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3209 {
AzureIoTClient 19:000ab4e6a2c1 3210 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3211 }
Azure.IoT Build 0:6ae2f7bca550 3212 else
Azure.IoT Build 0:6ae2f7bca550 3213 {
Azure.IoT Build 0:6ae2f7bca550 3214 if (amqpvalue_set_composite_item(attach_instance->composite_value, 4, rcv_settle_mode_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 3215 {
AzureIoTClient 19:000ab4e6a2c1 3216 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3217 }
Azure.IoT Build 0:6ae2f7bca550 3218 else
Azure.IoT Build 0:6ae2f7bca550 3219 {
Azure.IoT Build 0:6ae2f7bca550 3220 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3221 }
Azure.IoT Build 0:6ae2f7bca550 3222
Azure.IoT Build 0:6ae2f7bca550 3223 amqpvalue_destroy(rcv_settle_mode_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 3224 }
Azure.IoT Build 0:6ae2f7bca550 3225 }
Azure.IoT Build 0:6ae2f7bca550 3226
Azure.IoT Build 0:6ae2f7bca550 3227 return result;
Azure.IoT Build 0:6ae2f7bca550 3228 }
Azure.IoT Build 0:6ae2f7bca550 3229
Azure.IoT Build 0:6ae2f7bca550 3230 int attach_get_source(ATTACH_HANDLE attach, AMQP_VALUE* source_value)
Azure.IoT Build 0:6ae2f7bca550 3231 {
Azure.IoT Build 0:6ae2f7bca550 3232 int result;
Azure.IoT Build 0:6ae2f7bca550 3233
Azure.IoT Build 0:6ae2f7bca550 3234 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3235 {
AzureIoTClient 19:000ab4e6a2c1 3236 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3237 }
Azure.IoT Build 0:6ae2f7bca550 3238 else
Azure.IoT Build 0:6ae2f7bca550 3239 {
Azure.IoT Build 0:6ae2f7bca550 3240 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3241 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(attach_instance->composite_value, 5);
Azure.IoT Build 0:6ae2f7bca550 3242 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3243 {
AzureIoTClient 19:000ab4e6a2c1 3244 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3245 }
Azure.IoT Build 0:6ae2f7bca550 3246 else
Azure.IoT Build 0:6ae2f7bca550 3247 {
Azure.IoT Build 0:6ae2f7bca550 3248 *source_value = item_value;
Azure.IoT Build 0:6ae2f7bca550 3249 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3250 }
Azure.IoT Build 0:6ae2f7bca550 3251 }
Azure.IoT Build 0:6ae2f7bca550 3252
Azure.IoT Build 0:6ae2f7bca550 3253 return result;
Azure.IoT Build 0:6ae2f7bca550 3254 }
Azure.IoT Build 0:6ae2f7bca550 3255
Azure.IoT Build 0:6ae2f7bca550 3256 int attach_set_source(ATTACH_HANDLE attach, AMQP_VALUE source_value)
Azure.IoT Build 0:6ae2f7bca550 3257 {
Azure.IoT Build 0:6ae2f7bca550 3258 int result;
Azure.IoT Build 0:6ae2f7bca550 3259
Azure.IoT Build 0:6ae2f7bca550 3260 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3261 {
AzureIoTClient 19:000ab4e6a2c1 3262 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3263 }
Azure.IoT Build 0:6ae2f7bca550 3264 else
Azure.IoT Build 0:6ae2f7bca550 3265 {
Azure.IoT Build 0:6ae2f7bca550 3266 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3267 AMQP_VALUE source_amqp_value = amqpvalue_clone(source_value);
Azure.IoT Build 0:6ae2f7bca550 3268 if (source_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3269 {
AzureIoTClient 19:000ab4e6a2c1 3270 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3271 }
Azure.IoT Build 0:6ae2f7bca550 3272 else
Azure.IoT Build 0:6ae2f7bca550 3273 {
Azure.IoT Build 0:6ae2f7bca550 3274 if (amqpvalue_set_composite_item(attach_instance->composite_value, 5, source_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 3275 {
AzureIoTClient 19:000ab4e6a2c1 3276 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3277 }
Azure.IoT Build 0:6ae2f7bca550 3278 else
Azure.IoT Build 0:6ae2f7bca550 3279 {
Azure.IoT Build 0:6ae2f7bca550 3280 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3281 }
Azure.IoT Build 0:6ae2f7bca550 3282
Azure.IoT Build 0:6ae2f7bca550 3283 amqpvalue_destroy(source_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 3284 }
Azure.IoT Build 0:6ae2f7bca550 3285 }
Azure.IoT Build 0:6ae2f7bca550 3286
Azure.IoT Build 0:6ae2f7bca550 3287 return result;
Azure.IoT Build 0:6ae2f7bca550 3288 }
Azure.IoT Build 0:6ae2f7bca550 3289
Azure.IoT Build 0:6ae2f7bca550 3290 int attach_get_target(ATTACH_HANDLE attach, AMQP_VALUE* target_value)
Azure.IoT Build 0:6ae2f7bca550 3291 {
Azure.IoT Build 0:6ae2f7bca550 3292 int result;
Azure.IoT Build 0:6ae2f7bca550 3293
Azure.IoT Build 0:6ae2f7bca550 3294 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3295 {
AzureIoTClient 19:000ab4e6a2c1 3296 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3297 }
Azure.IoT Build 0:6ae2f7bca550 3298 else
Azure.IoT Build 0:6ae2f7bca550 3299 {
Azure.IoT Build 0:6ae2f7bca550 3300 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3301 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(attach_instance->composite_value, 6);
Azure.IoT Build 0:6ae2f7bca550 3302 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3303 {
AzureIoTClient 19:000ab4e6a2c1 3304 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3305 }
Azure.IoT Build 0:6ae2f7bca550 3306 else
Azure.IoT Build 0:6ae2f7bca550 3307 {
Azure.IoT Build 0:6ae2f7bca550 3308 *target_value = item_value;
Azure.IoT Build 0:6ae2f7bca550 3309 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3310 }
Azure.IoT Build 0:6ae2f7bca550 3311 }
Azure.IoT Build 0:6ae2f7bca550 3312
Azure.IoT Build 0:6ae2f7bca550 3313 return result;
Azure.IoT Build 0:6ae2f7bca550 3314 }
Azure.IoT Build 0:6ae2f7bca550 3315
Azure.IoT Build 0:6ae2f7bca550 3316 int attach_set_target(ATTACH_HANDLE attach, AMQP_VALUE target_value)
Azure.IoT Build 0:6ae2f7bca550 3317 {
Azure.IoT Build 0:6ae2f7bca550 3318 int result;
Azure.IoT Build 0:6ae2f7bca550 3319
Azure.IoT Build 0:6ae2f7bca550 3320 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3321 {
AzureIoTClient 19:000ab4e6a2c1 3322 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3323 }
Azure.IoT Build 0:6ae2f7bca550 3324 else
Azure.IoT Build 0:6ae2f7bca550 3325 {
Azure.IoT Build 0:6ae2f7bca550 3326 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3327 AMQP_VALUE target_amqp_value = amqpvalue_clone(target_value);
Azure.IoT Build 0:6ae2f7bca550 3328 if (target_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3329 {
AzureIoTClient 19:000ab4e6a2c1 3330 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3331 }
Azure.IoT Build 0:6ae2f7bca550 3332 else
Azure.IoT Build 0:6ae2f7bca550 3333 {
Azure.IoT Build 0:6ae2f7bca550 3334 if (amqpvalue_set_composite_item(attach_instance->composite_value, 6, target_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 3335 {
AzureIoTClient 19:000ab4e6a2c1 3336 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3337 }
Azure.IoT Build 0:6ae2f7bca550 3338 else
Azure.IoT Build 0:6ae2f7bca550 3339 {
Azure.IoT Build 0:6ae2f7bca550 3340 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3341 }
Azure.IoT Build 0:6ae2f7bca550 3342
Azure.IoT Build 0:6ae2f7bca550 3343 amqpvalue_destroy(target_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 3344 }
Azure.IoT Build 0:6ae2f7bca550 3345 }
Azure.IoT Build 0:6ae2f7bca550 3346
Azure.IoT Build 0:6ae2f7bca550 3347 return result;
Azure.IoT Build 0:6ae2f7bca550 3348 }
Azure.IoT Build 0:6ae2f7bca550 3349
Azure.IoT Build 0:6ae2f7bca550 3350 int attach_get_unsettled(ATTACH_HANDLE attach, AMQP_VALUE* unsettled_value)
Azure.IoT Build 0:6ae2f7bca550 3351 {
Azure.IoT Build 0:6ae2f7bca550 3352 int result;
Azure.IoT Build 0:6ae2f7bca550 3353
Azure.IoT Build 0:6ae2f7bca550 3354 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3355 {
AzureIoTClient 19:000ab4e6a2c1 3356 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3357 }
Azure.IoT Build 0:6ae2f7bca550 3358 else
Azure.IoT Build 0:6ae2f7bca550 3359 {
Azure.IoT Build 0:6ae2f7bca550 3360 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3361 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(attach_instance->composite_value, 7);
Azure.IoT Build 0:6ae2f7bca550 3362 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3363 {
AzureIoTClient 19:000ab4e6a2c1 3364 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3365 }
Azure.IoT Build 0:6ae2f7bca550 3366 else
Azure.IoT Build 0:6ae2f7bca550 3367 {
Azure.IoT Build 0:6ae2f7bca550 3368 if (amqpvalue_get_map(item_value, unsettled_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 3369 {
AzureIoTClient 19:000ab4e6a2c1 3370 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3371 }
Azure.IoT Build 0:6ae2f7bca550 3372 else
Azure.IoT Build 0:6ae2f7bca550 3373 {
Azure.IoT Build 0:6ae2f7bca550 3374 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3375 }
Azure.IoT Build 0:6ae2f7bca550 3376 }
Azure.IoT Build 0:6ae2f7bca550 3377 }
Azure.IoT Build 0:6ae2f7bca550 3378
Azure.IoT Build 0:6ae2f7bca550 3379 return result;
Azure.IoT Build 0:6ae2f7bca550 3380 }
Azure.IoT Build 0:6ae2f7bca550 3381
Azure.IoT Build 0:6ae2f7bca550 3382 int attach_set_unsettled(ATTACH_HANDLE attach, AMQP_VALUE unsettled_value)
Azure.IoT Build 0:6ae2f7bca550 3383 {
Azure.IoT Build 0:6ae2f7bca550 3384 int result;
Azure.IoT Build 0:6ae2f7bca550 3385
Azure.IoT Build 0:6ae2f7bca550 3386 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3387 {
AzureIoTClient 19:000ab4e6a2c1 3388 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3389 }
Azure.IoT Build 0:6ae2f7bca550 3390 else
Azure.IoT Build 0:6ae2f7bca550 3391 {
Azure.IoT Build 0:6ae2f7bca550 3392 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3393 AMQP_VALUE unsettled_amqp_value = amqpvalue_clone(unsettled_value);
Azure.IoT Build 0:6ae2f7bca550 3394 if (unsettled_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3395 {
AzureIoTClient 19:000ab4e6a2c1 3396 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3397 }
Azure.IoT Build 0:6ae2f7bca550 3398 else
Azure.IoT Build 0:6ae2f7bca550 3399 {
Azure.IoT Build 0:6ae2f7bca550 3400 if (amqpvalue_set_composite_item(attach_instance->composite_value, 7, unsettled_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 3401 {
AzureIoTClient 19:000ab4e6a2c1 3402 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3403 }
Azure.IoT Build 0:6ae2f7bca550 3404 else
Azure.IoT Build 0:6ae2f7bca550 3405 {
Azure.IoT Build 0:6ae2f7bca550 3406 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3407 }
Azure.IoT Build 0:6ae2f7bca550 3408
Azure.IoT Build 0:6ae2f7bca550 3409 amqpvalue_destroy(unsettled_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 3410 }
Azure.IoT Build 0:6ae2f7bca550 3411 }
Azure.IoT Build 0:6ae2f7bca550 3412
Azure.IoT Build 0:6ae2f7bca550 3413 return result;
Azure.IoT Build 0:6ae2f7bca550 3414 }
Azure.IoT Build 0:6ae2f7bca550 3415
Azure.IoT Build 0:6ae2f7bca550 3416 int attach_get_incomplete_unsettled(ATTACH_HANDLE attach, bool* incomplete_unsettled_value)
Azure.IoT Build 0:6ae2f7bca550 3417 {
Azure.IoT Build 0:6ae2f7bca550 3418 int result;
Azure.IoT Build 0:6ae2f7bca550 3419
Azure.IoT Build 0:6ae2f7bca550 3420 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3421 {
AzureIoTClient 19:000ab4e6a2c1 3422 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3423 }
Azure.IoT Build 0:6ae2f7bca550 3424 else
Azure.IoT Build 0:6ae2f7bca550 3425 {
Azure.IoT Build 0:6ae2f7bca550 3426 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3427 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(attach_instance->composite_value, 8);
Azure.IoT Build 0:6ae2f7bca550 3428 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3429 {
AzureIoTClient 16:22a72cf8e416 3430 *incomplete_unsettled_value = false;
AzureIoTClient 16:22a72cf8e416 3431 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3432 }
Azure.IoT Build 0:6ae2f7bca550 3433 else
Azure.IoT Build 0:6ae2f7bca550 3434 {
Azure.IoT Build 0:6ae2f7bca550 3435 if (amqpvalue_get_boolean(item_value, incomplete_unsettled_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 3436 {
AzureIoTClient 16:22a72cf8e416 3437 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 3438 {
AzureIoTClient 19:000ab4e6a2c1 3439 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 3440 }
AzureIoTClient 16:22a72cf8e416 3441 else
AzureIoTClient 16:22a72cf8e416 3442 {
AzureIoTClient 16:22a72cf8e416 3443 *incomplete_unsettled_value = false;
AzureIoTClient 16:22a72cf8e416 3444 result = 0;
AzureIoTClient 16:22a72cf8e416 3445 }
Azure.IoT Build 0:6ae2f7bca550 3446 }
Azure.IoT Build 0:6ae2f7bca550 3447 else
Azure.IoT Build 0:6ae2f7bca550 3448 {
Azure.IoT Build 0:6ae2f7bca550 3449 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3450 }
Azure.IoT Build 0:6ae2f7bca550 3451 }
Azure.IoT Build 0:6ae2f7bca550 3452 }
Azure.IoT Build 0:6ae2f7bca550 3453
Azure.IoT Build 0:6ae2f7bca550 3454 return result;
Azure.IoT Build 0:6ae2f7bca550 3455 }
Azure.IoT Build 0:6ae2f7bca550 3456
Azure.IoT Build 0:6ae2f7bca550 3457 int attach_set_incomplete_unsettled(ATTACH_HANDLE attach, bool incomplete_unsettled_value)
Azure.IoT Build 0:6ae2f7bca550 3458 {
Azure.IoT Build 0:6ae2f7bca550 3459 int result;
Azure.IoT Build 0:6ae2f7bca550 3460
Azure.IoT Build 0:6ae2f7bca550 3461 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3462 {
AzureIoTClient 19:000ab4e6a2c1 3463 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3464 }
Azure.IoT Build 0:6ae2f7bca550 3465 else
Azure.IoT Build 0:6ae2f7bca550 3466 {
Azure.IoT Build 0:6ae2f7bca550 3467 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3468 AMQP_VALUE incomplete_unsettled_amqp_value = amqpvalue_create_boolean(incomplete_unsettled_value);
Azure.IoT Build 0:6ae2f7bca550 3469 if (incomplete_unsettled_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3470 {
AzureIoTClient 19:000ab4e6a2c1 3471 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3472 }
Azure.IoT Build 0:6ae2f7bca550 3473 else
Azure.IoT Build 0:6ae2f7bca550 3474 {
Azure.IoT Build 0:6ae2f7bca550 3475 if (amqpvalue_set_composite_item(attach_instance->composite_value, 8, incomplete_unsettled_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 3476 {
AzureIoTClient 19:000ab4e6a2c1 3477 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3478 }
Azure.IoT Build 0:6ae2f7bca550 3479 else
Azure.IoT Build 0:6ae2f7bca550 3480 {
Azure.IoT Build 0:6ae2f7bca550 3481 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3482 }
Azure.IoT Build 0:6ae2f7bca550 3483
Azure.IoT Build 0:6ae2f7bca550 3484 amqpvalue_destroy(incomplete_unsettled_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 3485 }
Azure.IoT Build 0:6ae2f7bca550 3486 }
Azure.IoT Build 0:6ae2f7bca550 3487
Azure.IoT Build 0:6ae2f7bca550 3488 return result;
Azure.IoT Build 0:6ae2f7bca550 3489 }
Azure.IoT Build 0:6ae2f7bca550 3490
Azure.IoT Build 0:6ae2f7bca550 3491 int attach_get_initial_delivery_count(ATTACH_HANDLE attach, sequence_no* initial_delivery_count_value)
Azure.IoT Build 0:6ae2f7bca550 3492 {
Azure.IoT Build 0:6ae2f7bca550 3493 int result;
Azure.IoT Build 0:6ae2f7bca550 3494
Azure.IoT Build 0:6ae2f7bca550 3495 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3496 {
AzureIoTClient 19:000ab4e6a2c1 3497 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3498 }
Azure.IoT Build 0:6ae2f7bca550 3499 else
Azure.IoT Build 0:6ae2f7bca550 3500 {
Azure.IoT Build 0:6ae2f7bca550 3501 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3502 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(attach_instance->composite_value, 9);
Azure.IoT Build 0:6ae2f7bca550 3503 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3504 {
AzureIoTClient 19:000ab4e6a2c1 3505 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3506 }
Azure.IoT Build 0:6ae2f7bca550 3507 else
Azure.IoT Build 0:6ae2f7bca550 3508 {
Azure.IoT Build 0:6ae2f7bca550 3509 if (amqpvalue_get_sequence_no(item_value, initial_delivery_count_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 3510 {
AzureIoTClient 19:000ab4e6a2c1 3511 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3512 }
Azure.IoT Build 0:6ae2f7bca550 3513 else
Azure.IoT Build 0:6ae2f7bca550 3514 {
Azure.IoT Build 0:6ae2f7bca550 3515 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3516 }
Azure.IoT Build 0:6ae2f7bca550 3517 }
Azure.IoT Build 0:6ae2f7bca550 3518 }
Azure.IoT Build 0:6ae2f7bca550 3519
Azure.IoT Build 0:6ae2f7bca550 3520 return result;
Azure.IoT Build 0:6ae2f7bca550 3521 }
Azure.IoT Build 0:6ae2f7bca550 3522
Azure.IoT Build 0:6ae2f7bca550 3523 int attach_set_initial_delivery_count(ATTACH_HANDLE attach, sequence_no initial_delivery_count_value)
Azure.IoT Build 0:6ae2f7bca550 3524 {
Azure.IoT Build 0:6ae2f7bca550 3525 int result;
Azure.IoT Build 0:6ae2f7bca550 3526
Azure.IoT Build 0:6ae2f7bca550 3527 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3528 {
AzureIoTClient 19:000ab4e6a2c1 3529 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3530 }
Azure.IoT Build 0:6ae2f7bca550 3531 else
Azure.IoT Build 0:6ae2f7bca550 3532 {
Azure.IoT Build 0:6ae2f7bca550 3533 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3534 AMQP_VALUE initial_delivery_count_amqp_value = amqpvalue_create_sequence_no(initial_delivery_count_value);
Azure.IoT Build 0:6ae2f7bca550 3535 if (initial_delivery_count_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3536 {
AzureIoTClient 19:000ab4e6a2c1 3537 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3538 }
Azure.IoT Build 0:6ae2f7bca550 3539 else
Azure.IoT Build 0:6ae2f7bca550 3540 {
Azure.IoT Build 0:6ae2f7bca550 3541 if (amqpvalue_set_composite_item(attach_instance->composite_value, 9, initial_delivery_count_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 3542 {
AzureIoTClient 19:000ab4e6a2c1 3543 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3544 }
Azure.IoT Build 0:6ae2f7bca550 3545 else
Azure.IoT Build 0:6ae2f7bca550 3546 {
Azure.IoT Build 0:6ae2f7bca550 3547 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3548 }
Azure.IoT Build 0:6ae2f7bca550 3549
Azure.IoT Build 0:6ae2f7bca550 3550 amqpvalue_destroy(initial_delivery_count_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 3551 }
Azure.IoT Build 0:6ae2f7bca550 3552 }
Azure.IoT Build 0:6ae2f7bca550 3553
Azure.IoT Build 0:6ae2f7bca550 3554 return result;
Azure.IoT Build 0:6ae2f7bca550 3555 }
Azure.IoT Build 0:6ae2f7bca550 3556
Azure.IoT Build 0:6ae2f7bca550 3557 int attach_get_max_message_size(ATTACH_HANDLE attach, uint64_t* max_message_size_value)
Azure.IoT Build 0:6ae2f7bca550 3558 {
Azure.IoT Build 0:6ae2f7bca550 3559 int result;
Azure.IoT Build 0:6ae2f7bca550 3560
Azure.IoT Build 0:6ae2f7bca550 3561 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3562 {
AzureIoTClient 19:000ab4e6a2c1 3563 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3564 }
Azure.IoT Build 0:6ae2f7bca550 3565 else
Azure.IoT Build 0:6ae2f7bca550 3566 {
Azure.IoT Build 0:6ae2f7bca550 3567 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3568 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(attach_instance->composite_value, 10);
Azure.IoT Build 0:6ae2f7bca550 3569 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3570 {
AzureIoTClient 19:000ab4e6a2c1 3571 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3572 }
Azure.IoT Build 0:6ae2f7bca550 3573 else
Azure.IoT Build 0:6ae2f7bca550 3574 {
Azure.IoT Build 0:6ae2f7bca550 3575 if (amqpvalue_get_ulong(item_value, max_message_size_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 3576 {
AzureIoTClient 19:000ab4e6a2c1 3577 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3578 }
Azure.IoT Build 0:6ae2f7bca550 3579 else
Azure.IoT Build 0:6ae2f7bca550 3580 {
Azure.IoT Build 0:6ae2f7bca550 3581 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3582 }
Azure.IoT Build 0:6ae2f7bca550 3583 }
Azure.IoT Build 0:6ae2f7bca550 3584 }
Azure.IoT Build 0:6ae2f7bca550 3585
Azure.IoT Build 0:6ae2f7bca550 3586 return result;
Azure.IoT Build 0:6ae2f7bca550 3587 }
Azure.IoT Build 0:6ae2f7bca550 3588
Azure.IoT Build 0:6ae2f7bca550 3589 int attach_set_max_message_size(ATTACH_HANDLE attach, uint64_t max_message_size_value)
Azure.IoT Build 0:6ae2f7bca550 3590 {
Azure.IoT Build 0:6ae2f7bca550 3591 int result;
Azure.IoT Build 0:6ae2f7bca550 3592
Azure.IoT Build 0:6ae2f7bca550 3593 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3594 {
AzureIoTClient 19:000ab4e6a2c1 3595 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3596 }
Azure.IoT Build 0:6ae2f7bca550 3597 else
Azure.IoT Build 0:6ae2f7bca550 3598 {
Azure.IoT Build 0:6ae2f7bca550 3599 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3600 AMQP_VALUE max_message_size_amqp_value = amqpvalue_create_ulong(max_message_size_value);
Azure.IoT Build 0:6ae2f7bca550 3601 if (max_message_size_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3602 {
AzureIoTClient 19:000ab4e6a2c1 3603 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3604 }
Azure.IoT Build 0:6ae2f7bca550 3605 else
Azure.IoT Build 0:6ae2f7bca550 3606 {
Azure.IoT Build 0:6ae2f7bca550 3607 if (amqpvalue_set_composite_item(attach_instance->composite_value, 10, max_message_size_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 3608 {
AzureIoTClient 19:000ab4e6a2c1 3609 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3610 }
Azure.IoT Build 0:6ae2f7bca550 3611 else
Azure.IoT Build 0:6ae2f7bca550 3612 {
Azure.IoT Build 0:6ae2f7bca550 3613 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3614 }
Azure.IoT Build 0:6ae2f7bca550 3615
Azure.IoT Build 0:6ae2f7bca550 3616 amqpvalue_destroy(max_message_size_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 3617 }
Azure.IoT Build 0:6ae2f7bca550 3618 }
Azure.IoT Build 0:6ae2f7bca550 3619
Azure.IoT Build 0:6ae2f7bca550 3620 return result;
Azure.IoT Build 0:6ae2f7bca550 3621 }
Azure.IoT Build 0:6ae2f7bca550 3622
Azure.IoT Build 0:6ae2f7bca550 3623 int attach_get_offered_capabilities(ATTACH_HANDLE attach, AMQP_VALUE* offered_capabilities_value)
Azure.IoT Build 0:6ae2f7bca550 3624 {
Azure.IoT Build 0:6ae2f7bca550 3625 int result;
Azure.IoT Build 0:6ae2f7bca550 3626
Azure.IoT Build 0:6ae2f7bca550 3627 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3628 {
AzureIoTClient 19:000ab4e6a2c1 3629 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3630 }
Azure.IoT Build 0:6ae2f7bca550 3631 else
Azure.IoT Build 0:6ae2f7bca550 3632 {
Azure.IoT Build 0:6ae2f7bca550 3633 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3634 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(attach_instance->composite_value, 11);
Azure.IoT Build 0:6ae2f7bca550 3635 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3636 {
AzureIoTClient 19:000ab4e6a2c1 3637 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3638 }
Azure.IoT Build 0:6ae2f7bca550 3639 else
Azure.IoT Build 0:6ae2f7bca550 3640 {
Azure.IoT Build 0:6ae2f7bca550 3641 if (amqpvalue_get_array(item_value, offered_capabilities_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 3642 {
AzureIoTClient 19:000ab4e6a2c1 3643 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3644 }
Azure.IoT Build 0:6ae2f7bca550 3645 else
Azure.IoT Build 0:6ae2f7bca550 3646 {
Azure.IoT Build 0:6ae2f7bca550 3647 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3648 }
Azure.IoT Build 0:6ae2f7bca550 3649 }
Azure.IoT Build 0:6ae2f7bca550 3650 }
Azure.IoT Build 0:6ae2f7bca550 3651
Azure.IoT Build 0:6ae2f7bca550 3652 return result;
Azure.IoT Build 0:6ae2f7bca550 3653 }
Azure.IoT Build 0:6ae2f7bca550 3654
Azure.IoT Build 0:6ae2f7bca550 3655 int attach_set_offered_capabilities(ATTACH_HANDLE attach, AMQP_VALUE offered_capabilities_value)
Azure.IoT Build 0:6ae2f7bca550 3656 {
Azure.IoT Build 0:6ae2f7bca550 3657 int result;
Azure.IoT Build 0:6ae2f7bca550 3658
Azure.IoT Build 0:6ae2f7bca550 3659 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3660 {
AzureIoTClient 19:000ab4e6a2c1 3661 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3662 }
Azure.IoT Build 0:6ae2f7bca550 3663 else
Azure.IoT Build 0:6ae2f7bca550 3664 {
Azure.IoT Build 0:6ae2f7bca550 3665 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3666 AMQP_VALUE offered_capabilities_amqp_value = amqpvalue_clone(offered_capabilities_value);
Azure.IoT Build 0:6ae2f7bca550 3667 if (offered_capabilities_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3668 {
AzureIoTClient 19:000ab4e6a2c1 3669 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3670 }
Azure.IoT Build 0:6ae2f7bca550 3671 else
Azure.IoT Build 0:6ae2f7bca550 3672 {
Azure.IoT Build 0:6ae2f7bca550 3673 if (amqpvalue_set_composite_item(attach_instance->composite_value, 11, offered_capabilities_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 3674 {
AzureIoTClient 19:000ab4e6a2c1 3675 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3676 }
Azure.IoT Build 0:6ae2f7bca550 3677 else
Azure.IoT Build 0:6ae2f7bca550 3678 {
Azure.IoT Build 0:6ae2f7bca550 3679 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3680 }
Azure.IoT Build 0:6ae2f7bca550 3681
Azure.IoT Build 0:6ae2f7bca550 3682 amqpvalue_destroy(offered_capabilities_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 3683 }
Azure.IoT Build 0:6ae2f7bca550 3684 }
Azure.IoT Build 0:6ae2f7bca550 3685
Azure.IoT Build 0:6ae2f7bca550 3686 return result;
Azure.IoT Build 0:6ae2f7bca550 3687 }
Azure.IoT Build 0:6ae2f7bca550 3688
Azure.IoT Build 0:6ae2f7bca550 3689 int attach_get_desired_capabilities(ATTACH_HANDLE attach, AMQP_VALUE* desired_capabilities_value)
Azure.IoT Build 0:6ae2f7bca550 3690 {
Azure.IoT Build 0:6ae2f7bca550 3691 int result;
Azure.IoT Build 0:6ae2f7bca550 3692
Azure.IoT Build 0:6ae2f7bca550 3693 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3694 {
AzureIoTClient 19:000ab4e6a2c1 3695 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3696 }
Azure.IoT Build 0:6ae2f7bca550 3697 else
Azure.IoT Build 0:6ae2f7bca550 3698 {
Azure.IoT Build 0:6ae2f7bca550 3699 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3700 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(attach_instance->composite_value, 12);
Azure.IoT Build 0:6ae2f7bca550 3701 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3702 {
AzureIoTClient 19:000ab4e6a2c1 3703 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3704 }
Azure.IoT Build 0:6ae2f7bca550 3705 else
Azure.IoT Build 0:6ae2f7bca550 3706 {
Azure.IoT Build 0:6ae2f7bca550 3707 if (amqpvalue_get_array(item_value, desired_capabilities_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 3708 {
AzureIoTClient 19:000ab4e6a2c1 3709 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3710 }
Azure.IoT Build 0:6ae2f7bca550 3711 else
Azure.IoT Build 0:6ae2f7bca550 3712 {
Azure.IoT Build 0:6ae2f7bca550 3713 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3714 }
Azure.IoT Build 0:6ae2f7bca550 3715 }
Azure.IoT Build 0:6ae2f7bca550 3716 }
Azure.IoT Build 0:6ae2f7bca550 3717
Azure.IoT Build 0:6ae2f7bca550 3718 return result;
Azure.IoT Build 0:6ae2f7bca550 3719 }
Azure.IoT Build 0:6ae2f7bca550 3720
Azure.IoT Build 0:6ae2f7bca550 3721 int attach_set_desired_capabilities(ATTACH_HANDLE attach, AMQP_VALUE desired_capabilities_value)
Azure.IoT Build 0:6ae2f7bca550 3722 {
Azure.IoT Build 0:6ae2f7bca550 3723 int result;
Azure.IoT Build 0:6ae2f7bca550 3724
Azure.IoT Build 0:6ae2f7bca550 3725 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3726 {
AzureIoTClient 19:000ab4e6a2c1 3727 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3728 }
Azure.IoT Build 0:6ae2f7bca550 3729 else
Azure.IoT Build 0:6ae2f7bca550 3730 {
Azure.IoT Build 0:6ae2f7bca550 3731 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3732 AMQP_VALUE desired_capabilities_amqp_value = amqpvalue_clone(desired_capabilities_value);
Azure.IoT Build 0:6ae2f7bca550 3733 if (desired_capabilities_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3734 {
AzureIoTClient 19:000ab4e6a2c1 3735 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3736 }
Azure.IoT Build 0:6ae2f7bca550 3737 else
Azure.IoT Build 0:6ae2f7bca550 3738 {
Azure.IoT Build 0:6ae2f7bca550 3739 if (amqpvalue_set_composite_item(attach_instance->composite_value, 12, desired_capabilities_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 3740 {
AzureIoTClient 19:000ab4e6a2c1 3741 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3742 }
Azure.IoT Build 0:6ae2f7bca550 3743 else
Azure.IoT Build 0:6ae2f7bca550 3744 {
Azure.IoT Build 0:6ae2f7bca550 3745 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3746 }
Azure.IoT Build 0:6ae2f7bca550 3747
Azure.IoT Build 0:6ae2f7bca550 3748 amqpvalue_destroy(desired_capabilities_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 3749 }
Azure.IoT Build 0:6ae2f7bca550 3750 }
Azure.IoT Build 0:6ae2f7bca550 3751
Azure.IoT Build 0:6ae2f7bca550 3752 return result;
Azure.IoT Build 0:6ae2f7bca550 3753 }
Azure.IoT Build 0:6ae2f7bca550 3754
Azure.IoT Build 0:6ae2f7bca550 3755 int attach_get_properties(ATTACH_HANDLE attach, fields* properties_value)
Azure.IoT Build 0:6ae2f7bca550 3756 {
Azure.IoT Build 0:6ae2f7bca550 3757 int result;
Azure.IoT Build 0:6ae2f7bca550 3758
Azure.IoT Build 0:6ae2f7bca550 3759 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3760 {
AzureIoTClient 19:000ab4e6a2c1 3761 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3762 }
Azure.IoT Build 0:6ae2f7bca550 3763 else
Azure.IoT Build 0:6ae2f7bca550 3764 {
Azure.IoT Build 0:6ae2f7bca550 3765 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3766 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(attach_instance->composite_value, 13);
Azure.IoT Build 0:6ae2f7bca550 3767 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3768 {
AzureIoTClient 19:000ab4e6a2c1 3769 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3770 }
Azure.IoT Build 0:6ae2f7bca550 3771 else
Azure.IoT Build 0:6ae2f7bca550 3772 {
Azure.IoT Build 0:6ae2f7bca550 3773 if (amqpvalue_get_fields(item_value, properties_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 3774 {
AzureIoTClient 19:000ab4e6a2c1 3775 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3776 }
Azure.IoT Build 0:6ae2f7bca550 3777 else
Azure.IoT Build 0:6ae2f7bca550 3778 {
Azure.IoT Build 0:6ae2f7bca550 3779 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3780 }
Azure.IoT Build 0:6ae2f7bca550 3781 }
Azure.IoT Build 0:6ae2f7bca550 3782 }
Azure.IoT Build 0:6ae2f7bca550 3783
Azure.IoT Build 0:6ae2f7bca550 3784 return result;
Azure.IoT Build 0:6ae2f7bca550 3785 }
Azure.IoT Build 0:6ae2f7bca550 3786
Azure.IoT Build 0:6ae2f7bca550 3787 int attach_set_properties(ATTACH_HANDLE attach, fields properties_value)
Azure.IoT Build 0:6ae2f7bca550 3788 {
Azure.IoT Build 0:6ae2f7bca550 3789 int result;
Azure.IoT Build 0:6ae2f7bca550 3790
Azure.IoT Build 0:6ae2f7bca550 3791 if (attach == NULL)
Azure.IoT Build 0:6ae2f7bca550 3792 {
AzureIoTClient 19:000ab4e6a2c1 3793 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3794 }
Azure.IoT Build 0:6ae2f7bca550 3795 else
Azure.IoT Build 0:6ae2f7bca550 3796 {
Azure.IoT Build 0:6ae2f7bca550 3797 ATTACH_INSTANCE* attach_instance = (ATTACH_INSTANCE*)attach;
Azure.IoT Build 0:6ae2f7bca550 3798 AMQP_VALUE properties_amqp_value = amqpvalue_create_fields(properties_value);
Azure.IoT Build 0:6ae2f7bca550 3799 if (properties_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3800 {
AzureIoTClient 19:000ab4e6a2c1 3801 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3802 }
Azure.IoT Build 0:6ae2f7bca550 3803 else
Azure.IoT Build 0:6ae2f7bca550 3804 {
Azure.IoT Build 0:6ae2f7bca550 3805 if (amqpvalue_set_composite_item(attach_instance->composite_value, 13, properties_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 3806 {
AzureIoTClient 19:000ab4e6a2c1 3807 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3808 }
Azure.IoT Build 0:6ae2f7bca550 3809 else
Azure.IoT Build 0:6ae2f7bca550 3810 {
Azure.IoT Build 0:6ae2f7bca550 3811 result = 0;
Azure.IoT Build 0:6ae2f7bca550 3812 }
Azure.IoT Build 0:6ae2f7bca550 3813
Azure.IoT Build 0:6ae2f7bca550 3814 amqpvalue_destroy(properties_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 3815 }
Azure.IoT Build 0:6ae2f7bca550 3816 }
Azure.IoT Build 0:6ae2f7bca550 3817
Azure.IoT Build 0:6ae2f7bca550 3818 return result;
Azure.IoT Build 0:6ae2f7bca550 3819 }
Azure.IoT Build 0:6ae2f7bca550 3820
Azure.IoT Build 0:6ae2f7bca550 3821
Azure.IoT Build 0:6ae2f7bca550 3822 /* flow */
Azure.IoT Build 0:6ae2f7bca550 3823
Azure.IoT Build 0:6ae2f7bca550 3824 typedef struct FLOW_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 3825 {
Azure.IoT Build 0:6ae2f7bca550 3826 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 3827 } FLOW_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 3828
Azure.IoT Build 0:6ae2f7bca550 3829 static FLOW_HANDLE flow_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 3830 {
Azure.IoT Build 0:6ae2f7bca550 3831 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)amqpalloc_malloc(sizeof(FLOW_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 3832 if (flow_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 3833 {
Azure.IoT Build 0:6ae2f7bca550 3834 flow_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 3835 }
Azure.IoT Build 0:6ae2f7bca550 3836
Azure.IoT Build 0:6ae2f7bca550 3837 return flow_instance;
Azure.IoT Build 0:6ae2f7bca550 3838 }
Azure.IoT Build 0:6ae2f7bca550 3839
Azure.IoT Build 0:6ae2f7bca550 3840 FLOW_HANDLE flow_create(uint32_t incoming_window_value, transfer_number next_outgoing_id_value, uint32_t outgoing_window_value)
Azure.IoT Build 0:6ae2f7bca550 3841 {
Azure.IoT Build 0:6ae2f7bca550 3842 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)amqpalloc_malloc(sizeof(FLOW_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 3843 if (flow_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 3844 {
Azure.IoT Build 0:6ae2f7bca550 3845 flow_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(19);
Azure.IoT Build 0:6ae2f7bca550 3846 if (flow_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3847 {
Azure.IoT Build 0:6ae2f7bca550 3848 amqpalloc_free(flow_instance);
Azure.IoT Build 0:6ae2f7bca550 3849 flow_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 3850 }
Azure.IoT Build 0:6ae2f7bca550 3851 else
Azure.IoT Build 0:6ae2f7bca550 3852 {
Azure.IoT Build 0:6ae2f7bca550 3853 AMQP_VALUE incoming_window_amqp_value;
Azure.IoT Build 0:6ae2f7bca550 3854 AMQP_VALUE next_outgoing_id_amqp_value;
Azure.IoT Build 0:6ae2f7bca550 3855 AMQP_VALUE outgoing_window_amqp_value;
Azure.IoT Build 0:6ae2f7bca550 3856 int result = 0;
Azure.IoT Build 0:6ae2f7bca550 3857
Azure.IoT Build 0:6ae2f7bca550 3858 incoming_window_amqp_value = amqpvalue_create_uint(incoming_window_value);
Azure.IoT Build 0:6ae2f7bca550 3859 if ((result == 0) && (amqpvalue_set_composite_item(flow_instance->composite_value, 1, incoming_window_amqp_value) != 0))
Azure.IoT Build 0:6ae2f7bca550 3860 {
AzureIoTClient 19:000ab4e6a2c1 3861 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3862 }
Azure.IoT Build 0:6ae2f7bca550 3863 next_outgoing_id_amqp_value = amqpvalue_create_transfer_number(next_outgoing_id_value);
Azure.IoT Build 0:6ae2f7bca550 3864 if ((result == 0) && (amqpvalue_set_composite_item(flow_instance->composite_value, 2, next_outgoing_id_amqp_value) != 0))
Azure.IoT Build 0:6ae2f7bca550 3865 {
AzureIoTClient 19:000ab4e6a2c1 3866 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3867 }
Azure.IoT Build 0:6ae2f7bca550 3868 outgoing_window_amqp_value = amqpvalue_create_uint(outgoing_window_value);
Azure.IoT Build 0:6ae2f7bca550 3869 if ((result == 0) && (amqpvalue_set_composite_item(flow_instance->composite_value, 3, outgoing_window_amqp_value) != 0))
Azure.IoT Build 0:6ae2f7bca550 3870 {
AzureIoTClient 19:000ab4e6a2c1 3871 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3872 }
Azure.IoT Build 0:6ae2f7bca550 3873
Azure.IoT Build 0:6ae2f7bca550 3874 amqpvalue_destroy(incoming_window_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 3875 amqpvalue_destroy(next_outgoing_id_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 3876 amqpvalue_destroy(outgoing_window_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 3877 }
Azure.IoT Build 0:6ae2f7bca550 3878 }
Azure.IoT Build 0:6ae2f7bca550 3879
Azure.IoT Build 0:6ae2f7bca550 3880 return flow_instance;
Azure.IoT Build 0:6ae2f7bca550 3881 }
Azure.IoT Build 0:6ae2f7bca550 3882
Azure.IoT Build 0:6ae2f7bca550 3883 FLOW_HANDLE flow_clone(FLOW_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 3884 {
Azure.IoT Build 0:6ae2f7bca550 3885 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)amqpalloc_malloc(sizeof(FLOW_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 3886 if (flow_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 3887 {
Azure.IoT Build 0:6ae2f7bca550 3888 flow_instance->composite_value = amqpvalue_clone(((FLOW_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 3889 if (flow_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3890 {
Azure.IoT Build 0:6ae2f7bca550 3891 amqpalloc_free(flow_instance);
Azure.IoT Build 0:6ae2f7bca550 3892 flow_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 3893 }
Azure.IoT Build 0:6ae2f7bca550 3894 }
Azure.IoT Build 0:6ae2f7bca550 3895
Azure.IoT Build 0:6ae2f7bca550 3896 return flow_instance;
Azure.IoT Build 0:6ae2f7bca550 3897 }
Azure.IoT Build 0:6ae2f7bca550 3898
Azure.IoT Build 0:6ae2f7bca550 3899 void flow_destroy(FLOW_HANDLE flow)
Azure.IoT Build 0:6ae2f7bca550 3900 {
Azure.IoT Build 0:6ae2f7bca550 3901 if (flow != NULL)
Azure.IoT Build 0:6ae2f7bca550 3902 {
Azure.IoT Build 0:6ae2f7bca550 3903 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 3904 amqpvalue_destroy(flow_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 3905 amqpalloc_free(flow_instance);
Azure.IoT Build 0:6ae2f7bca550 3906 }
Azure.IoT Build 0:6ae2f7bca550 3907 }
Azure.IoT Build 0:6ae2f7bca550 3908
Azure.IoT Build 0:6ae2f7bca550 3909 AMQP_VALUE amqpvalue_create_flow(FLOW_HANDLE flow)
Azure.IoT Build 0:6ae2f7bca550 3910 {
Azure.IoT Build 0:6ae2f7bca550 3911 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 3912
Azure.IoT Build 0:6ae2f7bca550 3913 if (flow == NULL)
Azure.IoT Build 0:6ae2f7bca550 3914 {
Azure.IoT Build 0:6ae2f7bca550 3915 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 3916 }
Azure.IoT Build 0:6ae2f7bca550 3917 else
Azure.IoT Build 0:6ae2f7bca550 3918 {
Azure.IoT Build 0:6ae2f7bca550 3919 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 3920 result = amqpvalue_clone(flow_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 3921 }
Azure.IoT Build 0:6ae2f7bca550 3922
Azure.IoT Build 0:6ae2f7bca550 3923 return result;
Azure.IoT Build 0:6ae2f7bca550 3924 }
Azure.IoT Build 0:6ae2f7bca550 3925
Azure.IoT Build 0:6ae2f7bca550 3926 bool is_flow_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 3927 {
Azure.IoT Build 0:6ae2f7bca550 3928 bool result;
Azure.IoT Build 0:6ae2f7bca550 3929
Azure.IoT Build 0:6ae2f7bca550 3930 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 3931 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 3932 (descriptor_ulong == 19))
Azure.IoT Build 0:6ae2f7bca550 3933 {
Azure.IoT Build 0:6ae2f7bca550 3934 result = true;
Azure.IoT Build 0:6ae2f7bca550 3935 }
Azure.IoT Build 0:6ae2f7bca550 3936 else
Azure.IoT Build 0:6ae2f7bca550 3937 {
Azure.IoT Build 0:6ae2f7bca550 3938 result = false;
Azure.IoT Build 0:6ae2f7bca550 3939 }
Azure.IoT Build 0:6ae2f7bca550 3940
Azure.IoT Build 0:6ae2f7bca550 3941 return result;
Azure.IoT Build 0:6ae2f7bca550 3942 }
Azure.IoT Build 0:6ae2f7bca550 3943
Azure.IoT Build 0:6ae2f7bca550 3944
Azure.IoT Build 0:6ae2f7bca550 3945 int amqpvalue_get_flow(AMQP_VALUE value, FLOW_HANDLE* flow_handle)
Azure.IoT Build 0:6ae2f7bca550 3946 {
Azure.IoT Build 0:6ae2f7bca550 3947 int result;
Azure.IoT Build 0:6ae2f7bca550 3948 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow_create_internal();
Azure.IoT Build 0:6ae2f7bca550 3949 *flow_handle = flow_instance;
Azure.IoT Build 0:6ae2f7bca550 3950 if (*flow_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 3951 {
AzureIoTClient 19:000ab4e6a2c1 3952 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3953 }
Azure.IoT Build 0:6ae2f7bca550 3954 else
Azure.IoT Build 0:6ae2f7bca550 3955 {
Azure.IoT Build 0:6ae2f7bca550 3956 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 3957 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3958 {
Azure.IoT Build 0:6ae2f7bca550 3959 flow_destroy(*flow_handle);
AzureIoTClient 19:000ab4e6a2c1 3960 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3961 }
Azure.IoT Build 0:6ae2f7bca550 3962 else
Azure.IoT Build 0:6ae2f7bca550 3963 {
Azure.IoT Build 0:6ae2f7bca550 3964 do
Azure.IoT Build 0:6ae2f7bca550 3965 {
Azure.IoT Build 0:6ae2f7bca550 3966 AMQP_VALUE item_value;
Azure.IoT Build 0:6ae2f7bca550 3967 /* next-incoming-id */
Azure.IoT Build 0:6ae2f7bca550 3968 item_value = amqpvalue_get_list_item(list_value, 0);
Azure.IoT Build 0:6ae2f7bca550 3969 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3970 {
Azure.IoT Build 0:6ae2f7bca550 3971 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 3972 }
Azure.IoT Build 0:6ae2f7bca550 3973 else
Azure.IoT Build 0:6ae2f7bca550 3974 {
Azure.IoT Build 0:6ae2f7bca550 3975 transfer_number next_incoming_id;
Azure.IoT Build 0:6ae2f7bca550 3976 if (amqpvalue_get_transfer_number(item_value, &next_incoming_id) != 0)
Azure.IoT Build 0:6ae2f7bca550 3977 {
Azure.IoT Build 0:6ae2f7bca550 3978 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 3979 {
Azure.IoT Build 0:6ae2f7bca550 3980 flow_destroy(*flow_handle);
AzureIoTClient 19:000ab4e6a2c1 3981 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3982 break;
Azure.IoT Build 0:6ae2f7bca550 3983 }
Azure.IoT Build 0:6ae2f7bca550 3984 }
Azure.IoT Build 0:6ae2f7bca550 3985
Azure.IoT Build 0:6ae2f7bca550 3986 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 3987 }
Azure.IoT Build 0:6ae2f7bca550 3988 /* incoming-window */
Azure.IoT Build 0:6ae2f7bca550 3989 item_value = amqpvalue_get_list_item(list_value, 1);
Azure.IoT Build 0:6ae2f7bca550 3990 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 3991 {
Azure.IoT Build 0:6ae2f7bca550 3992 {
Azure.IoT Build 0:6ae2f7bca550 3993 flow_destroy(*flow_handle);
AzureIoTClient 19:000ab4e6a2c1 3994 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 3995 break;
Azure.IoT Build 0:6ae2f7bca550 3996 }
Azure.IoT Build 0:6ae2f7bca550 3997 }
Azure.IoT Build 0:6ae2f7bca550 3998 else
Azure.IoT Build 0:6ae2f7bca550 3999 {
Azure.IoT Build 0:6ae2f7bca550 4000 uint32_t incoming_window;
Azure.IoT Build 0:6ae2f7bca550 4001 if (amqpvalue_get_uint(item_value, &incoming_window) != 0)
Azure.IoT Build 0:6ae2f7bca550 4002 {
Azure.IoT Build 0:6ae2f7bca550 4003 flow_destroy(*flow_handle);
AzureIoTClient 19:000ab4e6a2c1 4004 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4005 break;
Azure.IoT Build 0:6ae2f7bca550 4006 }
Azure.IoT Build 0:6ae2f7bca550 4007
Azure.IoT Build 0:6ae2f7bca550 4008 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 4009 }
Azure.IoT Build 0:6ae2f7bca550 4010 /* next-outgoing-id */
Azure.IoT Build 0:6ae2f7bca550 4011 item_value = amqpvalue_get_list_item(list_value, 2);
Azure.IoT Build 0:6ae2f7bca550 4012 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4013 {
Azure.IoT Build 0:6ae2f7bca550 4014 {
Azure.IoT Build 0:6ae2f7bca550 4015 flow_destroy(*flow_handle);
AzureIoTClient 19:000ab4e6a2c1 4016 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4017 break;
Azure.IoT Build 0:6ae2f7bca550 4018 }
Azure.IoT Build 0:6ae2f7bca550 4019 }
Azure.IoT Build 0:6ae2f7bca550 4020 else
Azure.IoT Build 0:6ae2f7bca550 4021 {
Azure.IoT Build 0:6ae2f7bca550 4022 transfer_number next_outgoing_id;
Azure.IoT Build 0:6ae2f7bca550 4023 if (amqpvalue_get_transfer_number(item_value, &next_outgoing_id) != 0)
Azure.IoT Build 0:6ae2f7bca550 4024 {
Azure.IoT Build 0:6ae2f7bca550 4025 flow_destroy(*flow_handle);
AzureIoTClient 19:000ab4e6a2c1 4026 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4027 break;
Azure.IoT Build 0:6ae2f7bca550 4028 }
Azure.IoT Build 0:6ae2f7bca550 4029
Azure.IoT Build 0:6ae2f7bca550 4030 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 4031 }
Azure.IoT Build 0:6ae2f7bca550 4032 /* outgoing-window */
Azure.IoT Build 0:6ae2f7bca550 4033 item_value = amqpvalue_get_list_item(list_value, 3);
Azure.IoT Build 0:6ae2f7bca550 4034 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4035 {
Azure.IoT Build 0:6ae2f7bca550 4036 {
Azure.IoT Build 0:6ae2f7bca550 4037 flow_destroy(*flow_handle);
AzureIoTClient 19:000ab4e6a2c1 4038 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4039 break;
Azure.IoT Build 0:6ae2f7bca550 4040 }
Azure.IoT Build 0:6ae2f7bca550 4041 }
Azure.IoT Build 0:6ae2f7bca550 4042 else
Azure.IoT Build 0:6ae2f7bca550 4043 {
Azure.IoT Build 0:6ae2f7bca550 4044 uint32_t outgoing_window;
Azure.IoT Build 0:6ae2f7bca550 4045 if (amqpvalue_get_uint(item_value, &outgoing_window) != 0)
Azure.IoT Build 0:6ae2f7bca550 4046 {
Azure.IoT Build 0:6ae2f7bca550 4047 flow_destroy(*flow_handle);
AzureIoTClient 19:000ab4e6a2c1 4048 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4049 break;
Azure.IoT Build 0:6ae2f7bca550 4050 }
Azure.IoT Build 0:6ae2f7bca550 4051
Azure.IoT Build 0:6ae2f7bca550 4052 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 4053 }
Azure.IoT Build 0:6ae2f7bca550 4054 /* handle */
Azure.IoT Build 0:6ae2f7bca550 4055 item_value = amqpvalue_get_list_item(list_value, 4);
Azure.IoT Build 0:6ae2f7bca550 4056 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4057 {
Azure.IoT Build 0:6ae2f7bca550 4058 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 4059 }
Azure.IoT Build 0:6ae2f7bca550 4060 else
Azure.IoT Build 0:6ae2f7bca550 4061 {
Azure.IoT Build 0:6ae2f7bca550 4062 handle handle;
Azure.IoT Build 0:6ae2f7bca550 4063 if (amqpvalue_get_handle(item_value, &handle) != 0)
Azure.IoT Build 0:6ae2f7bca550 4064 {
Azure.IoT Build 0:6ae2f7bca550 4065 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 4066 {
Azure.IoT Build 0:6ae2f7bca550 4067 flow_destroy(*flow_handle);
AzureIoTClient 19:000ab4e6a2c1 4068 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4069 break;
Azure.IoT Build 0:6ae2f7bca550 4070 }
Azure.IoT Build 0:6ae2f7bca550 4071 }
Azure.IoT Build 0:6ae2f7bca550 4072
Azure.IoT Build 0:6ae2f7bca550 4073 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 4074 }
Azure.IoT Build 0:6ae2f7bca550 4075 /* delivery-count */
Azure.IoT Build 0:6ae2f7bca550 4076 item_value = amqpvalue_get_list_item(list_value, 5);
Azure.IoT Build 0:6ae2f7bca550 4077 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4078 {
Azure.IoT Build 0:6ae2f7bca550 4079 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 4080 }
Azure.IoT Build 0:6ae2f7bca550 4081 else
Azure.IoT Build 0:6ae2f7bca550 4082 {
Azure.IoT Build 0:6ae2f7bca550 4083 sequence_no delivery_count;
Azure.IoT Build 0:6ae2f7bca550 4084 if (amqpvalue_get_sequence_no(item_value, &delivery_count) != 0)
Azure.IoT Build 0:6ae2f7bca550 4085 {
Azure.IoT Build 0:6ae2f7bca550 4086 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 4087 {
Azure.IoT Build 0:6ae2f7bca550 4088 flow_destroy(*flow_handle);
AzureIoTClient 19:000ab4e6a2c1 4089 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4090 break;
Azure.IoT Build 0:6ae2f7bca550 4091 }
Azure.IoT Build 0:6ae2f7bca550 4092 }
Azure.IoT Build 0:6ae2f7bca550 4093
Azure.IoT Build 0:6ae2f7bca550 4094 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 4095 }
Azure.IoT Build 0:6ae2f7bca550 4096 /* link-credit */
Azure.IoT Build 0:6ae2f7bca550 4097 item_value = amqpvalue_get_list_item(list_value, 6);
Azure.IoT Build 0:6ae2f7bca550 4098 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4099 {
Azure.IoT Build 0:6ae2f7bca550 4100 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 4101 }
Azure.IoT Build 0:6ae2f7bca550 4102 else
Azure.IoT Build 0:6ae2f7bca550 4103 {
Azure.IoT Build 0:6ae2f7bca550 4104 uint32_t link_credit;
Azure.IoT Build 0:6ae2f7bca550 4105 if (amqpvalue_get_uint(item_value, &link_credit) != 0)
Azure.IoT Build 0:6ae2f7bca550 4106 {
Azure.IoT Build 0:6ae2f7bca550 4107 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 4108 {
Azure.IoT Build 0:6ae2f7bca550 4109 flow_destroy(*flow_handle);
AzureIoTClient 19:000ab4e6a2c1 4110 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4111 break;
Azure.IoT Build 0:6ae2f7bca550 4112 }
Azure.IoT Build 0:6ae2f7bca550 4113 }
Azure.IoT Build 0:6ae2f7bca550 4114
Azure.IoT Build 0:6ae2f7bca550 4115 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 4116 }
Azure.IoT Build 0:6ae2f7bca550 4117 /* available */
Azure.IoT Build 0:6ae2f7bca550 4118 item_value = amqpvalue_get_list_item(list_value, 7);
Azure.IoT Build 0:6ae2f7bca550 4119 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4120 {
Azure.IoT Build 0:6ae2f7bca550 4121 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 4122 }
Azure.IoT Build 0:6ae2f7bca550 4123 else
Azure.IoT Build 0:6ae2f7bca550 4124 {
Azure.IoT Build 0:6ae2f7bca550 4125 uint32_t available;
Azure.IoT Build 0:6ae2f7bca550 4126 if (amqpvalue_get_uint(item_value, &available) != 0)
Azure.IoT Build 0:6ae2f7bca550 4127 {
Azure.IoT Build 0:6ae2f7bca550 4128 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 4129 {
Azure.IoT Build 0:6ae2f7bca550 4130 flow_destroy(*flow_handle);
AzureIoTClient 19:000ab4e6a2c1 4131 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4132 break;
Azure.IoT Build 0:6ae2f7bca550 4133 }
Azure.IoT Build 0:6ae2f7bca550 4134 }
Azure.IoT Build 0:6ae2f7bca550 4135
Azure.IoT Build 0:6ae2f7bca550 4136 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 4137 }
Azure.IoT Build 0:6ae2f7bca550 4138 /* drain */
Azure.IoT Build 0:6ae2f7bca550 4139 item_value = amqpvalue_get_list_item(list_value, 8);
Azure.IoT Build 0:6ae2f7bca550 4140 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4141 {
Azure.IoT Build 0:6ae2f7bca550 4142 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 4143 }
Azure.IoT Build 0:6ae2f7bca550 4144 else
Azure.IoT Build 0:6ae2f7bca550 4145 {
Azure.IoT Build 0:6ae2f7bca550 4146 bool drain;
Azure.IoT Build 0:6ae2f7bca550 4147 if (amqpvalue_get_boolean(item_value, &drain) != 0)
Azure.IoT Build 0:6ae2f7bca550 4148 {
Azure.IoT Build 0:6ae2f7bca550 4149 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 4150 {
Azure.IoT Build 0:6ae2f7bca550 4151 flow_destroy(*flow_handle);
AzureIoTClient 19:000ab4e6a2c1 4152 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4153 break;
Azure.IoT Build 0:6ae2f7bca550 4154 }
Azure.IoT Build 0:6ae2f7bca550 4155 }
Azure.IoT Build 0:6ae2f7bca550 4156
Azure.IoT Build 0:6ae2f7bca550 4157 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 4158 }
Azure.IoT Build 0:6ae2f7bca550 4159 /* echo */
Azure.IoT Build 0:6ae2f7bca550 4160 item_value = amqpvalue_get_list_item(list_value, 9);
Azure.IoT Build 0:6ae2f7bca550 4161 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4162 {
Azure.IoT Build 0:6ae2f7bca550 4163 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 4164 }
Azure.IoT Build 0:6ae2f7bca550 4165 else
Azure.IoT Build 0:6ae2f7bca550 4166 {
Azure.IoT Build 0:6ae2f7bca550 4167 bool echo;
Azure.IoT Build 0:6ae2f7bca550 4168 if (amqpvalue_get_boolean(item_value, &echo) != 0)
Azure.IoT Build 0:6ae2f7bca550 4169 {
Azure.IoT Build 0:6ae2f7bca550 4170 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 4171 {
Azure.IoT Build 0:6ae2f7bca550 4172 flow_destroy(*flow_handle);
AzureIoTClient 19:000ab4e6a2c1 4173 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4174 break;
Azure.IoT Build 0:6ae2f7bca550 4175 }
Azure.IoT Build 0:6ae2f7bca550 4176 }
Azure.IoT Build 0:6ae2f7bca550 4177
Azure.IoT Build 0:6ae2f7bca550 4178 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 4179 }
Azure.IoT Build 0:6ae2f7bca550 4180 /* properties */
Azure.IoT Build 0:6ae2f7bca550 4181 item_value = amqpvalue_get_list_item(list_value, 10);
Azure.IoT Build 0:6ae2f7bca550 4182 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4183 {
Azure.IoT Build 0:6ae2f7bca550 4184 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 4185 }
Azure.IoT Build 0:6ae2f7bca550 4186 else
Azure.IoT Build 0:6ae2f7bca550 4187 {
Azure.IoT Build 0:6ae2f7bca550 4188 fields properties;
Azure.IoT Build 0:6ae2f7bca550 4189 if (amqpvalue_get_fields(item_value, &properties) != 0)
Azure.IoT Build 0:6ae2f7bca550 4190 {
Azure.IoT Build 0:6ae2f7bca550 4191 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 4192 {
Azure.IoT Build 0:6ae2f7bca550 4193 flow_destroy(*flow_handle);
AzureIoTClient 19:000ab4e6a2c1 4194 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4195 break;
Azure.IoT Build 0:6ae2f7bca550 4196 }
Azure.IoT Build 0:6ae2f7bca550 4197 }
Azure.IoT Build 0:6ae2f7bca550 4198
Azure.IoT Build 0:6ae2f7bca550 4199 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 4200 }
Azure.IoT Build 0:6ae2f7bca550 4201
Azure.IoT Build 0:6ae2f7bca550 4202 flow_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 4203
Azure.IoT Build 0:6ae2f7bca550 4204 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4205 } while (0);
Azure.IoT Build 0:6ae2f7bca550 4206 }
Azure.IoT Build 0:6ae2f7bca550 4207 }
Azure.IoT Build 0:6ae2f7bca550 4208
Azure.IoT Build 0:6ae2f7bca550 4209 return result;
Azure.IoT Build 0:6ae2f7bca550 4210 }
Azure.IoT Build 0:6ae2f7bca550 4211
Azure.IoT Build 0:6ae2f7bca550 4212 int flow_get_next_incoming_id(FLOW_HANDLE flow, transfer_number* next_incoming_id_value)
Azure.IoT Build 0:6ae2f7bca550 4213 {
Azure.IoT Build 0:6ae2f7bca550 4214 int result;
Azure.IoT Build 0:6ae2f7bca550 4215
Azure.IoT Build 0:6ae2f7bca550 4216 if (flow == NULL)
Azure.IoT Build 0:6ae2f7bca550 4217 {
AzureIoTClient 19:000ab4e6a2c1 4218 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4219 }
Azure.IoT Build 0:6ae2f7bca550 4220 else
Azure.IoT Build 0:6ae2f7bca550 4221 {
Azure.IoT Build 0:6ae2f7bca550 4222 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 4223 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(flow_instance->composite_value, 0);
Azure.IoT Build 0:6ae2f7bca550 4224 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4225 {
AzureIoTClient 19:000ab4e6a2c1 4226 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4227 }
Azure.IoT Build 0:6ae2f7bca550 4228 else
Azure.IoT Build 0:6ae2f7bca550 4229 {
Azure.IoT Build 0:6ae2f7bca550 4230 if (amqpvalue_get_transfer_number(item_value, next_incoming_id_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 4231 {
AzureIoTClient 19:000ab4e6a2c1 4232 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4233 }
Azure.IoT Build 0:6ae2f7bca550 4234 else
Azure.IoT Build 0:6ae2f7bca550 4235 {
Azure.IoT Build 0:6ae2f7bca550 4236 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4237 }
Azure.IoT Build 0:6ae2f7bca550 4238 }
Azure.IoT Build 0:6ae2f7bca550 4239 }
Azure.IoT Build 0:6ae2f7bca550 4240
Azure.IoT Build 0:6ae2f7bca550 4241 return result;
Azure.IoT Build 0:6ae2f7bca550 4242 }
Azure.IoT Build 0:6ae2f7bca550 4243
Azure.IoT Build 0:6ae2f7bca550 4244 int flow_set_next_incoming_id(FLOW_HANDLE flow, transfer_number next_incoming_id_value)
Azure.IoT Build 0:6ae2f7bca550 4245 {
Azure.IoT Build 0:6ae2f7bca550 4246 int result;
Azure.IoT Build 0:6ae2f7bca550 4247
Azure.IoT Build 0:6ae2f7bca550 4248 if (flow == NULL)
Azure.IoT Build 0:6ae2f7bca550 4249 {
AzureIoTClient 19:000ab4e6a2c1 4250 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4251 }
Azure.IoT Build 0:6ae2f7bca550 4252 else
Azure.IoT Build 0:6ae2f7bca550 4253 {
Azure.IoT Build 0:6ae2f7bca550 4254 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 4255 AMQP_VALUE next_incoming_id_amqp_value = amqpvalue_create_transfer_number(next_incoming_id_value);
Azure.IoT Build 0:6ae2f7bca550 4256 if (next_incoming_id_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4257 {
AzureIoTClient 19:000ab4e6a2c1 4258 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4259 }
Azure.IoT Build 0:6ae2f7bca550 4260 else
Azure.IoT Build 0:6ae2f7bca550 4261 {
Azure.IoT Build 0:6ae2f7bca550 4262 if (amqpvalue_set_composite_item(flow_instance->composite_value, 0, next_incoming_id_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 4263 {
AzureIoTClient 19:000ab4e6a2c1 4264 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4265 }
Azure.IoT Build 0:6ae2f7bca550 4266 else
Azure.IoT Build 0:6ae2f7bca550 4267 {
Azure.IoT Build 0:6ae2f7bca550 4268 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4269 }
Azure.IoT Build 0:6ae2f7bca550 4270
Azure.IoT Build 0:6ae2f7bca550 4271 amqpvalue_destroy(next_incoming_id_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 4272 }
Azure.IoT Build 0:6ae2f7bca550 4273 }
Azure.IoT Build 0:6ae2f7bca550 4274
Azure.IoT Build 0:6ae2f7bca550 4275 return result;
Azure.IoT Build 0:6ae2f7bca550 4276 }
Azure.IoT Build 0:6ae2f7bca550 4277
Azure.IoT Build 0:6ae2f7bca550 4278 int flow_get_incoming_window(FLOW_HANDLE flow, uint32_t* incoming_window_value)
Azure.IoT Build 0:6ae2f7bca550 4279 {
Azure.IoT Build 0:6ae2f7bca550 4280 int result;
Azure.IoT Build 0:6ae2f7bca550 4281
Azure.IoT Build 0:6ae2f7bca550 4282 if (flow == NULL)
Azure.IoT Build 0:6ae2f7bca550 4283 {
AzureIoTClient 19:000ab4e6a2c1 4284 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4285 }
Azure.IoT Build 0:6ae2f7bca550 4286 else
Azure.IoT Build 0:6ae2f7bca550 4287 {
Azure.IoT Build 0:6ae2f7bca550 4288 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 4289 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(flow_instance->composite_value, 1);
Azure.IoT Build 0:6ae2f7bca550 4290 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4291 {
AzureIoTClient 19:000ab4e6a2c1 4292 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4293 }
Azure.IoT Build 0:6ae2f7bca550 4294 else
Azure.IoT Build 0:6ae2f7bca550 4295 {
Azure.IoT Build 0:6ae2f7bca550 4296 if (amqpvalue_get_uint(item_value, incoming_window_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 4297 {
AzureIoTClient 19:000ab4e6a2c1 4298 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4299 }
Azure.IoT Build 0:6ae2f7bca550 4300 else
Azure.IoT Build 0:6ae2f7bca550 4301 {
Azure.IoT Build 0:6ae2f7bca550 4302 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4303 }
Azure.IoT Build 0:6ae2f7bca550 4304 }
Azure.IoT Build 0:6ae2f7bca550 4305 }
Azure.IoT Build 0:6ae2f7bca550 4306
Azure.IoT Build 0:6ae2f7bca550 4307 return result;
Azure.IoT Build 0:6ae2f7bca550 4308 }
Azure.IoT Build 0:6ae2f7bca550 4309
Azure.IoT Build 0:6ae2f7bca550 4310 int flow_set_incoming_window(FLOW_HANDLE flow, uint32_t incoming_window_value)
Azure.IoT Build 0:6ae2f7bca550 4311 {
Azure.IoT Build 0:6ae2f7bca550 4312 int result;
Azure.IoT Build 0:6ae2f7bca550 4313
Azure.IoT Build 0:6ae2f7bca550 4314 if (flow == NULL)
Azure.IoT Build 0:6ae2f7bca550 4315 {
AzureIoTClient 19:000ab4e6a2c1 4316 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4317 }
Azure.IoT Build 0:6ae2f7bca550 4318 else
Azure.IoT Build 0:6ae2f7bca550 4319 {
Azure.IoT Build 0:6ae2f7bca550 4320 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 4321 AMQP_VALUE incoming_window_amqp_value = amqpvalue_create_uint(incoming_window_value);
Azure.IoT Build 0:6ae2f7bca550 4322 if (incoming_window_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4323 {
AzureIoTClient 19:000ab4e6a2c1 4324 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4325 }
Azure.IoT Build 0:6ae2f7bca550 4326 else
Azure.IoT Build 0:6ae2f7bca550 4327 {
Azure.IoT Build 0:6ae2f7bca550 4328 if (amqpvalue_set_composite_item(flow_instance->composite_value, 1, incoming_window_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 4329 {
AzureIoTClient 19:000ab4e6a2c1 4330 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4331 }
Azure.IoT Build 0:6ae2f7bca550 4332 else
Azure.IoT Build 0:6ae2f7bca550 4333 {
Azure.IoT Build 0:6ae2f7bca550 4334 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4335 }
Azure.IoT Build 0:6ae2f7bca550 4336
Azure.IoT Build 0:6ae2f7bca550 4337 amqpvalue_destroy(incoming_window_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 4338 }
Azure.IoT Build 0:6ae2f7bca550 4339 }
Azure.IoT Build 0:6ae2f7bca550 4340
Azure.IoT Build 0:6ae2f7bca550 4341 return result;
Azure.IoT Build 0:6ae2f7bca550 4342 }
Azure.IoT Build 0:6ae2f7bca550 4343
Azure.IoT Build 0:6ae2f7bca550 4344 int flow_get_next_outgoing_id(FLOW_HANDLE flow, transfer_number* next_outgoing_id_value)
Azure.IoT Build 0:6ae2f7bca550 4345 {
Azure.IoT Build 0:6ae2f7bca550 4346 int result;
Azure.IoT Build 0:6ae2f7bca550 4347
Azure.IoT Build 0:6ae2f7bca550 4348 if (flow == NULL)
Azure.IoT Build 0:6ae2f7bca550 4349 {
AzureIoTClient 19:000ab4e6a2c1 4350 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4351 }
Azure.IoT Build 0:6ae2f7bca550 4352 else
Azure.IoT Build 0:6ae2f7bca550 4353 {
Azure.IoT Build 0:6ae2f7bca550 4354 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 4355 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(flow_instance->composite_value, 2);
Azure.IoT Build 0:6ae2f7bca550 4356 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4357 {
AzureIoTClient 19:000ab4e6a2c1 4358 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4359 }
Azure.IoT Build 0:6ae2f7bca550 4360 else
Azure.IoT Build 0:6ae2f7bca550 4361 {
Azure.IoT Build 0:6ae2f7bca550 4362 if (amqpvalue_get_transfer_number(item_value, next_outgoing_id_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 4363 {
AzureIoTClient 19:000ab4e6a2c1 4364 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4365 }
Azure.IoT Build 0:6ae2f7bca550 4366 else
Azure.IoT Build 0:6ae2f7bca550 4367 {
Azure.IoT Build 0:6ae2f7bca550 4368 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4369 }
Azure.IoT Build 0:6ae2f7bca550 4370 }
Azure.IoT Build 0:6ae2f7bca550 4371 }
Azure.IoT Build 0:6ae2f7bca550 4372
Azure.IoT Build 0:6ae2f7bca550 4373 return result;
Azure.IoT Build 0:6ae2f7bca550 4374 }
Azure.IoT Build 0:6ae2f7bca550 4375
Azure.IoT Build 0:6ae2f7bca550 4376 int flow_set_next_outgoing_id(FLOW_HANDLE flow, transfer_number next_outgoing_id_value)
Azure.IoT Build 0:6ae2f7bca550 4377 {
Azure.IoT Build 0:6ae2f7bca550 4378 int result;
Azure.IoT Build 0:6ae2f7bca550 4379
Azure.IoT Build 0:6ae2f7bca550 4380 if (flow == NULL)
Azure.IoT Build 0:6ae2f7bca550 4381 {
AzureIoTClient 19:000ab4e6a2c1 4382 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4383 }
Azure.IoT Build 0:6ae2f7bca550 4384 else
Azure.IoT Build 0:6ae2f7bca550 4385 {
Azure.IoT Build 0:6ae2f7bca550 4386 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 4387 AMQP_VALUE next_outgoing_id_amqp_value = amqpvalue_create_transfer_number(next_outgoing_id_value);
Azure.IoT Build 0:6ae2f7bca550 4388 if (next_outgoing_id_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4389 {
AzureIoTClient 19:000ab4e6a2c1 4390 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4391 }
Azure.IoT Build 0:6ae2f7bca550 4392 else
Azure.IoT Build 0:6ae2f7bca550 4393 {
Azure.IoT Build 0:6ae2f7bca550 4394 if (amqpvalue_set_composite_item(flow_instance->composite_value, 2, next_outgoing_id_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 4395 {
AzureIoTClient 19:000ab4e6a2c1 4396 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4397 }
Azure.IoT Build 0:6ae2f7bca550 4398 else
Azure.IoT Build 0:6ae2f7bca550 4399 {
Azure.IoT Build 0:6ae2f7bca550 4400 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4401 }
Azure.IoT Build 0:6ae2f7bca550 4402
Azure.IoT Build 0:6ae2f7bca550 4403 amqpvalue_destroy(next_outgoing_id_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 4404 }
Azure.IoT Build 0:6ae2f7bca550 4405 }
Azure.IoT Build 0:6ae2f7bca550 4406
Azure.IoT Build 0:6ae2f7bca550 4407 return result;
Azure.IoT Build 0:6ae2f7bca550 4408 }
Azure.IoT Build 0:6ae2f7bca550 4409
Azure.IoT Build 0:6ae2f7bca550 4410 int flow_get_outgoing_window(FLOW_HANDLE flow, uint32_t* outgoing_window_value)
Azure.IoT Build 0:6ae2f7bca550 4411 {
Azure.IoT Build 0:6ae2f7bca550 4412 int result;
Azure.IoT Build 0:6ae2f7bca550 4413
Azure.IoT Build 0:6ae2f7bca550 4414 if (flow == NULL)
Azure.IoT Build 0:6ae2f7bca550 4415 {
AzureIoTClient 19:000ab4e6a2c1 4416 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4417 }
Azure.IoT Build 0:6ae2f7bca550 4418 else
Azure.IoT Build 0:6ae2f7bca550 4419 {
Azure.IoT Build 0:6ae2f7bca550 4420 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 4421 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(flow_instance->composite_value, 3);
Azure.IoT Build 0:6ae2f7bca550 4422 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4423 {
AzureIoTClient 19:000ab4e6a2c1 4424 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4425 }
Azure.IoT Build 0:6ae2f7bca550 4426 else
Azure.IoT Build 0:6ae2f7bca550 4427 {
Azure.IoT Build 0:6ae2f7bca550 4428 if (amqpvalue_get_uint(item_value, outgoing_window_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 4429 {
AzureIoTClient 19:000ab4e6a2c1 4430 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4431 }
Azure.IoT Build 0:6ae2f7bca550 4432 else
Azure.IoT Build 0:6ae2f7bca550 4433 {
Azure.IoT Build 0:6ae2f7bca550 4434 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4435 }
Azure.IoT Build 0:6ae2f7bca550 4436 }
Azure.IoT Build 0:6ae2f7bca550 4437 }
Azure.IoT Build 0:6ae2f7bca550 4438
Azure.IoT Build 0:6ae2f7bca550 4439 return result;
Azure.IoT Build 0:6ae2f7bca550 4440 }
Azure.IoT Build 0:6ae2f7bca550 4441
Azure.IoT Build 0:6ae2f7bca550 4442 int flow_set_outgoing_window(FLOW_HANDLE flow, uint32_t outgoing_window_value)
Azure.IoT Build 0:6ae2f7bca550 4443 {
Azure.IoT Build 0:6ae2f7bca550 4444 int result;
Azure.IoT Build 0:6ae2f7bca550 4445
Azure.IoT Build 0:6ae2f7bca550 4446 if (flow == NULL)
Azure.IoT Build 0:6ae2f7bca550 4447 {
AzureIoTClient 19:000ab4e6a2c1 4448 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4449 }
Azure.IoT Build 0:6ae2f7bca550 4450 else
Azure.IoT Build 0:6ae2f7bca550 4451 {
Azure.IoT Build 0:6ae2f7bca550 4452 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 4453 AMQP_VALUE outgoing_window_amqp_value = amqpvalue_create_uint(outgoing_window_value);
Azure.IoT Build 0:6ae2f7bca550 4454 if (outgoing_window_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4455 {
AzureIoTClient 19:000ab4e6a2c1 4456 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4457 }
Azure.IoT Build 0:6ae2f7bca550 4458 else
Azure.IoT Build 0:6ae2f7bca550 4459 {
Azure.IoT Build 0:6ae2f7bca550 4460 if (amqpvalue_set_composite_item(flow_instance->composite_value, 3, outgoing_window_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 4461 {
AzureIoTClient 19:000ab4e6a2c1 4462 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4463 }
Azure.IoT Build 0:6ae2f7bca550 4464 else
Azure.IoT Build 0:6ae2f7bca550 4465 {
Azure.IoT Build 0:6ae2f7bca550 4466 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4467 }
Azure.IoT Build 0:6ae2f7bca550 4468
Azure.IoT Build 0:6ae2f7bca550 4469 amqpvalue_destroy(outgoing_window_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 4470 }
Azure.IoT Build 0:6ae2f7bca550 4471 }
Azure.IoT Build 0:6ae2f7bca550 4472
Azure.IoT Build 0:6ae2f7bca550 4473 return result;
Azure.IoT Build 0:6ae2f7bca550 4474 }
Azure.IoT Build 0:6ae2f7bca550 4475
Azure.IoT Build 0:6ae2f7bca550 4476 int flow_get_handle(FLOW_HANDLE flow, handle* handle_value)
Azure.IoT Build 0:6ae2f7bca550 4477 {
Azure.IoT Build 0:6ae2f7bca550 4478 int result;
Azure.IoT Build 0:6ae2f7bca550 4479
Azure.IoT Build 0:6ae2f7bca550 4480 if (flow == NULL)
Azure.IoT Build 0:6ae2f7bca550 4481 {
AzureIoTClient 19:000ab4e6a2c1 4482 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4483 }
Azure.IoT Build 0:6ae2f7bca550 4484 else
Azure.IoT Build 0:6ae2f7bca550 4485 {
Azure.IoT Build 0:6ae2f7bca550 4486 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 4487 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(flow_instance->composite_value, 4);
Azure.IoT Build 0:6ae2f7bca550 4488 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4489 {
AzureIoTClient 19:000ab4e6a2c1 4490 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4491 }
Azure.IoT Build 0:6ae2f7bca550 4492 else
Azure.IoT Build 0:6ae2f7bca550 4493 {
Azure.IoT Build 0:6ae2f7bca550 4494 if (amqpvalue_get_handle(item_value, handle_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 4495 {
AzureIoTClient 19:000ab4e6a2c1 4496 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4497 }
Azure.IoT Build 0:6ae2f7bca550 4498 else
Azure.IoT Build 0:6ae2f7bca550 4499 {
Azure.IoT Build 0:6ae2f7bca550 4500 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4501 }
Azure.IoT Build 0:6ae2f7bca550 4502 }
Azure.IoT Build 0:6ae2f7bca550 4503 }
Azure.IoT Build 0:6ae2f7bca550 4504
Azure.IoT Build 0:6ae2f7bca550 4505 return result;
Azure.IoT Build 0:6ae2f7bca550 4506 }
Azure.IoT Build 0:6ae2f7bca550 4507
Azure.IoT Build 0:6ae2f7bca550 4508 int flow_set_handle(FLOW_HANDLE flow, handle handle_value)
Azure.IoT Build 0:6ae2f7bca550 4509 {
Azure.IoT Build 0:6ae2f7bca550 4510 int result;
Azure.IoT Build 0:6ae2f7bca550 4511
Azure.IoT Build 0:6ae2f7bca550 4512 if (flow == NULL)
Azure.IoT Build 0:6ae2f7bca550 4513 {
AzureIoTClient 19:000ab4e6a2c1 4514 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4515 }
Azure.IoT Build 0:6ae2f7bca550 4516 else
Azure.IoT Build 0:6ae2f7bca550 4517 {
Azure.IoT Build 0:6ae2f7bca550 4518 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 4519 AMQP_VALUE handle_amqp_value = amqpvalue_create_handle(handle_value);
Azure.IoT Build 0:6ae2f7bca550 4520 if (handle_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4521 {
AzureIoTClient 19:000ab4e6a2c1 4522 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4523 }
Azure.IoT Build 0:6ae2f7bca550 4524 else
Azure.IoT Build 0:6ae2f7bca550 4525 {
Azure.IoT Build 0:6ae2f7bca550 4526 if (amqpvalue_set_composite_item(flow_instance->composite_value, 4, handle_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 4527 {
AzureIoTClient 19:000ab4e6a2c1 4528 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4529 }
Azure.IoT Build 0:6ae2f7bca550 4530 else
Azure.IoT Build 0:6ae2f7bca550 4531 {
Azure.IoT Build 0:6ae2f7bca550 4532 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4533 }
Azure.IoT Build 0:6ae2f7bca550 4534
Azure.IoT Build 0:6ae2f7bca550 4535 amqpvalue_destroy(handle_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 4536 }
Azure.IoT Build 0:6ae2f7bca550 4537 }
Azure.IoT Build 0:6ae2f7bca550 4538
Azure.IoT Build 0:6ae2f7bca550 4539 return result;
Azure.IoT Build 0:6ae2f7bca550 4540 }
Azure.IoT Build 0:6ae2f7bca550 4541
Azure.IoT Build 0:6ae2f7bca550 4542 int flow_get_delivery_count(FLOW_HANDLE flow, sequence_no* delivery_count_value)
Azure.IoT Build 0:6ae2f7bca550 4543 {
Azure.IoT Build 0:6ae2f7bca550 4544 int result;
Azure.IoT Build 0:6ae2f7bca550 4545
Azure.IoT Build 0:6ae2f7bca550 4546 if (flow == NULL)
Azure.IoT Build 0:6ae2f7bca550 4547 {
AzureIoTClient 19:000ab4e6a2c1 4548 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4549 }
Azure.IoT Build 0:6ae2f7bca550 4550 else
Azure.IoT Build 0:6ae2f7bca550 4551 {
Azure.IoT Build 0:6ae2f7bca550 4552 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 4553 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(flow_instance->composite_value, 5);
Azure.IoT Build 0:6ae2f7bca550 4554 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4555 {
AzureIoTClient 19:000ab4e6a2c1 4556 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4557 }
Azure.IoT Build 0:6ae2f7bca550 4558 else
Azure.IoT Build 0:6ae2f7bca550 4559 {
Azure.IoT Build 0:6ae2f7bca550 4560 if (amqpvalue_get_sequence_no(item_value, delivery_count_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 4561 {
AzureIoTClient 19:000ab4e6a2c1 4562 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4563 }
Azure.IoT Build 0:6ae2f7bca550 4564 else
Azure.IoT Build 0:6ae2f7bca550 4565 {
Azure.IoT Build 0:6ae2f7bca550 4566 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4567 }
Azure.IoT Build 0:6ae2f7bca550 4568 }
Azure.IoT Build 0:6ae2f7bca550 4569 }
Azure.IoT Build 0:6ae2f7bca550 4570
Azure.IoT Build 0:6ae2f7bca550 4571 return result;
Azure.IoT Build 0:6ae2f7bca550 4572 }
Azure.IoT Build 0:6ae2f7bca550 4573
Azure.IoT Build 0:6ae2f7bca550 4574 int flow_set_delivery_count(FLOW_HANDLE flow, sequence_no delivery_count_value)
Azure.IoT Build 0:6ae2f7bca550 4575 {
Azure.IoT Build 0:6ae2f7bca550 4576 int result;
Azure.IoT Build 0:6ae2f7bca550 4577
Azure.IoT Build 0:6ae2f7bca550 4578 if (flow == NULL)
Azure.IoT Build 0:6ae2f7bca550 4579 {
AzureIoTClient 19:000ab4e6a2c1 4580 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4581 }
Azure.IoT Build 0:6ae2f7bca550 4582 else
Azure.IoT Build 0:6ae2f7bca550 4583 {
Azure.IoT Build 0:6ae2f7bca550 4584 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 4585 AMQP_VALUE delivery_count_amqp_value = amqpvalue_create_sequence_no(delivery_count_value);
Azure.IoT Build 0:6ae2f7bca550 4586 if (delivery_count_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4587 {
AzureIoTClient 19:000ab4e6a2c1 4588 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4589 }
Azure.IoT Build 0:6ae2f7bca550 4590 else
Azure.IoT Build 0:6ae2f7bca550 4591 {
Azure.IoT Build 0:6ae2f7bca550 4592 if (amqpvalue_set_composite_item(flow_instance->composite_value, 5, delivery_count_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 4593 {
AzureIoTClient 19:000ab4e6a2c1 4594 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4595 }
Azure.IoT Build 0:6ae2f7bca550 4596 else
Azure.IoT Build 0:6ae2f7bca550 4597 {
Azure.IoT Build 0:6ae2f7bca550 4598 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4599 }
Azure.IoT Build 0:6ae2f7bca550 4600
Azure.IoT Build 0:6ae2f7bca550 4601 amqpvalue_destroy(delivery_count_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 4602 }
Azure.IoT Build 0:6ae2f7bca550 4603 }
Azure.IoT Build 0:6ae2f7bca550 4604
Azure.IoT Build 0:6ae2f7bca550 4605 return result;
Azure.IoT Build 0:6ae2f7bca550 4606 }
Azure.IoT Build 0:6ae2f7bca550 4607
Azure.IoT Build 0:6ae2f7bca550 4608 int flow_get_link_credit(FLOW_HANDLE flow, uint32_t* link_credit_value)
Azure.IoT Build 0:6ae2f7bca550 4609 {
Azure.IoT Build 0:6ae2f7bca550 4610 int result;
Azure.IoT Build 0:6ae2f7bca550 4611
Azure.IoT Build 0:6ae2f7bca550 4612 if (flow == NULL)
Azure.IoT Build 0:6ae2f7bca550 4613 {
AzureIoTClient 19:000ab4e6a2c1 4614 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4615 }
Azure.IoT Build 0:6ae2f7bca550 4616 else
Azure.IoT Build 0:6ae2f7bca550 4617 {
Azure.IoT Build 0:6ae2f7bca550 4618 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 4619 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(flow_instance->composite_value, 6);
Azure.IoT Build 0:6ae2f7bca550 4620 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4621 {
AzureIoTClient 19:000ab4e6a2c1 4622 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4623 }
Azure.IoT Build 0:6ae2f7bca550 4624 else
Azure.IoT Build 0:6ae2f7bca550 4625 {
Azure.IoT Build 0:6ae2f7bca550 4626 if (amqpvalue_get_uint(item_value, link_credit_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 4627 {
AzureIoTClient 19:000ab4e6a2c1 4628 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4629 }
Azure.IoT Build 0:6ae2f7bca550 4630 else
Azure.IoT Build 0:6ae2f7bca550 4631 {
Azure.IoT Build 0:6ae2f7bca550 4632 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4633 }
Azure.IoT Build 0:6ae2f7bca550 4634 }
Azure.IoT Build 0:6ae2f7bca550 4635 }
Azure.IoT Build 0:6ae2f7bca550 4636
Azure.IoT Build 0:6ae2f7bca550 4637 return result;
Azure.IoT Build 0:6ae2f7bca550 4638 }
Azure.IoT Build 0:6ae2f7bca550 4639
Azure.IoT Build 0:6ae2f7bca550 4640 int flow_set_link_credit(FLOW_HANDLE flow, uint32_t link_credit_value)
Azure.IoT Build 0:6ae2f7bca550 4641 {
Azure.IoT Build 0:6ae2f7bca550 4642 int result;
Azure.IoT Build 0:6ae2f7bca550 4643
Azure.IoT Build 0:6ae2f7bca550 4644 if (flow == NULL)
Azure.IoT Build 0:6ae2f7bca550 4645 {
AzureIoTClient 19:000ab4e6a2c1 4646 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4647 }
Azure.IoT Build 0:6ae2f7bca550 4648 else
Azure.IoT Build 0:6ae2f7bca550 4649 {
Azure.IoT Build 0:6ae2f7bca550 4650 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 4651 AMQP_VALUE link_credit_amqp_value = amqpvalue_create_uint(link_credit_value);
Azure.IoT Build 0:6ae2f7bca550 4652 if (link_credit_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4653 {
AzureIoTClient 19:000ab4e6a2c1 4654 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4655 }
Azure.IoT Build 0:6ae2f7bca550 4656 else
Azure.IoT Build 0:6ae2f7bca550 4657 {
Azure.IoT Build 0:6ae2f7bca550 4658 if (amqpvalue_set_composite_item(flow_instance->composite_value, 6, link_credit_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 4659 {
AzureIoTClient 19:000ab4e6a2c1 4660 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4661 }
Azure.IoT Build 0:6ae2f7bca550 4662 else
Azure.IoT Build 0:6ae2f7bca550 4663 {
Azure.IoT Build 0:6ae2f7bca550 4664 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4665 }
Azure.IoT Build 0:6ae2f7bca550 4666
Azure.IoT Build 0:6ae2f7bca550 4667 amqpvalue_destroy(link_credit_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 4668 }
Azure.IoT Build 0:6ae2f7bca550 4669 }
Azure.IoT Build 0:6ae2f7bca550 4670
Azure.IoT Build 0:6ae2f7bca550 4671 return result;
Azure.IoT Build 0:6ae2f7bca550 4672 }
Azure.IoT Build 0:6ae2f7bca550 4673
Azure.IoT Build 0:6ae2f7bca550 4674 int flow_get_available(FLOW_HANDLE flow, uint32_t* available_value)
Azure.IoT Build 0:6ae2f7bca550 4675 {
Azure.IoT Build 0:6ae2f7bca550 4676 int result;
Azure.IoT Build 0:6ae2f7bca550 4677
Azure.IoT Build 0:6ae2f7bca550 4678 if (flow == NULL)
Azure.IoT Build 0:6ae2f7bca550 4679 {
AzureIoTClient 19:000ab4e6a2c1 4680 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4681 }
Azure.IoT Build 0:6ae2f7bca550 4682 else
Azure.IoT Build 0:6ae2f7bca550 4683 {
Azure.IoT Build 0:6ae2f7bca550 4684 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 4685 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(flow_instance->composite_value, 7);
Azure.IoT Build 0:6ae2f7bca550 4686 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4687 {
AzureIoTClient 19:000ab4e6a2c1 4688 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4689 }
Azure.IoT Build 0:6ae2f7bca550 4690 else
Azure.IoT Build 0:6ae2f7bca550 4691 {
Azure.IoT Build 0:6ae2f7bca550 4692 if (amqpvalue_get_uint(item_value, available_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 4693 {
AzureIoTClient 19:000ab4e6a2c1 4694 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4695 }
Azure.IoT Build 0:6ae2f7bca550 4696 else
Azure.IoT Build 0:6ae2f7bca550 4697 {
Azure.IoT Build 0:6ae2f7bca550 4698 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4699 }
Azure.IoT Build 0:6ae2f7bca550 4700 }
Azure.IoT Build 0:6ae2f7bca550 4701 }
Azure.IoT Build 0:6ae2f7bca550 4702
Azure.IoT Build 0:6ae2f7bca550 4703 return result;
Azure.IoT Build 0:6ae2f7bca550 4704 }
Azure.IoT Build 0:6ae2f7bca550 4705
Azure.IoT Build 0:6ae2f7bca550 4706 int flow_set_available(FLOW_HANDLE flow, uint32_t available_value)
Azure.IoT Build 0:6ae2f7bca550 4707 {
Azure.IoT Build 0:6ae2f7bca550 4708 int result;
Azure.IoT Build 0:6ae2f7bca550 4709
Azure.IoT Build 0:6ae2f7bca550 4710 if (flow == NULL)
Azure.IoT Build 0:6ae2f7bca550 4711 {
AzureIoTClient 19:000ab4e6a2c1 4712 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4713 }
Azure.IoT Build 0:6ae2f7bca550 4714 else
Azure.IoT Build 0:6ae2f7bca550 4715 {
Azure.IoT Build 0:6ae2f7bca550 4716 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 4717 AMQP_VALUE available_amqp_value = amqpvalue_create_uint(available_value);
Azure.IoT Build 0:6ae2f7bca550 4718 if (available_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4719 {
AzureIoTClient 19:000ab4e6a2c1 4720 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4721 }
Azure.IoT Build 0:6ae2f7bca550 4722 else
Azure.IoT Build 0:6ae2f7bca550 4723 {
Azure.IoT Build 0:6ae2f7bca550 4724 if (amqpvalue_set_composite_item(flow_instance->composite_value, 7, available_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 4725 {
AzureIoTClient 19:000ab4e6a2c1 4726 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4727 }
Azure.IoT Build 0:6ae2f7bca550 4728 else
Azure.IoT Build 0:6ae2f7bca550 4729 {
Azure.IoT Build 0:6ae2f7bca550 4730 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4731 }
Azure.IoT Build 0:6ae2f7bca550 4732
Azure.IoT Build 0:6ae2f7bca550 4733 amqpvalue_destroy(available_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 4734 }
Azure.IoT Build 0:6ae2f7bca550 4735 }
Azure.IoT Build 0:6ae2f7bca550 4736
Azure.IoT Build 0:6ae2f7bca550 4737 return result;
Azure.IoT Build 0:6ae2f7bca550 4738 }
Azure.IoT Build 0:6ae2f7bca550 4739
Azure.IoT Build 0:6ae2f7bca550 4740 int flow_get_drain(FLOW_HANDLE flow, bool* drain_value)
Azure.IoT Build 0:6ae2f7bca550 4741 {
Azure.IoT Build 0:6ae2f7bca550 4742 int result;
Azure.IoT Build 0:6ae2f7bca550 4743
Azure.IoT Build 0:6ae2f7bca550 4744 if (flow == NULL)
Azure.IoT Build 0:6ae2f7bca550 4745 {
AzureIoTClient 19:000ab4e6a2c1 4746 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4747 }
Azure.IoT Build 0:6ae2f7bca550 4748 else
Azure.IoT Build 0:6ae2f7bca550 4749 {
Azure.IoT Build 0:6ae2f7bca550 4750 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 4751 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(flow_instance->composite_value, 8);
Azure.IoT Build 0:6ae2f7bca550 4752 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4753 {
AzureIoTClient 16:22a72cf8e416 4754 *drain_value = false;
AzureIoTClient 16:22a72cf8e416 4755 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4756 }
Azure.IoT Build 0:6ae2f7bca550 4757 else
Azure.IoT Build 0:6ae2f7bca550 4758 {
Azure.IoT Build 0:6ae2f7bca550 4759 if (amqpvalue_get_boolean(item_value, drain_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 4760 {
AzureIoTClient 16:22a72cf8e416 4761 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 4762 {
AzureIoTClient 19:000ab4e6a2c1 4763 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 4764 }
AzureIoTClient 16:22a72cf8e416 4765 else
AzureIoTClient 16:22a72cf8e416 4766 {
AzureIoTClient 16:22a72cf8e416 4767 *drain_value = false;
AzureIoTClient 16:22a72cf8e416 4768 result = 0;
AzureIoTClient 16:22a72cf8e416 4769 }
Azure.IoT Build 0:6ae2f7bca550 4770 }
Azure.IoT Build 0:6ae2f7bca550 4771 else
Azure.IoT Build 0:6ae2f7bca550 4772 {
Azure.IoT Build 0:6ae2f7bca550 4773 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4774 }
Azure.IoT Build 0:6ae2f7bca550 4775 }
Azure.IoT Build 0:6ae2f7bca550 4776 }
Azure.IoT Build 0:6ae2f7bca550 4777
Azure.IoT Build 0:6ae2f7bca550 4778 return result;
Azure.IoT Build 0:6ae2f7bca550 4779 }
Azure.IoT Build 0:6ae2f7bca550 4780
Azure.IoT Build 0:6ae2f7bca550 4781 int flow_set_drain(FLOW_HANDLE flow, bool drain_value)
Azure.IoT Build 0:6ae2f7bca550 4782 {
Azure.IoT Build 0:6ae2f7bca550 4783 int result;
Azure.IoT Build 0:6ae2f7bca550 4784
Azure.IoT Build 0:6ae2f7bca550 4785 if (flow == NULL)
Azure.IoT Build 0:6ae2f7bca550 4786 {
AzureIoTClient 19:000ab4e6a2c1 4787 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4788 }
Azure.IoT Build 0:6ae2f7bca550 4789 else
Azure.IoT Build 0:6ae2f7bca550 4790 {
Azure.IoT Build 0:6ae2f7bca550 4791 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 4792 AMQP_VALUE drain_amqp_value = amqpvalue_create_boolean(drain_value);
Azure.IoT Build 0:6ae2f7bca550 4793 if (drain_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4794 {
AzureIoTClient 19:000ab4e6a2c1 4795 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4796 }
Azure.IoT Build 0:6ae2f7bca550 4797 else
Azure.IoT Build 0:6ae2f7bca550 4798 {
Azure.IoT Build 0:6ae2f7bca550 4799 if (amqpvalue_set_composite_item(flow_instance->composite_value, 8, drain_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 4800 {
AzureIoTClient 19:000ab4e6a2c1 4801 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4802 }
Azure.IoT Build 0:6ae2f7bca550 4803 else
Azure.IoT Build 0:6ae2f7bca550 4804 {
Azure.IoT Build 0:6ae2f7bca550 4805 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4806 }
Azure.IoT Build 0:6ae2f7bca550 4807
Azure.IoT Build 0:6ae2f7bca550 4808 amqpvalue_destroy(drain_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 4809 }
Azure.IoT Build 0:6ae2f7bca550 4810 }
Azure.IoT Build 0:6ae2f7bca550 4811
Azure.IoT Build 0:6ae2f7bca550 4812 return result;
Azure.IoT Build 0:6ae2f7bca550 4813 }
Azure.IoT Build 0:6ae2f7bca550 4814
Azure.IoT Build 0:6ae2f7bca550 4815 int flow_get_echo(FLOW_HANDLE flow, bool* echo_value)
Azure.IoT Build 0:6ae2f7bca550 4816 {
Azure.IoT Build 0:6ae2f7bca550 4817 int result;
Azure.IoT Build 0:6ae2f7bca550 4818
Azure.IoT Build 0:6ae2f7bca550 4819 if (flow == NULL)
Azure.IoT Build 0:6ae2f7bca550 4820 {
AzureIoTClient 19:000ab4e6a2c1 4821 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4822 }
Azure.IoT Build 0:6ae2f7bca550 4823 else
Azure.IoT Build 0:6ae2f7bca550 4824 {
Azure.IoT Build 0:6ae2f7bca550 4825 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 4826 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(flow_instance->composite_value, 9);
Azure.IoT Build 0:6ae2f7bca550 4827 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4828 {
AzureIoTClient 16:22a72cf8e416 4829 *echo_value = false;
AzureIoTClient 16:22a72cf8e416 4830 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4831 }
Azure.IoT Build 0:6ae2f7bca550 4832 else
Azure.IoT Build 0:6ae2f7bca550 4833 {
Azure.IoT Build 0:6ae2f7bca550 4834 if (amqpvalue_get_boolean(item_value, echo_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 4835 {
AzureIoTClient 16:22a72cf8e416 4836 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 4837 {
AzureIoTClient 19:000ab4e6a2c1 4838 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 4839 }
AzureIoTClient 16:22a72cf8e416 4840 else
AzureIoTClient 16:22a72cf8e416 4841 {
AzureIoTClient 16:22a72cf8e416 4842 *echo_value = false;
AzureIoTClient 16:22a72cf8e416 4843 result = 0;
AzureIoTClient 16:22a72cf8e416 4844 }
Azure.IoT Build 0:6ae2f7bca550 4845 }
Azure.IoT Build 0:6ae2f7bca550 4846 else
Azure.IoT Build 0:6ae2f7bca550 4847 {
Azure.IoT Build 0:6ae2f7bca550 4848 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4849 }
Azure.IoT Build 0:6ae2f7bca550 4850 }
Azure.IoT Build 0:6ae2f7bca550 4851 }
Azure.IoT Build 0:6ae2f7bca550 4852
Azure.IoT Build 0:6ae2f7bca550 4853 return result;
Azure.IoT Build 0:6ae2f7bca550 4854 }
Azure.IoT Build 0:6ae2f7bca550 4855
Azure.IoT Build 0:6ae2f7bca550 4856 int flow_set_echo(FLOW_HANDLE flow, bool echo_value)
Azure.IoT Build 0:6ae2f7bca550 4857 {
Azure.IoT Build 0:6ae2f7bca550 4858 int result;
Azure.IoT Build 0:6ae2f7bca550 4859
Azure.IoT Build 0:6ae2f7bca550 4860 if (flow == NULL)
Azure.IoT Build 0:6ae2f7bca550 4861 {
AzureIoTClient 19:000ab4e6a2c1 4862 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4863 }
Azure.IoT Build 0:6ae2f7bca550 4864 else
Azure.IoT Build 0:6ae2f7bca550 4865 {
Azure.IoT Build 0:6ae2f7bca550 4866 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 4867 AMQP_VALUE echo_amqp_value = amqpvalue_create_boolean(echo_value);
Azure.IoT Build 0:6ae2f7bca550 4868 if (echo_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4869 {
AzureIoTClient 19:000ab4e6a2c1 4870 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4871 }
Azure.IoT Build 0:6ae2f7bca550 4872 else
Azure.IoT Build 0:6ae2f7bca550 4873 {
Azure.IoT Build 0:6ae2f7bca550 4874 if (amqpvalue_set_composite_item(flow_instance->composite_value, 9, echo_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 4875 {
AzureIoTClient 19:000ab4e6a2c1 4876 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4877 }
Azure.IoT Build 0:6ae2f7bca550 4878 else
Azure.IoT Build 0:6ae2f7bca550 4879 {
Azure.IoT Build 0:6ae2f7bca550 4880 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4881 }
Azure.IoT Build 0:6ae2f7bca550 4882
Azure.IoT Build 0:6ae2f7bca550 4883 amqpvalue_destroy(echo_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 4884 }
Azure.IoT Build 0:6ae2f7bca550 4885 }
Azure.IoT Build 0:6ae2f7bca550 4886
Azure.IoT Build 0:6ae2f7bca550 4887 return result;
Azure.IoT Build 0:6ae2f7bca550 4888 }
Azure.IoT Build 0:6ae2f7bca550 4889
Azure.IoT Build 0:6ae2f7bca550 4890 int flow_get_properties(FLOW_HANDLE flow, fields* properties_value)
Azure.IoT Build 0:6ae2f7bca550 4891 {
Azure.IoT Build 0:6ae2f7bca550 4892 int result;
Azure.IoT Build 0:6ae2f7bca550 4893
Azure.IoT Build 0:6ae2f7bca550 4894 if (flow == NULL)
Azure.IoT Build 0:6ae2f7bca550 4895 {
AzureIoTClient 19:000ab4e6a2c1 4896 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4897 }
Azure.IoT Build 0:6ae2f7bca550 4898 else
Azure.IoT Build 0:6ae2f7bca550 4899 {
Azure.IoT Build 0:6ae2f7bca550 4900 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 4901 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(flow_instance->composite_value, 10);
Azure.IoT Build 0:6ae2f7bca550 4902 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4903 {
AzureIoTClient 19:000ab4e6a2c1 4904 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4905 }
Azure.IoT Build 0:6ae2f7bca550 4906 else
Azure.IoT Build 0:6ae2f7bca550 4907 {
Azure.IoT Build 0:6ae2f7bca550 4908 if (amqpvalue_get_fields(item_value, properties_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 4909 {
AzureIoTClient 19:000ab4e6a2c1 4910 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4911 }
Azure.IoT Build 0:6ae2f7bca550 4912 else
Azure.IoT Build 0:6ae2f7bca550 4913 {
Azure.IoT Build 0:6ae2f7bca550 4914 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4915 }
Azure.IoT Build 0:6ae2f7bca550 4916 }
Azure.IoT Build 0:6ae2f7bca550 4917 }
Azure.IoT Build 0:6ae2f7bca550 4918
Azure.IoT Build 0:6ae2f7bca550 4919 return result;
Azure.IoT Build 0:6ae2f7bca550 4920 }
Azure.IoT Build 0:6ae2f7bca550 4921
Azure.IoT Build 0:6ae2f7bca550 4922 int flow_set_properties(FLOW_HANDLE flow, fields properties_value)
Azure.IoT Build 0:6ae2f7bca550 4923 {
Azure.IoT Build 0:6ae2f7bca550 4924 int result;
Azure.IoT Build 0:6ae2f7bca550 4925
Azure.IoT Build 0:6ae2f7bca550 4926 if (flow == NULL)
Azure.IoT Build 0:6ae2f7bca550 4927 {
AzureIoTClient 19:000ab4e6a2c1 4928 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4929 }
Azure.IoT Build 0:6ae2f7bca550 4930 else
Azure.IoT Build 0:6ae2f7bca550 4931 {
Azure.IoT Build 0:6ae2f7bca550 4932 FLOW_INSTANCE* flow_instance = (FLOW_INSTANCE*)flow;
Azure.IoT Build 0:6ae2f7bca550 4933 AMQP_VALUE properties_amqp_value = amqpvalue_create_fields(properties_value);
Azure.IoT Build 0:6ae2f7bca550 4934 if (properties_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4935 {
AzureIoTClient 19:000ab4e6a2c1 4936 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4937 }
Azure.IoT Build 0:6ae2f7bca550 4938 else
Azure.IoT Build 0:6ae2f7bca550 4939 {
Azure.IoT Build 0:6ae2f7bca550 4940 if (amqpvalue_set_composite_item(flow_instance->composite_value, 10, properties_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 4941 {
AzureIoTClient 19:000ab4e6a2c1 4942 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4943 }
Azure.IoT Build 0:6ae2f7bca550 4944 else
Azure.IoT Build 0:6ae2f7bca550 4945 {
Azure.IoT Build 0:6ae2f7bca550 4946 result = 0;
Azure.IoT Build 0:6ae2f7bca550 4947 }
Azure.IoT Build 0:6ae2f7bca550 4948
Azure.IoT Build 0:6ae2f7bca550 4949 amqpvalue_destroy(properties_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 4950 }
Azure.IoT Build 0:6ae2f7bca550 4951 }
Azure.IoT Build 0:6ae2f7bca550 4952
Azure.IoT Build 0:6ae2f7bca550 4953 return result;
Azure.IoT Build 0:6ae2f7bca550 4954 }
Azure.IoT Build 0:6ae2f7bca550 4955
Azure.IoT Build 0:6ae2f7bca550 4956
Azure.IoT Build 0:6ae2f7bca550 4957 /* transfer */
Azure.IoT Build 0:6ae2f7bca550 4958
Azure.IoT Build 0:6ae2f7bca550 4959 typedef struct TRANSFER_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 4960 {
Azure.IoT Build 0:6ae2f7bca550 4961 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 4962 } TRANSFER_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 4963
Azure.IoT Build 0:6ae2f7bca550 4964 static TRANSFER_HANDLE transfer_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 4965 {
Azure.IoT Build 0:6ae2f7bca550 4966 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)amqpalloc_malloc(sizeof(TRANSFER_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 4967 if (transfer_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 4968 {
Azure.IoT Build 0:6ae2f7bca550 4969 transfer_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 4970 }
Azure.IoT Build 0:6ae2f7bca550 4971
Azure.IoT Build 0:6ae2f7bca550 4972 return transfer_instance;
Azure.IoT Build 0:6ae2f7bca550 4973 }
Azure.IoT Build 0:6ae2f7bca550 4974
Azure.IoT Build 0:6ae2f7bca550 4975 TRANSFER_HANDLE transfer_create(handle handle_value)
Azure.IoT Build 0:6ae2f7bca550 4976 {
Azure.IoT Build 0:6ae2f7bca550 4977 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)amqpalloc_malloc(sizeof(TRANSFER_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 4978 if (transfer_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 4979 {
Azure.IoT Build 0:6ae2f7bca550 4980 transfer_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(20);
Azure.IoT Build 0:6ae2f7bca550 4981 if (transfer_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 4982 {
Azure.IoT Build 0:6ae2f7bca550 4983 amqpalloc_free(transfer_instance);
Azure.IoT Build 0:6ae2f7bca550 4984 transfer_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 4985 }
Azure.IoT Build 0:6ae2f7bca550 4986 else
Azure.IoT Build 0:6ae2f7bca550 4987 {
Azure.IoT Build 0:6ae2f7bca550 4988 AMQP_VALUE handle_amqp_value;
Azure.IoT Build 0:6ae2f7bca550 4989 int result = 0;
Azure.IoT Build 0:6ae2f7bca550 4990
Azure.IoT Build 0:6ae2f7bca550 4991 handle_amqp_value = amqpvalue_create_handle(handle_value);
Azure.IoT Build 0:6ae2f7bca550 4992 if ((result == 0) && (amqpvalue_set_composite_item(transfer_instance->composite_value, 0, handle_amqp_value) != 0))
Azure.IoT Build 0:6ae2f7bca550 4993 {
AzureIoTClient 19:000ab4e6a2c1 4994 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 4995 }
Azure.IoT Build 0:6ae2f7bca550 4996
Azure.IoT Build 0:6ae2f7bca550 4997 amqpvalue_destroy(handle_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 4998 }
Azure.IoT Build 0:6ae2f7bca550 4999 }
Azure.IoT Build 0:6ae2f7bca550 5000
Azure.IoT Build 0:6ae2f7bca550 5001 return transfer_instance;
Azure.IoT Build 0:6ae2f7bca550 5002 }
Azure.IoT Build 0:6ae2f7bca550 5003
Azure.IoT Build 0:6ae2f7bca550 5004 TRANSFER_HANDLE transfer_clone(TRANSFER_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 5005 {
Azure.IoT Build 0:6ae2f7bca550 5006 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)amqpalloc_malloc(sizeof(TRANSFER_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 5007 if (transfer_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 5008 {
Azure.IoT Build 0:6ae2f7bca550 5009 transfer_instance->composite_value = amqpvalue_clone(((TRANSFER_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 5010 if (transfer_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5011 {
Azure.IoT Build 0:6ae2f7bca550 5012 amqpalloc_free(transfer_instance);
Azure.IoT Build 0:6ae2f7bca550 5013 transfer_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 5014 }
Azure.IoT Build 0:6ae2f7bca550 5015 }
Azure.IoT Build 0:6ae2f7bca550 5016
Azure.IoT Build 0:6ae2f7bca550 5017 return transfer_instance;
Azure.IoT Build 0:6ae2f7bca550 5018 }
Azure.IoT Build 0:6ae2f7bca550 5019
Azure.IoT Build 0:6ae2f7bca550 5020 void transfer_destroy(TRANSFER_HANDLE transfer)
Azure.IoT Build 0:6ae2f7bca550 5021 {
Azure.IoT Build 0:6ae2f7bca550 5022 if (transfer != NULL)
Azure.IoT Build 0:6ae2f7bca550 5023 {
Azure.IoT Build 0:6ae2f7bca550 5024 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 5025 amqpvalue_destroy(transfer_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 5026 amqpalloc_free(transfer_instance);
Azure.IoT Build 0:6ae2f7bca550 5027 }
Azure.IoT Build 0:6ae2f7bca550 5028 }
Azure.IoT Build 0:6ae2f7bca550 5029
Azure.IoT Build 0:6ae2f7bca550 5030 AMQP_VALUE amqpvalue_create_transfer(TRANSFER_HANDLE transfer)
Azure.IoT Build 0:6ae2f7bca550 5031 {
Azure.IoT Build 0:6ae2f7bca550 5032 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 5033
Azure.IoT Build 0:6ae2f7bca550 5034 if (transfer == NULL)
Azure.IoT Build 0:6ae2f7bca550 5035 {
Azure.IoT Build 0:6ae2f7bca550 5036 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 5037 }
Azure.IoT Build 0:6ae2f7bca550 5038 else
Azure.IoT Build 0:6ae2f7bca550 5039 {
Azure.IoT Build 0:6ae2f7bca550 5040 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 5041 result = amqpvalue_clone(transfer_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 5042 }
Azure.IoT Build 0:6ae2f7bca550 5043
Azure.IoT Build 0:6ae2f7bca550 5044 return result;
Azure.IoT Build 0:6ae2f7bca550 5045 }
Azure.IoT Build 0:6ae2f7bca550 5046
Azure.IoT Build 0:6ae2f7bca550 5047 bool is_transfer_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 5048 {
Azure.IoT Build 0:6ae2f7bca550 5049 bool result;
Azure.IoT Build 0:6ae2f7bca550 5050
Azure.IoT Build 0:6ae2f7bca550 5051 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 5052 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 5053 (descriptor_ulong == 20))
Azure.IoT Build 0:6ae2f7bca550 5054 {
Azure.IoT Build 0:6ae2f7bca550 5055 result = true;
Azure.IoT Build 0:6ae2f7bca550 5056 }
Azure.IoT Build 0:6ae2f7bca550 5057 else
Azure.IoT Build 0:6ae2f7bca550 5058 {
Azure.IoT Build 0:6ae2f7bca550 5059 result = false;
Azure.IoT Build 0:6ae2f7bca550 5060 }
Azure.IoT Build 0:6ae2f7bca550 5061
Azure.IoT Build 0:6ae2f7bca550 5062 return result;
Azure.IoT Build 0:6ae2f7bca550 5063 }
Azure.IoT Build 0:6ae2f7bca550 5064
Azure.IoT Build 0:6ae2f7bca550 5065
Azure.IoT Build 0:6ae2f7bca550 5066 int amqpvalue_get_transfer(AMQP_VALUE value, TRANSFER_HANDLE* transfer_handle)
Azure.IoT Build 0:6ae2f7bca550 5067 {
Azure.IoT Build 0:6ae2f7bca550 5068 int result;
Azure.IoT Build 0:6ae2f7bca550 5069 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer_create_internal();
Azure.IoT Build 0:6ae2f7bca550 5070 *transfer_handle = transfer_instance;
Azure.IoT Build 0:6ae2f7bca550 5071 if (*transfer_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 5072 {
AzureIoTClient 19:000ab4e6a2c1 5073 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5074 }
Azure.IoT Build 0:6ae2f7bca550 5075 else
Azure.IoT Build 0:6ae2f7bca550 5076 {
Azure.IoT Build 0:6ae2f7bca550 5077 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 5078 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5079 {
Azure.IoT Build 0:6ae2f7bca550 5080 transfer_destroy(*transfer_handle);
AzureIoTClient 19:000ab4e6a2c1 5081 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5082 }
Azure.IoT Build 0:6ae2f7bca550 5083 else
Azure.IoT Build 0:6ae2f7bca550 5084 {
Azure.IoT Build 0:6ae2f7bca550 5085 do
Azure.IoT Build 0:6ae2f7bca550 5086 {
Azure.IoT Build 0:6ae2f7bca550 5087 AMQP_VALUE item_value;
Azure.IoT Build 0:6ae2f7bca550 5088 /* handle */
Azure.IoT Build 0:6ae2f7bca550 5089 item_value = amqpvalue_get_list_item(list_value, 0);
Azure.IoT Build 0:6ae2f7bca550 5090 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5091 {
Azure.IoT Build 0:6ae2f7bca550 5092 {
Azure.IoT Build 0:6ae2f7bca550 5093 transfer_destroy(*transfer_handle);
AzureIoTClient 19:000ab4e6a2c1 5094 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5095 break;
Azure.IoT Build 0:6ae2f7bca550 5096 }
Azure.IoT Build 0:6ae2f7bca550 5097 }
Azure.IoT Build 0:6ae2f7bca550 5098 else
Azure.IoT Build 0:6ae2f7bca550 5099 {
Azure.IoT Build 0:6ae2f7bca550 5100 handle handle;
Azure.IoT Build 0:6ae2f7bca550 5101 if (amqpvalue_get_handle(item_value, &handle) != 0)
Azure.IoT Build 0:6ae2f7bca550 5102 {
Azure.IoT Build 0:6ae2f7bca550 5103 transfer_destroy(*transfer_handle);
AzureIoTClient 19:000ab4e6a2c1 5104 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5105 break;
Azure.IoT Build 0:6ae2f7bca550 5106 }
Azure.IoT Build 0:6ae2f7bca550 5107
Azure.IoT Build 0:6ae2f7bca550 5108 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 5109 }
Azure.IoT Build 0:6ae2f7bca550 5110 /* delivery-id */
Azure.IoT Build 0:6ae2f7bca550 5111 item_value = amqpvalue_get_list_item(list_value, 1);
Azure.IoT Build 0:6ae2f7bca550 5112 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5113 {
Azure.IoT Build 0:6ae2f7bca550 5114 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 5115 }
Azure.IoT Build 0:6ae2f7bca550 5116 else
Azure.IoT Build 0:6ae2f7bca550 5117 {
Azure.IoT Build 0:6ae2f7bca550 5118 delivery_number delivery_id;
Azure.IoT Build 0:6ae2f7bca550 5119 if (amqpvalue_get_delivery_number(item_value, &delivery_id) != 0)
Azure.IoT Build 0:6ae2f7bca550 5120 {
Azure.IoT Build 0:6ae2f7bca550 5121 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 5122 {
Azure.IoT Build 0:6ae2f7bca550 5123 transfer_destroy(*transfer_handle);
AzureIoTClient 19:000ab4e6a2c1 5124 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5125 break;
Azure.IoT Build 0:6ae2f7bca550 5126 }
Azure.IoT Build 0:6ae2f7bca550 5127 }
Azure.IoT Build 0:6ae2f7bca550 5128
Azure.IoT Build 0:6ae2f7bca550 5129 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 5130 }
Azure.IoT Build 0:6ae2f7bca550 5131 /* delivery-tag */
Azure.IoT Build 0:6ae2f7bca550 5132 item_value = amqpvalue_get_list_item(list_value, 2);
Azure.IoT Build 0:6ae2f7bca550 5133 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5134 {
Azure.IoT Build 0:6ae2f7bca550 5135 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 5136 }
Azure.IoT Build 0:6ae2f7bca550 5137 else
Azure.IoT Build 0:6ae2f7bca550 5138 {
Azure.IoT Build 0:6ae2f7bca550 5139 delivery_tag delivery_tag;
Azure.IoT Build 0:6ae2f7bca550 5140 if (amqpvalue_get_delivery_tag(item_value, &delivery_tag) != 0)
Azure.IoT Build 0:6ae2f7bca550 5141 {
Azure.IoT Build 0:6ae2f7bca550 5142 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 5143 {
Azure.IoT Build 0:6ae2f7bca550 5144 transfer_destroy(*transfer_handle);
AzureIoTClient 19:000ab4e6a2c1 5145 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5146 break;
Azure.IoT Build 0:6ae2f7bca550 5147 }
Azure.IoT Build 0:6ae2f7bca550 5148 }
Azure.IoT Build 0:6ae2f7bca550 5149
Azure.IoT Build 0:6ae2f7bca550 5150 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 5151 }
Azure.IoT Build 0:6ae2f7bca550 5152 /* message-format */
Azure.IoT Build 0:6ae2f7bca550 5153 item_value = amqpvalue_get_list_item(list_value, 3);
Azure.IoT Build 0:6ae2f7bca550 5154 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5155 {
Azure.IoT Build 0:6ae2f7bca550 5156 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 5157 }
Azure.IoT Build 0:6ae2f7bca550 5158 else
Azure.IoT Build 0:6ae2f7bca550 5159 {
Azure.IoT Build 0:6ae2f7bca550 5160 message_format message_format;
Azure.IoT Build 0:6ae2f7bca550 5161 if (amqpvalue_get_message_format(item_value, &message_format) != 0)
Azure.IoT Build 0:6ae2f7bca550 5162 {
Azure.IoT Build 0:6ae2f7bca550 5163 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 5164 {
Azure.IoT Build 0:6ae2f7bca550 5165 transfer_destroy(*transfer_handle);
AzureIoTClient 19:000ab4e6a2c1 5166 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5167 break;
Azure.IoT Build 0:6ae2f7bca550 5168 }
Azure.IoT Build 0:6ae2f7bca550 5169 }
Azure.IoT Build 0:6ae2f7bca550 5170
Azure.IoT Build 0:6ae2f7bca550 5171 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 5172 }
Azure.IoT Build 0:6ae2f7bca550 5173 /* settled */
Azure.IoT Build 0:6ae2f7bca550 5174 item_value = amqpvalue_get_list_item(list_value, 4);
Azure.IoT Build 0:6ae2f7bca550 5175 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5176 {
Azure.IoT Build 0:6ae2f7bca550 5177 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 5178 }
Azure.IoT Build 0:6ae2f7bca550 5179 else
Azure.IoT Build 0:6ae2f7bca550 5180 {
Azure.IoT Build 0:6ae2f7bca550 5181 bool settled;
Azure.IoT Build 0:6ae2f7bca550 5182 if (amqpvalue_get_boolean(item_value, &settled) != 0)
Azure.IoT Build 0:6ae2f7bca550 5183 {
Azure.IoT Build 0:6ae2f7bca550 5184 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 5185 {
Azure.IoT Build 0:6ae2f7bca550 5186 transfer_destroy(*transfer_handle);
AzureIoTClient 19:000ab4e6a2c1 5187 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5188 break;
Azure.IoT Build 0:6ae2f7bca550 5189 }
Azure.IoT Build 0:6ae2f7bca550 5190 }
Azure.IoT Build 0:6ae2f7bca550 5191
Azure.IoT Build 0:6ae2f7bca550 5192 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 5193 }
Azure.IoT Build 0:6ae2f7bca550 5194 /* more */
Azure.IoT Build 0:6ae2f7bca550 5195 item_value = amqpvalue_get_list_item(list_value, 5);
Azure.IoT Build 0:6ae2f7bca550 5196 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5197 {
Azure.IoT Build 0:6ae2f7bca550 5198 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 5199 }
Azure.IoT Build 0:6ae2f7bca550 5200 else
Azure.IoT Build 0:6ae2f7bca550 5201 {
Azure.IoT Build 0:6ae2f7bca550 5202 bool more;
Azure.IoT Build 0:6ae2f7bca550 5203 if (amqpvalue_get_boolean(item_value, &more) != 0)
Azure.IoT Build 0:6ae2f7bca550 5204 {
Azure.IoT Build 0:6ae2f7bca550 5205 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 5206 {
Azure.IoT Build 0:6ae2f7bca550 5207 transfer_destroy(*transfer_handle);
AzureIoTClient 19:000ab4e6a2c1 5208 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5209 break;
Azure.IoT Build 0:6ae2f7bca550 5210 }
Azure.IoT Build 0:6ae2f7bca550 5211 }
Azure.IoT Build 0:6ae2f7bca550 5212
Azure.IoT Build 0:6ae2f7bca550 5213 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 5214 }
Azure.IoT Build 0:6ae2f7bca550 5215 /* rcv-settle-mode */
Azure.IoT Build 0:6ae2f7bca550 5216 item_value = amqpvalue_get_list_item(list_value, 6);
Azure.IoT Build 0:6ae2f7bca550 5217 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5218 {
Azure.IoT Build 0:6ae2f7bca550 5219 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 5220 }
Azure.IoT Build 0:6ae2f7bca550 5221 else
Azure.IoT Build 0:6ae2f7bca550 5222 {
Azure.IoT Build 0:6ae2f7bca550 5223 receiver_settle_mode rcv_settle_mode;
Azure.IoT Build 0:6ae2f7bca550 5224 if (amqpvalue_get_receiver_settle_mode(item_value, &rcv_settle_mode) != 0)
Azure.IoT Build 0:6ae2f7bca550 5225 {
Azure.IoT Build 0:6ae2f7bca550 5226 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 5227 {
Azure.IoT Build 0:6ae2f7bca550 5228 transfer_destroy(*transfer_handle);
AzureIoTClient 19:000ab4e6a2c1 5229 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5230 break;
Azure.IoT Build 0:6ae2f7bca550 5231 }
Azure.IoT Build 0:6ae2f7bca550 5232 }
Azure.IoT Build 0:6ae2f7bca550 5233
Azure.IoT Build 0:6ae2f7bca550 5234 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 5235 }
Azure.IoT Build 0:6ae2f7bca550 5236 /* state */
Azure.IoT Build 0:6ae2f7bca550 5237 item_value = amqpvalue_get_list_item(list_value, 7);
Azure.IoT Build 0:6ae2f7bca550 5238 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5239 {
Azure.IoT Build 0:6ae2f7bca550 5240 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 5241 }
Azure.IoT Build 0:6ae2f7bca550 5242 else
Azure.IoT Build 0:6ae2f7bca550 5243 {
Azure.IoT Build 0:6ae2f7bca550 5244 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 5245 }
Azure.IoT Build 0:6ae2f7bca550 5246 /* resume */
Azure.IoT Build 0:6ae2f7bca550 5247 item_value = amqpvalue_get_list_item(list_value, 8);
Azure.IoT Build 0:6ae2f7bca550 5248 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5249 {
Azure.IoT Build 0:6ae2f7bca550 5250 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 5251 }
Azure.IoT Build 0:6ae2f7bca550 5252 else
Azure.IoT Build 0:6ae2f7bca550 5253 {
Azure.IoT Build 0:6ae2f7bca550 5254 bool resume;
Azure.IoT Build 0:6ae2f7bca550 5255 if (amqpvalue_get_boolean(item_value, &resume) != 0)
Azure.IoT Build 0:6ae2f7bca550 5256 {
Azure.IoT Build 0:6ae2f7bca550 5257 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 5258 {
Azure.IoT Build 0:6ae2f7bca550 5259 transfer_destroy(*transfer_handle);
AzureIoTClient 19:000ab4e6a2c1 5260 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5261 break;
Azure.IoT Build 0:6ae2f7bca550 5262 }
Azure.IoT Build 0:6ae2f7bca550 5263 }
Azure.IoT Build 0:6ae2f7bca550 5264
Azure.IoT Build 0:6ae2f7bca550 5265 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 5266 }
Azure.IoT Build 0:6ae2f7bca550 5267 /* aborted */
Azure.IoT Build 0:6ae2f7bca550 5268 item_value = amqpvalue_get_list_item(list_value, 9);
Azure.IoT Build 0:6ae2f7bca550 5269 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5270 {
Azure.IoT Build 0:6ae2f7bca550 5271 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 5272 }
Azure.IoT Build 0:6ae2f7bca550 5273 else
Azure.IoT Build 0:6ae2f7bca550 5274 {
Azure.IoT Build 0:6ae2f7bca550 5275 bool aborted;
Azure.IoT Build 0:6ae2f7bca550 5276 if (amqpvalue_get_boolean(item_value, &aborted) != 0)
Azure.IoT Build 0:6ae2f7bca550 5277 {
Azure.IoT Build 0:6ae2f7bca550 5278 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 5279 {
Azure.IoT Build 0:6ae2f7bca550 5280 transfer_destroy(*transfer_handle);
AzureIoTClient 19:000ab4e6a2c1 5281 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5282 break;
Azure.IoT Build 0:6ae2f7bca550 5283 }
Azure.IoT Build 0:6ae2f7bca550 5284 }
Azure.IoT Build 0:6ae2f7bca550 5285
Azure.IoT Build 0:6ae2f7bca550 5286 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 5287 }
Azure.IoT Build 0:6ae2f7bca550 5288 /* batchable */
Azure.IoT Build 0:6ae2f7bca550 5289 item_value = amqpvalue_get_list_item(list_value, 10);
Azure.IoT Build 0:6ae2f7bca550 5290 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5291 {
Azure.IoT Build 0:6ae2f7bca550 5292 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 5293 }
Azure.IoT Build 0:6ae2f7bca550 5294 else
Azure.IoT Build 0:6ae2f7bca550 5295 {
Azure.IoT Build 0:6ae2f7bca550 5296 bool batchable;
Azure.IoT Build 0:6ae2f7bca550 5297 if (amqpvalue_get_boolean(item_value, &batchable) != 0)
Azure.IoT Build 0:6ae2f7bca550 5298 {
Azure.IoT Build 0:6ae2f7bca550 5299 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 5300 {
Azure.IoT Build 0:6ae2f7bca550 5301 transfer_destroy(*transfer_handle);
AzureIoTClient 19:000ab4e6a2c1 5302 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5303 break;
Azure.IoT Build 0:6ae2f7bca550 5304 }
Azure.IoT Build 0:6ae2f7bca550 5305 }
Azure.IoT Build 0:6ae2f7bca550 5306
Azure.IoT Build 0:6ae2f7bca550 5307 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 5308 }
Azure.IoT Build 0:6ae2f7bca550 5309
Azure.IoT Build 0:6ae2f7bca550 5310 transfer_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 5311
Azure.IoT Build 0:6ae2f7bca550 5312 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5313 } while (0);
Azure.IoT Build 0:6ae2f7bca550 5314 }
Azure.IoT Build 0:6ae2f7bca550 5315 }
Azure.IoT Build 0:6ae2f7bca550 5316
Azure.IoT Build 0:6ae2f7bca550 5317 return result;
Azure.IoT Build 0:6ae2f7bca550 5318 }
Azure.IoT Build 0:6ae2f7bca550 5319
Azure.IoT Build 0:6ae2f7bca550 5320 int transfer_get_handle(TRANSFER_HANDLE transfer, handle* handle_value)
Azure.IoT Build 0:6ae2f7bca550 5321 {
Azure.IoT Build 0:6ae2f7bca550 5322 int result;
Azure.IoT Build 0:6ae2f7bca550 5323
Azure.IoT Build 0:6ae2f7bca550 5324 if (transfer == NULL)
Azure.IoT Build 0:6ae2f7bca550 5325 {
AzureIoTClient 19:000ab4e6a2c1 5326 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5327 }
Azure.IoT Build 0:6ae2f7bca550 5328 else
Azure.IoT Build 0:6ae2f7bca550 5329 {
Azure.IoT Build 0:6ae2f7bca550 5330 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 5331 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(transfer_instance->composite_value, 0);
Azure.IoT Build 0:6ae2f7bca550 5332 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5333 {
AzureIoTClient 19:000ab4e6a2c1 5334 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5335 }
Azure.IoT Build 0:6ae2f7bca550 5336 else
Azure.IoT Build 0:6ae2f7bca550 5337 {
Azure.IoT Build 0:6ae2f7bca550 5338 if (amqpvalue_get_handle(item_value, handle_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 5339 {
AzureIoTClient 19:000ab4e6a2c1 5340 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5341 }
Azure.IoT Build 0:6ae2f7bca550 5342 else
Azure.IoT Build 0:6ae2f7bca550 5343 {
Azure.IoT Build 0:6ae2f7bca550 5344 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5345 }
Azure.IoT Build 0:6ae2f7bca550 5346 }
Azure.IoT Build 0:6ae2f7bca550 5347 }
Azure.IoT Build 0:6ae2f7bca550 5348
Azure.IoT Build 0:6ae2f7bca550 5349 return result;
Azure.IoT Build 0:6ae2f7bca550 5350 }
Azure.IoT Build 0:6ae2f7bca550 5351
Azure.IoT Build 0:6ae2f7bca550 5352 int transfer_set_handle(TRANSFER_HANDLE transfer, handle handle_value)
Azure.IoT Build 0:6ae2f7bca550 5353 {
Azure.IoT Build 0:6ae2f7bca550 5354 int result;
Azure.IoT Build 0:6ae2f7bca550 5355
Azure.IoT Build 0:6ae2f7bca550 5356 if (transfer == NULL)
Azure.IoT Build 0:6ae2f7bca550 5357 {
AzureIoTClient 19:000ab4e6a2c1 5358 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5359 }
Azure.IoT Build 0:6ae2f7bca550 5360 else
Azure.IoT Build 0:6ae2f7bca550 5361 {
Azure.IoT Build 0:6ae2f7bca550 5362 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 5363 AMQP_VALUE handle_amqp_value = amqpvalue_create_handle(handle_value);
Azure.IoT Build 0:6ae2f7bca550 5364 if (handle_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5365 {
AzureIoTClient 19:000ab4e6a2c1 5366 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5367 }
Azure.IoT Build 0:6ae2f7bca550 5368 else
Azure.IoT Build 0:6ae2f7bca550 5369 {
Azure.IoT Build 0:6ae2f7bca550 5370 if (amqpvalue_set_composite_item(transfer_instance->composite_value, 0, handle_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 5371 {
AzureIoTClient 19:000ab4e6a2c1 5372 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5373 }
Azure.IoT Build 0:6ae2f7bca550 5374 else
Azure.IoT Build 0:6ae2f7bca550 5375 {
Azure.IoT Build 0:6ae2f7bca550 5376 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5377 }
Azure.IoT Build 0:6ae2f7bca550 5378
Azure.IoT Build 0:6ae2f7bca550 5379 amqpvalue_destroy(handle_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 5380 }
Azure.IoT Build 0:6ae2f7bca550 5381 }
Azure.IoT Build 0:6ae2f7bca550 5382
Azure.IoT Build 0:6ae2f7bca550 5383 return result;
Azure.IoT Build 0:6ae2f7bca550 5384 }
Azure.IoT Build 0:6ae2f7bca550 5385
Azure.IoT Build 0:6ae2f7bca550 5386 int transfer_get_delivery_id(TRANSFER_HANDLE transfer, delivery_number* delivery_id_value)
Azure.IoT Build 0:6ae2f7bca550 5387 {
Azure.IoT Build 0:6ae2f7bca550 5388 int result;
Azure.IoT Build 0:6ae2f7bca550 5389
Azure.IoT Build 0:6ae2f7bca550 5390 if (transfer == NULL)
Azure.IoT Build 0:6ae2f7bca550 5391 {
AzureIoTClient 19:000ab4e6a2c1 5392 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5393 }
Azure.IoT Build 0:6ae2f7bca550 5394 else
Azure.IoT Build 0:6ae2f7bca550 5395 {
Azure.IoT Build 0:6ae2f7bca550 5396 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 5397 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(transfer_instance->composite_value, 1);
Azure.IoT Build 0:6ae2f7bca550 5398 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5399 {
AzureIoTClient 19:000ab4e6a2c1 5400 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5401 }
Azure.IoT Build 0:6ae2f7bca550 5402 else
Azure.IoT Build 0:6ae2f7bca550 5403 {
Azure.IoT Build 0:6ae2f7bca550 5404 if (amqpvalue_get_delivery_number(item_value, delivery_id_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 5405 {
AzureIoTClient 19:000ab4e6a2c1 5406 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5407 }
Azure.IoT Build 0:6ae2f7bca550 5408 else
Azure.IoT Build 0:6ae2f7bca550 5409 {
Azure.IoT Build 0:6ae2f7bca550 5410 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5411 }
Azure.IoT Build 0:6ae2f7bca550 5412 }
Azure.IoT Build 0:6ae2f7bca550 5413 }
Azure.IoT Build 0:6ae2f7bca550 5414
Azure.IoT Build 0:6ae2f7bca550 5415 return result;
Azure.IoT Build 0:6ae2f7bca550 5416 }
Azure.IoT Build 0:6ae2f7bca550 5417
Azure.IoT Build 0:6ae2f7bca550 5418 int transfer_set_delivery_id(TRANSFER_HANDLE transfer, delivery_number delivery_id_value)
Azure.IoT Build 0:6ae2f7bca550 5419 {
Azure.IoT Build 0:6ae2f7bca550 5420 int result;
Azure.IoT Build 0:6ae2f7bca550 5421
Azure.IoT Build 0:6ae2f7bca550 5422 if (transfer == NULL)
Azure.IoT Build 0:6ae2f7bca550 5423 {
AzureIoTClient 19:000ab4e6a2c1 5424 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5425 }
Azure.IoT Build 0:6ae2f7bca550 5426 else
Azure.IoT Build 0:6ae2f7bca550 5427 {
Azure.IoT Build 0:6ae2f7bca550 5428 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 5429 AMQP_VALUE delivery_id_amqp_value = amqpvalue_create_delivery_number(delivery_id_value);
Azure.IoT Build 0:6ae2f7bca550 5430 if (delivery_id_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5431 {
AzureIoTClient 19:000ab4e6a2c1 5432 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5433 }
Azure.IoT Build 0:6ae2f7bca550 5434 else
Azure.IoT Build 0:6ae2f7bca550 5435 {
Azure.IoT Build 0:6ae2f7bca550 5436 if (amqpvalue_set_composite_item(transfer_instance->composite_value, 1, delivery_id_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 5437 {
AzureIoTClient 19:000ab4e6a2c1 5438 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5439 }
Azure.IoT Build 0:6ae2f7bca550 5440 else
Azure.IoT Build 0:6ae2f7bca550 5441 {
Azure.IoT Build 0:6ae2f7bca550 5442 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5443 }
Azure.IoT Build 0:6ae2f7bca550 5444
Azure.IoT Build 0:6ae2f7bca550 5445 amqpvalue_destroy(delivery_id_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 5446 }
Azure.IoT Build 0:6ae2f7bca550 5447 }
Azure.IoT Build 0:6ae2f7bca550 5448
Azure.IoT Build 0:6ae2f7bca550 5449 return result;
Azure.IoT Build 0:6ae2f7bca550 5450 }
Azure.IoT Build 0:6ae2f7bca550 5451
Azure.IoT Build 0:6ae2f7bca550 5452 int transfer_get_delivery_tag(TRANSFER_HANDLE transfer, delivery_tag* delivery_tag_value)
Azure.IoT Build 0:6ae2f7bca550 5453 {
Azure.IoT Build 0:6ae2f7bca550 5454 int result;
Azure.IoT Build 0:6ae2f7bca550 5455
Azure.IoT Build 0:6ae2f7bca550 5456 if (transfer == NULL)
Azure.IoT Build 0:6ae2f7bca550 5457 {
AzureIoTClient 19:000ab4e6a2c1 5458 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5459 }
Azure.IoT Build 0:6ae2f7bca550 5460 else
Azure.IoT Build 0:6ae2f7bca550 5461 {
Azure.IoT Build 0:6ae2f7bca550 5462 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 5463 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(transfer_instance->composite_value, 2);
Azure.IoT Build 0:6ae2f7bca550 5464 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5465 {
AzureIoTClient 19:000ab4e6a2c1 5466 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5467 }
Azure.IoT Build 0:6ae2f7bca550 5468 else
Azure.IoT Build 0:6ae2f7bca550 5469 {
Azure.IoT Build 0:6ae2f7bca550 5470 if (amqpvalue_get_delivery_tag(item_value, delivery_tag_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 5471 {
AzureIoTClient 19:000ab4e6a2c1 5472 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5473 }
Azure.IoT Build 0:6ae2f7bca550 5474 else
Azure.IoT Build 0:6ae2f7bca550 5475 {
Azure.IoT Build 0:6ae2f7bca550 5476 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5477 }
Azure.IoT Build 0:6ae2f7bca550 5478 }
Azure.IoT Build 0:6ae2f7bca550 5479 }
Azure.IoT Build 0:6ae2f7bca550 5480
Azure.IoT Build 0:6ae2f7bca550 5481 return result;
Azure.IoT Build 0:6ae2f7bca550 5482 }
Azure.IoT Build 0:6ae2f7bca550 5483
Azure.IoT Build 0:6ae2f7bca550 5484 int transfer_set_delivery_tag(TRANSFER_HANDLE transfer, delivery_tag delivery_tag_value)
Azure.IoT Build 0:6ae2f7bca550 5485 {
Azure.IoT Build 0:6ae2f7bca550 5486 int result;
Azure.IoT Build 0:6ae2f7bca550 5487
Azure.IoT Build 0:6ae2f7bca550 5488 if (transfer == NULL)
Azure.IoT Build 0:6ae2f7bca550 5489 {
AzureIoTClient 19:000ab4e6a2c1 5490 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5491 }
Azure.IoT Build 0:6ae2f7bca550 5492 else
Azure.IoT Build 0:6ae2f7bca550 5493 {
Azure.IoT Build 0:6ae2f7bca550 5494 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 5495 AMQP_VALUE delivery_tag_amqp_value = amqpvalue_create_delivery_tag(delivery_tag_value);
Azure.IoT Build 0:6ae2f7bca550 5496 if (delivery_tag_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5497 {
AzureIoTClient 19:000ab4e6a2c1 5498 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5499 }
Azure.IoT Build 0:6ae2f7bca550 5500 else
Azure.IoT Build 0:6ae2f7bca550 5501 {
Azure.IoT Build 0:6ae2f7bca550 5502 if (amqpvalue_set_composite_item(transfer_instance->composite_value, 2, delivery_tag_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 5503 {
AzureIoTClient 19:000ab4e6a2c1 5504 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5505 }
Azure.IoT Build 0:6ae2f7bca550 5506 else
Azure.IoT Build 0:6ae2f7bca550 5507 {
Azure.IoT Build 0:6ae2f7bca550 5508 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5509 }
Azure.IoT Build 0:6ae2f7bca550 5510
Azure.IoT Build 0:6ae2f7bca550 5511 amqpvalue_destroy(delivery_tag_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 5512 }
Azure.IoT Build 0:6ae2f7bca550 5513 }
Azure.IoT Build 0:6ae2f7bca550 5514
Azure.IoT Build 0:6ae2f7bca550 5515 return result;
Azure.IoT Build 0:6ae2f7bca550 5516 }
Azure.IoT Build 0:6ae2f7bca550 5517
Azure.IoT Build 0:6ae2f7bca550 5518 int transfer_get_message_format(TRANSFER_HANDLE transfer, message_format* message_format_value)
Azure.IoT Build 0:6ae2f7bca550 5519 {
Azure.IoT Build 0:6ae2f7bca550 5520 int result;
Azure.IoT Build 0:6ae2f7bca550 5521
Azure.IoT Build 0:6ae2f7bca550 5522 if (transfer == NULL)
Azure.IoT Build 0:6ae2f7bca550 5523 {
AzureIoTClient 19:000ab4e6a2c1 5524 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5525 }
Azure.IoT Build 0:6ae2f7bca550 5526 else
Azure.IoT Build 0:6ae2f7bca550 5527 {
Azure.IoT Build 0:6ae2f7bca550 5528 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 5529 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(transfer_instance->composite_value, 3);
Azure.IoT Build 0:6ae2f7bca550 5530 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5531 {
AzureIoTClient 19:000ab4e6a2c1 5532 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5533 }
Azure.IoT Build 0:6ae2f7bca550 5534 else
Azure.IoT Build 0:6ae2f7bca550 5535 {
Azure.IoT Build 0:6ae2f7bca550 5536 if (amqpvalue_get_message_format(item_value, message_format_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 5537 {
AzureIoTClient 19:000ab4e6a2c1 5538 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5539 }
Azure.IoT Build 0:6ae2f7bca550 5540 else
Azure.IoT Build 0:6ae2f7bca550 5541 {
Azure.IoT Build 0:6ae2f7bca550 5542 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5543 }
Azure.IoT Build 0:6ae2f7bca550 5544 }
Azure.IoT Build 0:6ae2f7bca550 5545 }
Azure.IoT Build 0:6ae2f7bca550 5546
Azure.IoT Build 0:6ae2f7bca550 5547 return result;
Azure.IoT Build 0:6ae2f7bca550 5548 }
Azure.IoT Build 0:6ae2f7bca550 5549
Azure.IoT Build 0:6ae2f7bca550 5550 int transfer_set_message_format(TRANSFER_HANDLE transfer, message_format message_format_value)
Azure.IoT Build 0:6ae2f7bca550 5551 {
Azure.IoT Build 0:6ae2f7bca550 5552 int result;
Azure.IoT Build 0:6ae2f7bca550 5553
Azure.IoT Build 0:6ae2f7bca550 5554 if (transfer == NULL)
Azure.IoT Build 0:6ae2f7bca550 5555 {
AzureIoTClient 19:000ab4e6a2c1 5556 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5557 }
Azure.IoT Build 0:6ae2f7bca550 5558 else
Azure.IoT Build 0:6ae2f7bca550 5559 {
Azure.IoT Build 0:6ae2f7bca550 5560 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 5561 AMQP_VALUE message_format_amqp_value = amqpvalue_create_message_format(message_format_value);
Azure.IoT Build 0:6ae2f7bca550 5562 if (message_format_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5563 {
AzureIoTClient 19:000ab4e6a2c1 5564 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5565 }
Azure.IoT Build 0:6ae2f7bca550 5566 else
Azure.IoT Build 0:6ae2f7bca550 5567 {
Azure.IoT Build 0:6ae2f7bca550 5568 if (amqpvalue_set_composite_item(transfer_instance->composite_value, 3, message_format_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 5569 {
AzureIoTClient 19:000ab4e6a2c1 5570 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5571 }
Azure.IoT Build 0:6ae2f7bca550 5572 else
Azure.IoT Build 0:6ae2f7bca550 5573 {
Azure.IoT Build 0:6ae2f7bca550 5574 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5575 }
Azure.IoT Build 0:6ae2f7bca550 5576
Azure.IoT Build 0:6ae2f7bca550 5577 amqpvalue_destroy(message_format_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 5578 }
Azure.IoT Build 0:6ae2f7bca550 5579 }
Azure.IoT Build 0:6ae2f7bca550 5580
Azure.IoT Build 0:6ae2f7bca550 5581 return result;
Azure.IoT Build 0:6ae2f7bca550 5582 }
Azure.IoT Build 0:6ae2f7bca550 5583
Azure.IoT Build 0:6ae2f7bca550 5584 int transfer_get_settled(TRANSFER_HANDLE transfer, bool* settled_value)
Azure.IoT Build 0:6ae2f7bca550 5585 {
Azure.IoT Build 0:6ae2f7bca550 5586 int result;
Azure.IoT Build 0:6ae2f7bca550 5587
Azure.IoT Build 0:6ae2f7bca550 5588 if (transfer == NULL)
Azure.IoT Build 0:6ae2f7bca550 5589 {
AzureIoTClient 19:000ab4e6a2c1 5590 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5591 }
Azure.IoT Build 0:6ae2f7bca550 5592 else
Azure.IoT Build 0:6ae2f7bca550 5593 {
Azure.IoT Build 0:6ae2f7bca550 5594 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 5595 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(transfer_instance->composite_value, 4);
Azure.IoT Build 0:6ae2f7bca550 5596 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5597 {
AzureIoTClient 19:000ab4e6a2c1 5598 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5599 }
Azure.IoT Build 0:6ae2f7bca550 5600 else
Azure.IoT Build 0:6ae2f7bca550 5601 {
Azure.IoT Build 0:6ae2f7bca550 5602 if (amqpvalue_get_boolean(item_value, settled_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 5603 {
AzureIoTClient 19:000ab4e6a2c1 5604 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5605 }
Azure.IoT Build 0:6ae2f7bca550 5606 else
Azure.IoT Build 0:6ae2f7bca550 5607 {
Azure.IoT Build 0:6ae2f7bca550 5608 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5609 }
Azure.IoT Build 0:6ae2f7bca550 5610 }
Azure.IoT Build 0:6ae2f7bca550 5611 }
Azure.IoT Build 0:6ae2f7bca550 5612
Azure.IoT Build 0:6ae2f7bca550 5613 return result;
Azure.IoT Build 0:6ae2f7bca550 5614 }
Azure.IoT Build 0:6ae2f7bca550 5615
Azure.IoT Build 0:6ae2f7bca550 5616 int transfer_set_settled(TRANSFER_HANDLE transfer, bool settled_value)
Azure.IoT Build 0:6ae2f7bca550 5617 {
Azure.IoT Build 0:6ae2f7bca550 5618 int result;
Azure.IoT Build 0:6ae2f7bca550 5619
Azure.IoT Build 0:6ae2f7bca550 5620 if (transfer == NULL)
Azure.IoT Build 0:6ae2f7bca550 5621 {
AzureIoTClient 19:000ab4e6a2c1 5622 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5623 }
Azure.IoT Build 0:6ae2f7bca550 5624 else
Azure.IoT Build 0:6ae2f7bca550 5625 {
Azure.IoT Build 0:6ae2f7bca550 5626 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 5627 AMQP_VALUE settled_amqp_value = amqpvalue_create_boolean(settled_value);
Azure.IoT Build 0:6ae2f7bca550 5628 if (settled_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5629 {
AzureIoTClient 19:000ab4e6a2c1 5630 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5631 }
Azure.IoT Build 0:6ae2f7bca550 5632 else
Azure.IoT Build 0:6ae2f7bca550 5633 {
Azure.IoT Build 0:6ae2f7bca550 5634 if (amqpvalue_set_composite_item(transfer_instance->composite_value, 4, settled_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 5635 {
AzureIoTClient 19:000ab4e6a2c1 5636 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5637 }
Azure.IoT Build 0:6ae2f7bca550 5638 else
Azure.IoT Build 0:6ae2f7bca550 5639 {
Azure.IoT Build 0:6ae2f7bca550 5640 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5641 }
Azure.IoT Build 0:6ae2f7bca550 5642
Azure.IoT Build 0:6ae2f7bca550 5643 amqpvalue_destroy(settled_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 5644 }
Azure.IoT Build 0:6ae2f7bca550 5645 }
Azure.IoT Build 0:6ae2f7bca550 5646
Azure.IoT Build 0:6ae2f7bca550 5647 return result;
Azure.IoT Build 0:6ae2f7bca550 5648 }
Azure.IoT Build 0:6ae2f7bca550 5649
Azure.IoT Build 0:6ae2f7bca550 5650 int transfer_get_more(TRANSFER_HANDLE transfer, bool* more_value)
Azure.IoT Build 0:6ae2f7bca550 5651 {
Azure.IoT Build 0:6ae2f7bca550 5652 int result;
Azure.IoT Build 0:6ae2f7bca550 5653
Azure.IoT Build 0:6ae2f7bca550 5654 if (transfer == NULL)
Azure.IoT Build 0:6ae2f7bca550 5655 {
AzureIoTClient 19:000ab4e6a2c1 5656 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5657 }
Azure.IoT Build 0:6ae2f7bca550 5658 else
Azure.IoT Build 0:6ae2f7bca550 5659 {
Azure.IoT Build 0:6ae2f7bca550 5660 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 5661 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(transfer_instance->composite_value, 5);
Azure.IoT Build 0:6ae2f7bca550 5662 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5663 {
AzureIoTClient 16:22a72cf8e416 5664 *more_value = false;
AzureIoTClient 16:22a72cf8e416 5665 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5666 }
Azure.IoT Build 0:6ae2f7bca550 5667 else
Azure.IoT Build 0:6ae2f7bca550 5668 {
Azure.IoT Build 0:6ae2f7bca550 5669 if (amqpvalue_get_boolean(item_value, more_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 5670 {
AzureIoTClient 16:22a72cf8e416 5671 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 5672 {
AzureIoTClient 19:000ab4e6a2c1 5673 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 5674 }
AzureIoTClient 16:22a72cf8e416 5675 else
AzureIoTClient 16:22a72cf8e416 5676 {
AzureIoTClient 16:22a72cf8e416 5677 *more_value = false;
AzureIoTClient 16:22a72cf8e416 5678 result = 0;
AzureIoTClient 16:22a72cf8e416 5679 }
Azure.IoT Build 0:6ae2f7bca550 5680 }
Azure.IoT Build 0:6ae2f7bca550 5681 else
Azure.IoT Build 0:6ae2f7bca550 5682 {
Azure.IoT Build 0:6ae2f7bca550 5683 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5684 }
Azure.IoT Build 0:6ae2f7bca550 5685 }
Azure.IoT Build 0:6ae2f7bca550 5686 }
Azure.IoT Build 0:6ae2f7bca550 5687
Azure.IoT Build 0:6ae2f7bca550 5688 return result;
Azure.IoT Build 0:6ae2f7bca550 5689 }
Azure.IoT Build 0:6ae2f7bca550 5690
Azure.IoT Build 0:6ae2f7bca550 5691 int transfer_set_more(TRANSFER_HANDLE transfer, bool more_value)
Azure.IoT Build 0:6ae2f7bca550 5692 {
Azure.IoT Build 0:6ae2f7bca550 5693 int result;
Azure.IoT Build 0:6ae2f7bca550 5694
Azure.IoT Build 0:6ae2f7bca550 5695 if (transfer == NULL)
Azure.IoT Build 0:6ae2f7bca550 5696 {
AzureIoTClient 19:000ab4e6a2c1 5697 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5698 }
Azure.IoT Build 0:6ae2f7bca550 5699 else
Azure.IoT Build 0:6ae2f7bca550 5700 {
Azure.IoT Build 0:6ae2f7bca550 5701 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 5702 AMQP_VALUE more_amqp_value = amqpvalue_create_boolean(more_value);
Azure.IoT Build 0:6ae2f7bca550 5703 if (more_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5704 {
AzureIoTClient 19:000ab4e6a2c1 5705 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5706 }
Azure.IoT Build 0:6ae2f7bca550 5707 else
Azure.IoT Build 0:6ae2f7bca550 5708 {
Azure.IoT Build 0:6ae2f7bca550 5709 if (amqpvalue_set_composite_item(transfer_instance->composite_value, 5, more_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 5710 {
AzureIoTClient 19:000ab4e6a2c1 5711 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5712 }
Azure.IoT Build 0:6ae2f7bca550 5713 else
Azure.IoT Build 0:6ae2f7bca550 5714 {
Azure.IoT Build 0:6ae2f7bca550 5715 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5716 }
Azure.IoT Build 0:6ae2f7bca550 5717
Azure.IoT Build 0:6ae2f7bca550 5718 amqpvalue_destroy(more_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 5719 }
Azure.IoT Build 0:6ae2f7bca550 5720 }
Azure.IoT Build 0:6ae2f7bca550 5721
Azure.IoT Build 0:6ae2f7bca550 5722 return result;
Azure.IoT Build 0:6ae2f7bca550 5723 }
Azure.IoT Build 0:6ae2f7bca550 5724
Azure.IoT Build 0:6ae2f7bca550 5725 int transfer_get_rcv_settle_mode(TRANSFER_HANDLE transfer, receiver_settle_mode* rcv_settle_mode_value)
Azure.IoT Build 0:6ae2f7bca550 5726 {
Azure.IoT Build 0:6ae2f7bca550 5727 int result;
Azure.IoT Build 0:6ae2f7bca550 5728
Azure.IoT Build 0:6ae2f7bca550 5729 if (transfer == NULL)
Azure.IoT Build 0:6ae2f7bca550 5730 {
AzureIoTClient 19:000ab4e6a2c1 5731 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5732 }
Azure.IoT Build 0:6ae2f7bca550 5733 else
Azure.IoT Build 0:6ae2f7bca550 5734 {
Azure.IoT Build 0:6ae2f7bca550 5735 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 5736 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(transfer_instance->composite_value, 6);
Azure.IoT Build 0:6ae2f7bca550 5737 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5738 {
AzureIoTClient 19:000ab4e6a2c1 5739 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5740 }
Azure.IoT Build 0:6ae2f7bca550 5741 else
Azure.IoT Build 0:6ae2f7bca550 5742 {
Azure.IoT Build 0:6ae2f7bca550 5743 if (amqpvalue_get_receiver_settle_mode(item_value, rcv_settle_mode_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 5744 {
AzureIoTClient 19:000ab4e6a2c1 5745 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5746 }
Azure.IoT Build 0:6ae2f7bca550 5747 else
Azure.IoT Build 0:6ae2f7bca550 5748 {
Azure.IoT Build 0:6ae2f7bca550 5749 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5750 }
Azure.IoT Build 0:6ae2f7bca550 5751 }
Azure.IoT Build 0:6ae2f7bca550 5752 }
Azure.IoT Build 0:6ae2f7bca550 5753
Azure.IoT Build 0:6ae2f7bca550 5754 return result;
Azure.IoT Build 0:6ae2f7bca550 5755 }
Azure.IoT Build 0:6ae2f7bca550 5756
Azure.IoT Build 0:6ae2f7bca550 5757 int transfer_set_rcv_settle_mode(TRANSFER_HANDLE transfer, receiver_settle_mode rcv_settle_mode_value)
Azure.IoT Build 0:6ae2f7bca550 5758 {
Azure.IoT Build 0:6ae2f7bca550 5759 int result;
Azure.IoT Build 0:6ae2f7bca550 5760
Azure.IoT Build 0:6ae2f7bca550 5761 if (transfer == NULL)
Azure.IoT Build 0:6ae2f7bca550 5762 {
AzureIoTClient 19:000ab4e6a2c1 5763 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5764 }
Azure.IoT Build 0:6ae2f7bca550 5765 else
Azure.IoT Build 0:6ae2f7bca550 5766 {
Azure.IoT Build 0:6ae2f7bca550 5767 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 5768 AMQP_VALUE rcv_settle_mode_amqp_value = amqpvalue_create_receiver_settle_mode(rcv_settle_mode_value);
Azure.IoT Build 0:6ae2f7bca550 5769 if (rcv_settle_mode_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5770 {
AzureIoTClient 19:000ab4e6a2c1 5771 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5772 }
Azure.IoT Build 0:6ae2f7bca550 5773 else
Azure.IoT Build 0:6ae2f7bca550 5774 {
Azure.IoT Build 0:6ae2f7bca550 5775 if (amqpvalue_set_composite_item(transfer_instance->composite_value, 6, rcv_settle_mode_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 5776 {
AzureIoTClient 19:000ab4e6a2c1 5777 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5778 }
Azure.IoT Build 0:6ae2f7bca550 5779 else
Azure.IoT Build 0:6ae2f7bca550 5780 {
Azure.IoT Build 0:6ae2f7bca550 5781 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5782 }
Azure.IoT Build 0:6ae2f7bca550 5783
Azure.IoT Build 0:6ae2f7bca550 5784 amqpvalue_destroy(rcv_settle_mode_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 5785 }
Azure.IoT Build 0:6ae2f7bca550 5786 }
Azure.IoT Build 0:6ae2f7bca550 5787
Azure.IoT Build 0:6ae2f7bca550 5788 return result;
Azure.IoT Build 0:6ae2f7bca550 5789 }
Azure.IoT Build 0:6ae2f7bca550 5790
Azure.IoT Build 0:6ae2f7bca550 5791 int transfer_get_state(TRANSFER_HANDLE transfer, AMQP_VALUE* state_value)
Azure.IoT Build 0:6ae2f7bca550 5792 {
Azure.IoT Build 0:6ae2f7bca550 5793 int result;
Azure.IoT Build 0:6ae2f7bca550 5794
Azure.IoT Build 0:6ae2f7bca550 5795 if (transfer == NULL)
Azure.IoT Build 0:6ae2f7bca550 5796 {
AzureIoTClient 19:000ab4e6a2c1 5797 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5798 }
Azure.IoT Build 0:6ae2f7bca550 5799 else
Azure.IoT Build 0:6ae2f7bca550 5800 {
Azure.IoT Build 0:6ae2f7bca550 5801 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 5802 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(transfer_instance->composite_value, 7);
Azure.IoT Build 0:6ae2f7bca550 5803 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5804 {
AzureIoTClient 19:000ab4e6a2c1 5805 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5806 }
Azure.IoT Build 0:6ae2f7bca550 5807 else
Azure.IoT Build 0:6ae2f7bca550 5808 {
Azure.IoT Build 0:6ae2f7bca550 5809 *state_value = item_value;
Azure.IoT Build 0:6ae2f7bca550 5810 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5811 }
Azure.IoT Build 0:6ae2f7bca550 5812 }
Azure.IoT Build 0:6ae2f7bca550 5813
Azure.IoT Build 0:6ae2f7bca550 5814 return result;
Azure.IoT Build 0:6ae2f7bca550 5815 }
Azure.IoT Build 0:6ae2f7bca550 5816
Azure.IoT Build 0:6ae2f7bca550 5817 int transfer_set_state(TRANSFER_HANDLE transfer, AMQP_VALUE state_value)
Azure.IoT Build 0:6ae2f7bca550 5818 {
Azure.IoT Build 0:6ae2f7bca550 5819 int result;
Azure.IoT Build 0:6ae2f7bca550 5820
Azure.IoT Build 0:6ae2f7bca550 5821 if (transfer == NULL)
Azure.IoT Build 0:6ae2f7bca550 5822 {
AzureIoTClient 19:000ab4e6a2c1 5823 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5824 }
Azure.IoT Build 0:6ae2f7bca550 5825 else
Azure.IoT Build 0:6ae2f7bca550 5826 {
Azure.IoT Build 0:6ae2f7bca550 5827 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 5828 AMQP_VALUE state_amqp_value = amqpvalue_clone(state_value);
Azure.IoT Build 0:6ae2f7bca550 5829 if (state_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5830 {
AzureIoTClient 19:000ab4e6a2c1 5831 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5832 }
Azure.IoT Build 0:6ae2f7bca550 5833 else
Azure.IoT Build 0:6ae2f7bca550 5834 {
Azure.IoT Build 0:6ae2f7bca550 5835 if (amqpvalue_set_composite_item(transfer_instance->composite_value, 7, state_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 5836 {
AzureIoTClient 19:000ab4e6a2c1 5837 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5838 }
Azure.IoT Build 0:6ae2f7bca550 5839 else
Azure.IoT Build 0:6ae2f7bca550 5840 {
Azure.IoT Build 0:6ae2f7bca550 5841 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5842 }
Azure.IoT Build 0:6ae2f7bca550 5843
Azure.IoT Build 0:6ae2f7bca550 5844 amqpvalue_destroy(state_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 5845 }
Azure.IoT Build 0:6ae2f7bca550 5846 }
Azure.IoT Build 0:6ae2f7bca550 5847
Azure.IoT Build 0:6ae2f7bca550 5848 return result;
Azure.IoT Build 0:6ae2f7bca550 5849 }
Azure.IoT Build 0:6ae2f7bca550 5850
Azure.IoT Build 0:6ae2f7bca550 5851 int transfer_get_resume(TRANSFER_HANDLE transfer, bool* resume_value)
Azure.IoT Build 0:6ae2f7bca550 5852 {
Azure.IoT Build 0:6ae2f7bca550 5853 int result;
Azure.IoT Build 0:6ae2f7bca550 5854
Azure.IoT Build 0:6ae2f7bca550 5855 if (transfer == NULL)
Azure.IoT Build 0:6ae2f7bca550 5856 {
AzureIoTClient 19:000ab4e6a2c1 5857 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5858 }
Azure.IoT Build 0:6ae2f7bca550 5859 else
Azure.IoT Build 0:6ae2f7bca550 5860 {
Azure.IoT Build 0:6ae2f7bca550 5861 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 5862 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(transfer_instance->composite_value, 8);
Azure.IoT Build 0:6ae2f7bca550 5863 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5864 {
AzureIoTClient 16:22a72cf8e416 5865 *resume_value = false;
AzureIoTClient 16:22a72cf8e416 5866 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5867 }
Azure.IoT Build 0:6ae2f7bca550 5868 else
Azure.IoT Build 0:6ae2f7bca550 5869 {
Azure.IoT Build 0:6ae2f7bca550 5870 if (amqpvalue_get_boolean(item_value, resume_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 5871 {
AzureIoTClient 16:22a72cf8e416 5872 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 5873 {
AzureIoTClient 19:000ab4e6a2c1 5874 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 5875 }
AzureIoTClient 16:22a72cf8e416 5876 else
AzureIoTClient 16:22a72cf8e416 5877 {
AzureIoTClient 16:22a72cf8e416 5878 *resume_value = false;
AzureIoTClient 16:22a72cf8e416 5879 result = 0;
AzureIoTClient 16:22a72cf8e416 5880 }
Azure.IoT Build 0:6ae2f7bca550 5881 }
Azure.IoT Build 0:6ae2f7bca550 5882 else
Azure.IoT Build 0:6ae2f7bca550 5883 {
Azure.IoT Build 0:6ae2f7bca550 5884 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5885 }
Azure.IoT Build 0:6ae2f7bca550 5886 }
Azure.IoT Build 0:6ae2f7bca550 5887 }
Azure.IoT Build 0:6ae2f7bca550 5888
Azure.IoT Build 0:6ae2f7bca550 5889 return result;
Azure.IoT Build 0:6ae2f7bca550 5890 }
Azure.IoT Build 0:6ae2f7bca550 5891
Azure.IoT Build 0:6ae2f7bca550 5892 int transfer_set_resume(TRANSFER_HANDLE transfer, bool resume_value)
Azure.IoT Build 0:6ae2f7bca550 5893 {
Azure.IoT Build 0:6ae2f7bca550 5894 int result;
Azure.IoT Build 0:6ae2f7bca550 5895
Azure.IoT Build 0:6ae2f7bca550 5896 if (transfer == NULL)
Azure.IoT Build 0:6ae2f7bca550 5897 {
AzureIoTClient 19:000ab4e6a2c1 5898 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5899 }
Azure.IoT Build 0:6ae2f7bca550 5900 else
Azure.IoT Build 0:6ae2f7bca550 5901 {
Azure.IoT Build 0:6ae2f7bca550 5902 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 5903 AMQP_VALUE resume_amqp_value = amqpvalue_create_boolean(resume_value);
Azure.IoT Build 0:6ae2f7bca550 5904 if (resume_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5905 {
AzureIoTClient 19:000ab4e6a2c1 5906 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5907 }
Azure.IoT Build 0:6ae2f7bca550 5908 else
Azure.IoT Build 0:6ae2f7bca550 5909 {
Azure.IoT Build 0:6ae2f7bca550 5910 if (amqpvalue_set_composite_item(transfer_instance->composite_value, 8, resume_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 5911 {
AzureIoTClient 19:000ab4e6a2c1 5912 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5913 }
Azure.IoT Build 0:6ae2f7bca550 5914 else
Azure.IoT Build 0:6ae2f7bca550 5915 {
Azure.IoT Build 0:6ae2f7bca550 5916 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5917 }
Azure.IoT Build 0:6ae2f7bca550 5918
Azure.IoT Build 0:6ae2f7bca550 5919 amqpvalue_destroy(resume_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 5920 }
Azure.IoT Build 0:6ae2f7bca550 5921 }
Azure.IoT Build 0:6ae2f7bca550 5922
Azure.IoT Build 0:6ae2f7bca550 5923 return result;
Azure.IoT Build 0:6ae2f7bca550 5924 }
Azure.IoT Build 0:6ae2f7bca550 5925
Azure.IoT Build 0:6ae2f7bca550 5926 int transfer_get_aborted(TRANSFER_HANDLE transfer, bool* aborted_value)
Azure.IoT Build 0:6ae2f7bca550 5927 {
Azure.IoT Build 0:6ae2f7bca550 5928 int result;
Azure.IoT Build 0:6ae2f7bca550 5929
Azure.IoT Build 0:6ae2f7bca550 5930 if (transfer == NULL)
Azure.IoT Build 0:6ae2f7bca550 5931 {
AzureIoTClient 19:000ab4e6a2c1 5932 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5933 }
Azure.IoT Build 0:6ae2f7bca550 5934 else
Azure.IoT Build 0:6ae2f7bca550 5935 {
Azure.IoT Build 0:6ae2f7bca550 5936 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 5937 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(transfer_instance->composite_value, 9);
Azure.IoT Build 0:6ae2f7bca550 5938 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5939 {
AzureIoTClient 16:22a72cf8e416 5940 *aborted_value = false;
AzureIoTClient 16:22a72cf8e416 5941 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5942 }
Azure.IoT Build 0:6ae2f7bca550 5943 else
Azure.IoT Build 0:6ae2f7bca550 5944 {
Azure.IoT Build 0:6ae2f7bca550 5945 if (amqpvalue_get_boolean(item_value, aborted_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 5946 {
AzureIoTClient 16:22a72cf8e416 5947 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 5948 {
AzureIoTClient 19:000ab4e6a2c1 5949 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 5950 }
AzureIoTClient 16:22a72cf8e416 5951 else
AzureIoTClient 16:22a72cf8e416 5952 {
AzureIoTClient 16:22a72cf8e416 5953 *aborted_value = false;
AzureIoTClient 16:22a72cf8e416 5954 result = 0;
AzureIoTClient 16:22a72cf8e416 5955 }
Azure.IoT Build 0:6ae2f7bca550 5956 }
Azure.IoT Build 0:6ae2f7bca550 5957 else
Azure.IoT Build 0:6ae2f7bca550 5958 {
Azure.IoT Build 0:6ae2f7bca550 5959 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5960 }
Azure.IoT Build 0:6ae2f7bca550 5961 }
Azure.IoT Build 0:6ae2f7bca550 5962 }
Azure.IoT Build 0:6ae2f7bca550 5963
Azure.IoT Build 0:6ae2f7bca550 5964 return result;
Azure.IoT Build 0:6ae2f7bca550 5965 }
Azure.IoT Build 0:6ae2f7bca550 5966
Azure.IoT Build 0:6ae2f7bca550 5967 int transfer_set_aborted(TRANSFER_HANDLE transfer, bool aborted_value)
Azure.IoT Build 0:6ae2f7bca550 5968 {
Azure.IoT Build 0:6ae2f7bca550 5969 int result;
Azure.IoT Build 0:6ae2f7bca550 5970
Azure.IoT Build 0:6ae2f7bca550 5971 if (transfer == NULL)
Azure.IoT Build 0:6ae2f7bca550 5972 {
AzureIoTClient 19:000ab4e6a2c1 5973 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5974 }
Azure.IoT Build 0:6ae2f7bca550 5975 else
Azure.IoT Build 0:6ae2f7bca550 5976 {
Azure.IoT Build 0:6ae2f7bca550 5977 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 5978 AMQP_VALUE aborted_amqp_value = amqpvalue_create_boolean(aborted_value);
Azure.IoT Build 0:6ae2f7bca550 5979 if (aborted_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 5980 {
AzureIoTClient 19:000ab4e6a2c1 5981 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5982 }
Azure.IoT Build 0:6ae2f7bca550 5983 else
Azure.IoT Build 0:6ae2f7bca550 5984 {
Azure.IoT Build 0:6ae2f7bca550 5985 if (amqpvalue_set_composite_item(transfer_instance->composite_value, 9, aborted_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 5986 {
AzureIoTClient 19:000ab4e6a2c1 5987 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 5988 }
Azure.IoT Build 0:6ae2f7bca550 5989 else
Azure.IoT Build 0:6ae2f7bca550 5990 {
Azure.IoT Build 0:6ae2f7bca550 5991 result = 0;
Azure.IoT Build 0:6ae2f7bca550 5992 }
Azure.IoT Build 0:6ae2f7bca550 5993
Azure.IoT Build 0:6ae2f7bca550 5994 amqpvalue_destroy(aborted_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 5995 }
Azure.IoT Build 0:6ae2f7bca550 5996 }
Azure.IoT Build 0:6ae2f7bca550 5997
Azure.IoT Build 0:6ae2f7bca550 5998 return result;
Azure.IoT Build 0:6ae2f7bca550 5999 }
Azure.IoT Build 0:6ae2f7bca550 6000
Azure.IoT Build 0:6ae2f7bca550 6001 int transfer_get_batchable(TRANSFER_HANDLE transfer, bool* batchable_value)
Azure.IoT Build 0:6ae2f7bca550 6002 {
Azure.IoT Build 0:6ae2f7bca550 6003 int result;
Azure.IoT Build 0:6ae2f7bca550 6004
Azure.IoT Build 0:6ae2f7bca550 6005 if (transfer == NULL)
Azure.IoT Build 0:6ae2f7bca550 6006 {
AzureIoTClient 19:000ab4e6a2c1 6007 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6008 }
Azure.IoT Build 0:6ae2f7bca550 6009 else
Azure.IoT Build 0:6ae2f7bca550 6010 {
Azure.IoT Build 0:6ae2f7bca550 6011 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 6012 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(transfer_instance->composite_value, 10);
Azure.IoT Build 0:6ae2f7bca550 6013 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6014 {
AzureIoTClient 16:22a72cf8e416 6015 *batchable_value = false;
AzureIoTClient 16:22a72cf8e416 6016 result = 0;
Azure.IoT Build 0:6ae2f7bca550 6017 }
Azure.IoT Build 0:6ae2f7bca550 6018 else
Azure.IoT Build 0:6ae2f7bca550 6019 {
Azure.IoT Build 0:6ae2f7bca550 6020 if (amqpvalue_get_boolean(item_value, batchable_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 6021 {
AzureIoTClient 16:22a72cf8e416 6022 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 6023 {
AzureIoTClient 19:000ab4e6a2c1 6024 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 6025 }
AzureIoTClient 16:22a72cf8e416 6026 else
AzureIoTClient 16:22a72cf8e416 6027 {
AzureIoTClient 16:22a72cf8e416 6028 *batchable_value = false;
AzureIoTClient 16:22a72cf8e416 6029 result = 0;
AzureIoTClient 16:22a72cf8e416 6030 }
Azure.IoT Build 0:6ae2f7bca550 6031 }
Azure.IoT Build 0:6ae2f7bca550 6032 else
Azure.IoT Build 0:6ae2f7bca550 6033 {
Azure.IoT Build 0:6ae2f7bca550 6034 result = 0;
Azure.IoT Build 0:6ae2f7bca550 6035 }
Azure.IoT Build 0:6ae2f7bca550 6036 }
Azure.IoT Build 0:6ae2f7bca550 6037 }
Azure.IoT Build 0:6ae2f7bca550 6038
Azure.IoT Build 0:6ae2f7bca550 6039 return result;
Azure.IoT Build 0:6ae2f7bca550 6040 }
Azure.IoT Build 0:6ae2f7bca550 6041
Azure.IoT Build 0:6ae2f7bca550 6042 int transfer_set_batchable(TRANSFER_HANDLE transfer, bool batchable_value)
Azure.IoT Build 0:6ae2f7bca550 6043 {
Azure.IoT Build 0:6ae2f7bca550 6044 int result;
Azure.IoT Build 0:6ae2f7bca550 6045
Azure.IoT Build 0:6ae2f7bca550 6046 if (transfer == NULL)
Azure.IoT Build 0:6ae2f7bca550 6047 {
AzureIoTClient 19:000ab4e6a2c1 6048 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6049 }
Azure.IoT Build 0:6ae2f7bca550 6050 else
Azure.IoT Build 0:6ae2f7bca550 6051 {
Azure.IoT Build 0:6ae2f7bca550 6052 TRANSFER_INSTANCE* transfer_instance = (TRANSFER_INSTANCE*)transfer;
Azure.IoT Build 0:6ae2f7bca550 6053 AMQP_VALUE batchable_amqp_value = amqpvalue_create_boolean(batchable_value);
Azure.IoT Build 0:6ae2f7bca550 6054 if (batchable_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6055 {
AzureIoTClient 19:000ab4e6a2c1 6056 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6057 }
Azure.IoT Build 0:6ae2f7bca550 6058 else
Azure.IoT Build 0:6ae2f7bca550 6059 {
Azure.IoT Build 0:6ae2f7bca550 6060 if (amqpvalue_set_composite_item(transfer_instance->composite_value, 10, batchable_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 6061 {
AzureIoTClient 19:000ab4e6a2c1 6062 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6063 }
Azure.IoT Build 0:6ae2f7bca550 6064 else
Azure.IoT Build 0:6ae2f7bca550 6065 {
Azure.IoT Build 0:6ae2f7bca550 6066 result = 0;
Azure.IoT Build 0:6ae2f7bca550 6067 }
Azure.IoT Build 0:6ae2f7bca550 6068
Azure.IoT Build 0:6ae2f7bca550 6069 amqpvalue_destroy(batchable_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 6070 }
Azure.IoT Build 0:6ae2f7bca550 6071 }
Azure.IoT Build 0:6ae2f7bca550 6072
Azure.IoT Build 0:6ae2f7bca550 6073 return result;
Azure.IoT Build 0:6ae2f7bca550 6074 }
Azure.IoT Build 0:6ae2f7bca550 6075
Azure.IoT Build 0:6ae2f7bca550 6076
Azure.IoT Build 0:6ae2f7bca550 6077 /* disposition */
Azure.IoT Build 0:6ae2f7bca550 6078
Azure.IoT Build 0:6ae2f7bca550 6079 typedef struct DISPOSITION_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 6080 {
Azure.IoT Build 0:6ae2f7bca550 6081 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 6082 } DISPOSITION_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 6083
Azure.IoT Build 0:6ae2f7bca550 6084 static DISPOSITION_HANDLE disposition_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 6085 {
Azure.IoT Build 0:6ae2f7bca550 6086 DISPOSITION_INSTANCE* disposition_instance = (DISPOSITION_INSTANCE*)amqpalloc_malloc(sizeof(DISPOSITION_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 6087 if (disposition_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 6088 {
Azure.IoT Build 0:6ae2f7bca550 6089 disposition_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 6090 }
Azure.IoT Build 0:6ae2f7bca550 6091
Azure.IoT Build 0:6ae2f7bca550 6092 return disposition_instance;
Azure.IoT Build 0:6ae2f7bca550 6093 }
Azure.IoT Build 0:6ae2f7bca550 6094
Azure.IoT Build 0:6ae2f7bca550 6095 DISPOSITION_HANDLE disposition_create(role role_value, delivery_number first_value)
Azure.IoT Build 0:6ae2f7bca550 6096 {
Azure.IoT Build 0:6ae2f7bca550 6097 DISPOSITION_INSTANCE* disposition_instance = (DISPOSITION_INSTANCE*)amqpalloc_malloc(sizeof(DISPOSITION_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 6098 if (disposition_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 6099 {
Azure.IoT Build 0:6ae2f7bca550 6100 disposition_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(21);
Azure.IoT Build 0:6ae2f7bca550 6101 if (disposition_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6102 {
Azure.IoT Build 0:6ae2f7bca550 6103 amqpalloc_free(disposition_instance);
Azure.IoT Build 0:6ae2f7bca550 6104 disposition_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 6105 }
Azure.IoT Build 0:6ae2f7bca550 6106 else
Azure.IoT Build 0:6ae2f7bca550 6107 {
Azure.IoT Build 0:6ae2f7bca550 6108 AMQP_VALUE role_amqp_value;
Azure.IoT Build 0:6ae2f7bca550 6109 AMQP_VALUE first_amqp_value;
Azure.IoT Build 0:6ae2f7bca550 6110 int result = 0;
Azure.IoT Build 0:6ae2f7bca550 6111
Azure.IoT Build 0:6ae2f7bca550 6112 role_amqp_value = amqpvalue_create_role(role_value);
Azure.IoT Build 0:6ae2f7bca550 6113 if ((result == 0) && (amqpvalue_set_composite_item(disposition_instance->composite_value, 0, role_amqp_value) != 0))
Azure.IoT Build 0:6ae2f7bca550 6114 {
AzureIoTClient 19:000ab4e6a2c1 6115 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6116 }
Azure.IoT Build 0:6ae2f7bca550 6117 first_amqp_value = amqpvalue_create_delivery_number(first_value);
Azure.IoT Build 0:6ae2f7bca550 6118 if ((result == 0) && (amqpvalue_set_composite_item(disposition_instance->composite_value, 1, first_amqp_value) != 0))
Azure.IoT Build 0:6ae2f7bca550 6119 {
AzureIoTClient 19:000ab4e6a2c1 6120 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6121 }
Azure.IoT Build 0:6ae2f7bca550 6122
Azure.IoT Build 0:6ae2f7bca550 6123 amqpvalue_destroy(role_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 6124 amqpvalue_destroy(first_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 6125 }
Azure.IoT Build 0:6ae2f7bca550 6126 }
Azure.IoT Build 0:6ae2f7bca550 6127
Azure.IoT Build 0:6ae2f7bca550 6128 return disposition_instance;
Azure.IoT Build 0:6ae2f7bca550 6129 }
Azure.IoT Build 0:6ae2f7bca550 6130
Azure.IoT Build 0:6ae2f7bca550 6131 DISPOSITION_HANDLE disposition_clone(DISPOSITION_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 6132 {
Azure.IoT Build 0:6ae2f7bca550 6133 DISPOSITION_INSTANCE* disposition_instance = (DISPOSITION_INSTANCE*)amqpalloc_malloc(sizeof(DISPOSITION_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 6134 if (disposition_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 6135 {
Azure.IoT Build 0:6ae2f7bca550 6136 disposition_instance->composite_value = amqpvalue_clone(((DISPOSITION_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 6137 if (disposition_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6138 {
Azure.IoT Build 0:6ae2f7bca550 6139 amqpalloc_free(disposition_instance);
Azure.IoT Build 0:6ae2f7bca550 6140 disposition_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 6141 }
Azure.IoT Build 0:6ae2f7bca550 6142 }
Azure.IoT Build 0:6ae2f7bca550 6143
Azure.IoT Build 0:6ae2f7bca550 6144 return disposition_instance;
Azure.IoT Build 0:6ae2f7bca550 6145 }
Azure.IoT Build 0:6ae2f7bca550 6146
Azure.IoT Build 0:6ae2f7bca550 6147 void disposition_destroy(DISPOSITION_HANDLE disposition)
Azure.IoT Build 0:6ae2f7bca550 6148 {
Azure.IoT Build 0:6ae2f7bca550 6149 if (disposition != NULL)
Azure.IoT Build 0:6ae2f7bca550 6150 {
Azure.IoT Build 0:6ae2f7bca550 6151 DISPOSITION_INSTANCE* disposition_instance = (DISPOSITION_INSTANCE*)disposition;
Azure.IoT Build 0:6ae2f7bca550 6152 amqpvalue_destroy(disposition_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 6153 amqpalloc_free(disposition_instance);
Azure.IoT Build 0:6ae2f7bca550 6154 }
Azure.IoT Build 0:6ae2f7bca550 6155 }
Azure.IoT Build 0:6ae2f7bca550 6156
Azure.IoT Build 0:6ae2f7bca550 6157 AMQP_VALUE amqpvalue_create_disposition(DISPOSITION_HANDLE disposition)
Azure.IoT Build 0:6ae2f7bca550 6158 {
Azure.IoT Build 0:6ae2f7bca550 6159 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 6160
Azure.IoT Build 0:6ae2f7bca550 6161 if (disposition == NULL)
Azure.IoT Build 0:6ae2f7bca550 6162 {
Azure.IoT Build 0:6ae2f7bca550 6163 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 6164 }
Azure.IoT Build 0:6ae2f7bca550 6165 else
Azure.IoT Build 0:6ae2f7bca550 6166 {
Azure.IoT Build 0:6ae2f7bca550 6167 DISPOSITION_INSTANCE* disposition_instance = (DISPOSITION_INSTANCE*)disposition;
Azure.IoT Build 0:6ae2f7bca550 6168 result = amqpvalue_clone(disposition_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 6169 }
Azure.IoT Build 0:6ae2f7bca550 6170
Azure.IoT Build 0:6ae2f7bca550 6171 return result;
Azure.IoT Build 0:6ae2f7bca550 6172 }
Azure.IoT Build 0:6ae2f7bca550 6173
Azure.IoT Build 0:6ae2f7bca550 6174 bool is_disposition_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 6175 {
Azure.IoT Build 0:6ae2f7bca550 6176 bool result;
Azure.IoT Build 0:6ae2f7bca550 6177
Azure.IoT Build 0:6ae2f7bca550 6178 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 6179 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 6180 (descriptor_ulong == 21))
Azure.IoT Build 0:6ae2f7bca550 6181 {
Azure.IoT Build 0:6ae2f7bca550 6182 result = true;
Azure.IoT Build 0:6ae2f7bca550 6183 }
Azure.IoT Build 0:6ae2f7bca550 6184 else
Azure.IoT Build 0:6ae2f7bca550 6185 {
Azure.IoT Build 0:6ae2f7bca550 6186 result = false;
Azure.IoT Build 0:6ae2f7bca550 6187 }
Azure.IoT Build 0:6ae2f7bca550 6188
Azure.IoT Build 0:6ae2f7bca550 6189 return result;
Azure.IoT Build 0:6ae2f7bca550 6190 }
Azure.IoT Build 0:6ae2f7bca550 6191
Azure.IoT Build 0:6ae2f7bca550 6192
Azure.IoT Build 0:6ae2f7bca550 6193 int amqpvalue_get_disposition(AMQP_VALUE value, DISPOSITION_HANDLE* disposition_handle)
Azure.IoT Build 0:6ae2f7bca550 6194 {
Azure.IoT Build 0:6ae2f7bca550 6195 int result;
Azure.IoT Build 0:6ae2f7bca550 6196 DISPOSITION_INSTANCE* disposition_instance = (DISPOSITION_INSTANCE*)disposition_create_internal();
Azure.IoT Build 0:6ae2f7bca550 6197 *disposition_handle = disposition_instance;
Azure.IoT Build 0:6ae2f7bca550 6198 if (*disposition_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 6199 {
AzureIoTClient 19:000ab4e6a2c1 6200 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6201 }
Azure.IoT Build 0:6ae2f7bca550 6202 else
Azure.IoT Build 0:6ae2f7bca550 6203 {
Azure.IoT Build 0:6ae2f7bca550 6204 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 6205 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6206 {
Azure.IoT Build 0:6ae2f7bca550 6207 disposition_destroy(*disposition_handle);
AzureIoTClient 19:000ab4e6a2c1 6208 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6209 }
Azure.IoT Build 0:6ae2f7bca550 6210 else
Azure.IoT Build 0:6ae2f7bca550 6211 {
Azure.IoT Build 0:6ae2f7bca550 6212 do
Azure.IoT Build 0:6ae2f7bca550 6213 {
Azure.IoT Build 0:6ae2f7bca550 6214 AMQP_VALUE item_value;
Azure.IoT Build 0:6ae2f7bca550 6215 /* role */
Azure.IoT Build 0:6ae2f7bca550 6216 item_value = amqpvalue_get_list_item(list_value, 0);
Azure.IoT Build 0:6ae2f7bca550 6217 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6218 {
Azure.IoT Build 0:6ae2f7bca550 6219 {
Azure.IoT Build 0:6ae2f7bca550 6220 disposition_destroy(*disposition_handle);
AzureIoTClient 19:000ab4e6a2c1 6221 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6222 break;
Azure.IoT Build 0:6ae2f7bca550 6223 }
Azure.IoT Build 0:6ae2f7bca550 6224 }
Azure.IoT Build 0:6ae2f7bca550 6225 else
Azure.IoT Build 0:6ae2f7bca550 6226 {
Azure.IoT Build 0:6ae2f7bca550 6227 role role;
Azure.IoT Build 0:6ae2f7bca550 6228 if (amqpvalue_get_role(item_value, &role) != 0)
Azure.IoT Build 0:6ae2f7bca550 6229 {
Azure.IoT Build 0:6ae2f7bca550 6230 disposition_destroy(*disposition_handle);
AzureIoTClient 19:000ab4e6a2c1 6231 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6232 break;
Azure.IoT Build 0:6ae2f7bca550 6233 }
Azure.IoT Build 0:6ae2f7bca550 6234
Azure.IoT Build 0:6ae2f7bca550 6235 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 6236 }
Azure.IoT Build 0:6ae2f7bca550 6237 /* first */
Azure.IoT Build 0:6ae2f7bca550 6238 item_value = amqpvalue_get_list_item(list_value, 1);
Azure.IoT Build 0:6ae2f7bca550 6239 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6240 {
Azure.IoT Build 0:6ae2f7bca550 6241 {
Azure.IoT Build 0:6ae2f7bca550 6242 disposition_destroy(*disposition_handle);
AzureIoTClient 19:000ab4e6a2c1 6243 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6244 break;
Azure.IoT Build 0:6ae2f7bca550 6245 }
Azure.IoT Build 0:6ae2f7bca550 6246 }
Azure.IoT Build 0:6ae2f7bca550 6247 else
Azure.IoT Build 0:6ae2f7bca550 6248 {
Azure.IoT Build 0:6ae2f7bca550 6249 delivery_number first;
Azure.IoT Build 0:6ae2f7bca550 6250 if (amqpvalue_get_delivery_number(item_value, &first) != 0)
Azure.IoT Build 0:6ae2f7bca550 6251 {
Azure.IoT Build 0:6ae2f7bca550 6252 disposition_destroy(*disposition_handle);
AzureIoTClient 19:000ab4e6a2c1 6253 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6254 break;
Azure.IoT Build 0:6ae2f7bca550 6255 }
Azure.IoT Build 0:6ae2f7bca550 6256
Azure.IoT Build 0:6ae2f7bca550 6257 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 6258 }
Azure.IoT Build 0:6ae2f7bca550 6259 /* last */
Azure.IoT Build 0:6ae2f7bca550 6260 item_value = amqpvalue_get_list_item(list_value, 2);
Azure.IoT Build 0:6ae2f7bca550 6261 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6262 {
Azure.IoT Build 0:6ae2f7bca550 6263 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 6264 }
Azure.IoT Build 0:6ae2f7bca550 6265 else
Azure.IoT Build 0:6ae2f7bca550 6266 {
Azure.IoT Build 0:6ae2f7bca550 6267 delivery_number last;
Azure.IoT Build 0:6ae2f7bca550 6268 if (amqpvalue_get_delivery_number(item_value, &last) != 0)
Azure.IoT Build 0:6ae2f7bca550 6269 {
Azure.IoT Build 0:6ae2f7bca550 6270 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 6271 {
Azure.IoT Build 0:6ae2f7bca550 6272 disposition_destroy(*disposition_handle);
AzureIoTClient 19:000ab4e6a2c1 6273 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6274 break;
Azure.IoT Build 0:6ae2f7bca550 6275 }
Azure.IoT Build 0:6ae2f7bca550 6276 }
Azure.IoT Build 0:6ae2f7bca550 6277
Azure.IoT Build 0:6ae2f7bca550 6278 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 6279 }
Azure.IoT Build 0:6ae2f7bca550 6280 /* settled */
Azure.IoT Build 0:6ae2f7bca550 6281 item_value = amqpvalue_get_list_item(list_value, 3);
Azure.IoT Build 0:6ae2f7bca550 6282 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6283 {
Azure.IoT Build 0:6ae2f7bca550 6284 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 6285 }
Azure.IoT Build 0:6ae2f7bca550 6286 else
Azure.IoT Build 0:6ae2f7bca550 6287 {
Azure.IoT Build 0:6ae2f7bca550 6288 bool settled;
Azure.IoT Build 0:6ae2f7bca550 6289 if (amqpvalue_get_boolean(item_value, &settled) != 0)
Azure.IoT Build 0:6ae2f7bca550 6290 {
Azure.IoT Build 0:6ae2f7bca550 6291 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 6292 {
Azure.IoT Build 0:6ae2f7bca550 6293 disposition_destroy(*disposition_handle);
AzureIoTClient 19:000ab4e6a2c1 6294 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6295 break;
Azure.IoT Build 0:6ae2f7bca550 6296 }
Azure.IoT Build 0:6ae2f7bca550 6297 }
Azure.IoT Build 0:6ae2f7bca550 6298
Azure.IoT Build 0:6ae2f7bca550 6299 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 6300 }
Azure.IoT Build 0:6ae2f7bca550 6301 /* state */
Azure.IoT Build 0:6ae2f7bca550 6302 item_value = amqpvalue_get_list_item(list_value, 4);
Azure.IoT Build 0:6ae2f7bca550 6303 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6304 {
Azure.IoT Build 0:6ae2f7bca550 6305 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 6306 }
Azure.IoT Build 0:6ae2f7bca550 6307 else
Azure.IoT Build 0:6ae2f7bca550 6308 {
Azure.IoT Build 0:6ae2f7bca550 6309 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 6310 }
Azure.IoT Build 0:6ae2f7bca550 6311 /* batchable */
Azure.IoT Build 0:6ae2f7bca550 6312 item_value = amqpvalue_get_list_item(list_value, 5);
Azure.IoT Build 0:6ae2f7bca550 6313 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6314 {
Azure.IoT Build 0:6ae2f7bca550 6315 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 6316 }
Azure.IoT Build 0:6ae2f7bca550 6317 else
Azure.IoT Build 0:6ae2f7bca550 6318 {
Azure.IoT Build 0:6ae2f7bca550 6319 bool batchable;
Azure.IoT Build 0:6ae2f7bca550 6320 if (amqpvalue_get_boolean(item_value, &batchable) != 0)
Azure.IoT Build 0:6ae2f7bca550 6321 {
Azure.IoT Build 0:6ae2f7bca550 6322 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 6323 {
Azure.IoT Build 0:6ae2f7bca550 6324 disposition_destroy(*disposition_handle);
AzureIoTClient 19:000ab4e6a2c1 6325 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6326 break;
Azure.IoT Build 0:6ae2f7bca550 6327 }
Azure.IoT Build 0:6ae2f7bca550 6328 }
Azure.IoT Build 0:6ae2f7bca550 6329
Azure.IoT Build 0:6ae2f7bca550 6330 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 6331 }
Azure.IoT Build 0:6ae2f7bca550 6332
Azure.IoT Build 0:6ae2f7bca550 6333 disposition_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 6334
Azure.IoT Build 0:6ae2f7bca550 6335 result = 0;
Azure.IoT Build 0:6ae2f7bca550 6336 } while (0);
Azure.IoT Build 0:6ae2f7bca550 6337 }
Azure.IoT Build 0:6ae2f7bca550 6338 }
Azure.IoT Build 0:6ae2f7bca550 6339
Azure.IoT Build 0:6ae2f7bca550 6340 return result;
Azure.IoT Build 0:6ae2f7bca550 6341 }
Azure.IoT Build 0:6ae2f7bca550 6342
Azure.IoT Build 0:6ae2f7bca550 6343 int disposition_get_role(DISPOSITION_HANDLE disposition, role* role_value)
Azure.IoT Build 0:6ae2f7bca550 6344 {
Azure.IoT Build 0:6ae2f7bca550 6345 int result;
Azure.IoT Build 0:6ae2f7bca550 6346
Azure.IoT Build 0:6ae2f7bca550 6347 if (disposition == NULL)
Azure.IoT Build 0:6ae2f7bca550 6348 {
AzureIoTClient 19:000ab4e6a2c1 6349 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6350 }
Azure.IoT Build 0:6ae2f7bca550 6351 else
Azure.IoT Build 0:6ae2f7bca550 6352 {
Azure.IoT Build 0:6ae2f7bca550 6353 DISPOSITION_INSTANCE* disposition_instance = (DISPOSITION_INSTANCE*)disposition;
Azure.IoT Build 0:6ae2f7bca550 6354 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(disposition_instance->composite_value, 0);
Azure.IoT Build 0:6ae2f7bca550 6355 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6356 {
AzureIoTClient 19:000ab4e6a2c1 6357 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6358 }
Azure.IoT Build 0:6ae2f7bca550 6359 else
Azure.IoT Build 0:6ae2f7bca550 6360 {
Azure.IoT Build 0:6ae2f7bca550 6361 if (amqpvalue_get_role(item_value, role_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 6362 {
AzureIoTClient 19:000ab4e6a2c1 6363 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6364 }
Azure.IoT Build 0:6ae2f7bca550 6365 else
Azure.IoT Build 0:6ae2f7bca550 6366 {
Azure.IoT Build 0:6ae2f7bca550 6367 result = 0;
Azure.IoT Build 0:6ae2f7bca550 6368 }
Azure.IoT Build 0:6ae2f7bca550 6369 }
Azure.IoT Build 0:6ae2f7bca550 6370 }
Azure.IoT Build 0:6ae2f7bca550 6371
Azure.IoT Build 0:6ae2f7bca550 6372 return result;
Azure.IoT Build 0:6ae2f7bca550 6373 }
Azure.IoT Build 0:6ae2f7bca550 6374
Azure.IoT Build 0:6ae2f7bca550 6375 int disposition_set_role(DISPOSITION_HANDLE disposition, role role_value)
Azure.IoT Build 0:6ae2f7bca550 6376 {
Azure.IoT Build 0:6ae2f7bca550 6377 int result;
Azure.IoT Build 0:6ae2f7bca550 6378
Azure.IoT Build 0:6ae2f7bca550 6379 if (disposition == NULL)
Azure.IoT Build 0:6ae2f7bca550 6380 {
AzureIoTClient 19:000ab4e6a2c1 6381 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6382 }
Azure.IoT Build 0:6ae2f7bca550 6383 else
Azure.IoT Build 0:6ae2f7bca550 6384 {
Azure.IoT Build 0:6ae2f7bca550 6385 DISPOSITION_INSTANCE* disposition_instance = (DISPOSITION_INSTANCE*)disposition;
Azure.IoT Build 0:6ae2f7bca550 6386 AMQP_VALUE role_amqp_value = amqpvalue_create_role(role_value);
Azure.IoT Build 0:6ae2f7bca550 6387 if (role_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6388 {
AzureIoTClient 19:000ab4e6a2c1 6389 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6390 }
Azure.IoT Build 0:6ae2f7bca550 6391 else
Azure.IoT Build 0:6ae2f7bca550 6392 {
Azure.IoT Build 0:6ae2f7bca550 6393 if (amqpvalue_set_composite_item(disposition_instance->composite_value, 0, role_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 6394 {
AzureIoTClient 19:000ab4e6a2c1 6395 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6396 }
Azure.IoT Build 0:6ae2f7bca550 6397 else
Azure.IoT Build 0:6ae2f7bca550 6398 {
Azure.IoT Build 0:6ae2f7bca550 6399 result = 0;
Azure.IoT Build 0:6ae2f7bca550 6400 }
Azure.IoT Build 0:6ae2f7bca550 6401
Azure.IoT Build 0:6ae2f7bca550 6402 amqpvalue_destroy(role_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 6403 }
Azure.IoT Build 0:6ae2f7bca550 6404 }
Azure.IoT Build 0:6ae2f7bca550 6405
Azure.IoT Build 0:6ae2f7bca550 6406 return result;
Azure.IoT Build 0:6ae2f7bca550 6407 }
Azure.IoT Build 0:6ae2f7bca550 6408
Azure.IoT Build 0:6ae2f7bca550 6409 int disposition_get_first(DISPOSITION_HANDLE disposition, delivery_number* first_value)
Azure.IoT Build 0:6ae2f7bca550 6410 {
Azure.IoT Build 0:6ae2f7bca550 6411 int result;
Azure.IoT Build 0:6ae2f7bca550 6412
Azure.IoT Build 0:6ae2f7bca550 6413 if (disposition == NULL)
Azure.IoT Build 0:6ae2f7bca550 6414 {
AzureIoTClient 19:000ab4e6a2c1 6415 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6416 }
Azure.IoT Build 0:6ae2f7bca550 6417 else
Azure.IoT Build 0:6ae2f7bca550 6418 {
Azure.IoT Build 0:6ae2f7bca550 6419 DISPOSITION_INSTANCE* disposition_instance = (DISPOSITION_INSTANCE*)disposition;
Azure.IoT Build 0:6ae2f7bca550 6420 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(disposition_instance->composite_value, 1);
Azure.IoT Build 0:6ae2f7bca550 6421 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6422 {
AzureIoTClient 19:000ab4e6a2c1 6423 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6424 }
Azure.IoT Build 0:6ae2f7bca550 6425 else
Azure.IoT Build 0:6ae2f7bca550 6426 {
Azure.IoT Build 0:6ae2f7bca550 6427 if (amqpvalue_get_delivery_number(item_value, first_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 6428 {
AzureIoTClient 19:000ab4e6a2c1 6429 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6430 }
Azure.IoT Build 0:6ae2f7bca550 6431 else
Azure.IoT Build 0:6ae2f7bca550 6432 {
Azure.IoT Build 0:6ae2f7bca550 6433 result = 0;
Azure.IoT Build 0:6ae2f7bca550 6434 }
Azure.IoT Build 0:6ae2f7bca550 6435 }
Azure.IoT Build 0:6ae2f7bca550 6436 }
Azure.IoT Build 0:6ae2f7bca550 6437
Azure.IoT Build 0:6ae2f7bca550 6438 return result;
Azure.IoT Build 0:6ae2f7bca550 6439 }
Azure.IoT Build 0:6ae2f7bca550 6440
Azure.IoT Build 0:6ae2f7bca550 6441 int disposition_set_first(DISPOSITION_HANDLE disposition, delivery_number first_value)
Azure.IoT Build 0:6ae2f7bca550 6442 {
Azure.IoT Build 0:6ae2f7bca550 6443 int result;
Azure.IoT Build 0:6ae2f7bca550 6444
Azure.IoT Build 0:6ae2f7bca550 6445 if (disposition == NULL)
Azure.IoT Build 0:6ae2f7bca550 6446 {
AzureIoTClient 19:000ab4e6a2c1 6447 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6448 }
Azure.IoT Build 0:6ae2f7bca550 6449 else
Azure.IoT Build 0:6ae2f7bca550 6450 {
Azure.IoT Build 0:6ae2f7bca550 6451 DISPOSITION_INSTANCE* disposition_instance = (DISPOSITION_INSTANCE*)disposition;
Azure.IoT Build 0:6ae2f7bca550 6452 AMQP_VALUE first_amqp_value = amqpvalue_create_delivery_number(first_value);
Azure.IoT Build 0:6ae2f7bca550 6453 if (first_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6454 {
AzureIoTClient 19:000ab4e6a2c1 6455 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6456 }
Azure.IoT Build 0:6ae2f7bca550 6457 else
Azure.IoT Build 0:6ae2f7bca550 6458 {
Azure.IoT Build 0:6ae2f7bca550 6459 if (amqpvalue_set_composite_item(disposition_instance->composite_value, 1, first_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 6460 {
AzureIoTClient 19:000ab4e6a2c1 6461 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6462 }
Azure.IoT Build 0:6ae2f7bca550 6463 else
Azure.IoT Build 0:6ae2f7bca550 6464 {
Azure.IoT Build 0:6ae2f7bca550 6465 result = 0;
Azure.IoT Build 0:6ae2f7bca550 6466 }
Azure.IoT Build 0:6ae2f7bca550 6467
Azure.IoT Build 0:6ae2f7bca550 6468 amqpvalue_destroy(first_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 6469 }
Azure.IoT Build 0:6ae2f7bca550 6470 }
Azure.IoT Build 0:6ae2f7bca550 6471
Azure.IoT Build 0:6ae2f7bca550 6472 return result;
Azure.IoT Build 0:6ae2f7bca550 6473 }
Azure.IoT Build 0:6ae2f7bca550 6474
Azure.IoT Build 0:6ae2f7bca550 6475 int disposition_get_last(DISPOSITION_HANDLE disposition, delivery_number* last_value)
Azure.IoT Build 0:6ae2f7bca550 6476 {
Azure.IoT Build 0:6ae2f7bca550 6477 int result;
Azure.IoT Build 0:6ae2f7bca550 6478
Azure.IoT Build 0:6ae2f7bca550 6479 if (disposition == NULL)
Azure.IoT Build 0:6ae2f7bca550 6480 {
AzureIoTClient 19:000ab4e6a2c1 6481 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6482 }
Azure.IoT Build 0:6ae2f7bca550 6483 else
Azure.IoT Build 0:6ae2f7bca550 6484 {
Azure.IoT Build 0:6ae2f7bca550 6485 DISPOSITION_INSTANCE* disposition_instance = (DISPOSITION_INSTANCE*)disposition;
Azure.IoT Build 0:6ae2f7bca550 6486 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(disposition_instance->composite_value, 2);
Azure.IoT Build 0:6ae2f7bca550 6487 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6488 {
AzureIoTClient 19:000ab4e6a2c1 6489 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6490 }
Azure.IoT Build 0:6ae2f7bca550 6491 else
Azure.IoT Build 0:6ae2f7bca550 6492 {
Azure.IoT Build 0:6ae2f7bca550 6493 if (amqpvalue_get_delivery_number(item_value, last_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 6494 {
AzureIoTClient 19:000ab4e6a2c1 6495 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6496 }
Azure.IoT Build 0:6ae2f7bca550 6497 else
Azure.IoT Build 0:6ae2f7bca550 6498 {
Azure.IoT Build 0:6ae2f7bca550 6499 result = 0;
Azure.IoT Build 0:6ae2f7bca550 6500 }
Azure.IoT Build 0:6ae2f7bca550 6501 }
Azure.IoT Build 0:6ae2f7bca550 6502 }
Azure.IoT Build 0:6ae2f7bca550 6503
Azure.IoT Build 0:6ae2f7bca550 6504 return result;
Azure.IoT Build 0:6ae2f7bca550 6505 }
Azure.IoT Build 0:6ae2f7bca550 6506
Azure.IoT Build 0:6ae2f7bca550 6507 int disposition_set_last(DISPOSITION_HANDLE disposition, delivery_number last_value)
Azure.IoT Build 0:6ae2f7bca550 6508 {
Azure.IoT Build 0:6ae2f7bca550 6509 int result;
Azure.IoT Build 0:6ae2f7bca550 6510
Azure.IoT Build 0:6ae2f7bca550 6511 if (disposition == NULL)
Azure.IoT Build 0:6ae2f7bca550 6512 {
AzureIoTClient 19:000ab4e6a2c1 6513 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6514 }
Azure.IoT Build 0:6ae2f7bca550 6515 else
Azure.IoT Build 0:6ae2f7bca550 6516 {
Azure.IoT Build 0:6ae2f7bca550 6517 DISPOSITION_INSTANCE* disposition_instance = (DISPOSITION_INSTANCE*)disposition;
Azure.IoT Build 0:6ae2f7bca550 6518 AMQP_VALUE last_amqp_value = amqpvalue_create_delivery_number(last_value);
Azure.IoT Build 0:6ae2f7bca550 6519 if (last_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6520 {
AzureIoTClient 19:000ab4e6a2c1 6521 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6522 }
Azure.IoT Build 0:6ae2f7bca550 6523 else
Azure.IoT Build 0:6ae2f7bca550 6524 {
Azure.IoT Build 0:6ae2f7bca550 6525 if (amqpvalue_set_composite_item(disposition_instance->composite_value, 2, last_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 6526 {
AzureIoTClient 19:000ab4e6a2c1 6527 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6528 }
Azure.IoT Build 0:6ae2f7bca550 6529 else
Azure.IoT Build 0:6ae2f7bca550 6530 {
Azure.IoT Build 0:6ae2f7bca550 6531 result = 0;
Azure.IoT Build 0:6ae2f7bca550 6532 }
Azure.IoT Build 0:6ae2f7bca550 6533
Azure.IoT Build 0:6ae2f7bca550 6534 amqpvalue_destroy(last_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 6535 }
Azure.IoT Build 0:6ae2f7bca550 6536 }
Azure.IoT Build 0:6ae2f7bca550 6537
Azure.IoT Build 0:6ae2f7bca550 6538 return result;
Azure.IoT Build 0:6ae2f7bca550 6539 }
Azure.IoT Build 0:6ae2f7bca550 6540
Azure.IoT Build 0:6ae2f7bca550 6541 int disposition_get_settled(DISPOSITION_HANDLE disposition, bool* settled_value)
Azure.IoT Build 0:6ae2f7bca550 6542 {
Azure.IoT Build 0:6ae2f7bca550 6543 int result;
Azure.IoT Build 0:6ae2f7bca550 6544
Azure.IoT Build 0:6ae2f7bca550 6545 if (disposition == NULL)
Azure.IoT Build 0:6ae2f7bca550 6546 {
AzureIoTClient 19:000ab4e6a2c1 6547 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6548 }
Azure.IoT Build 0:6ae2f7bca550 6549 else
Azure.IoT Build 0:6ae2f7bca550 6550 {
Azure.IoT Build 0:6ae2f7bca550 6551 DISPOSITION_INSTANCE* disposition_instance = (DISPOSITION_INSTANCE*)disposition;
Azure.IoT Build 0:6ae2f7bca550 6552 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(disposition_instance->composite_value, 3);
Azure.IoT Build 0:6ae2f7bca550 6553 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6554 {
AzureIoTClient 16:22a72cf8e416 6555 *settled_value = false;
AzureIoTClient 16:22a72cf8e416 6556 result = 0;
Azure.IoT Build 0:6ae2f7bca550 6557 }
Azure.IoT Build 0:6ae2f7bca550 6558 else
Azure.IoT Build 0:6ae2f7bca550 6559 {
Azure.IoT Build 0:6ae2f7bca550 6560 if (amqpvalue_get_boolean(item_value, settled_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 6561 {
AzureIoTClient 16:22a72cf8e416 6562 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 6563 {
AzureIoTClient 19:000ab4e6a2c1 6564 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 6565 }
AzureIoTClient 16:22a72cf8e416 6566 else
AzureIoTClient 16:22a72cf8e416 6567 {
AzureIoTClient 16:22a72cf8e416 6568 *settled_value = false;
AzureIoTClient 16:22a72cf8e416 6569 result = 0;
AzureIoTClient 16:22a72cf8e416 6570 }
Azure.IoT Build 0:6ae2f7bca550 6571 }
Azure.IoT Build 0:6ae2f7bca550 6572 else
Azure.IoT Build 0:6ae2f7bca550 6573 {
Azure.IoT Build 0:6ae2f7bca550 6574 result = 0;
Azure.IoT Build 0:6ae2f7bca550 6575 }
Azure.IoT Build 0:6ae2f7bca550 6576 }
Azure.IoT Build 0:6ae2f7bca550 6577 }
Azure.IoT Build 0:6ae2f7bca550 6578
Azure.IoT Build 0:6ae2f7bca550 6579 return result;
Azure.IoT Build 0:6ae2f7bca550 6580 }
Azure.IoT Build 0:6ae2f7bca550 6581
Azure.IoT Build 0:6ae2f7bca550 6582 int disposition_set_settled(DISPOSITION_HANDLE disposition, bool settled_value)
Azure.IoT Build 0:6ae2f7bca550 6583 {
Azure.IoT Build 0:6ae2f7bca550 6584 int result;
Azure.IoT Build 0:6ae2f7bca550 6585
Azure.IoT Build 0:6ae2f7bca550 6586 if (disposition == NULL)
Azure.IoT Build 0:6ae2f7bca550 6587 {
AzureIoTClient 19:000ab4e6a2c1 6588 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6589 }
Azure.IoT Build 0:6ae2f7bca550 6590 else
Azure.IoT Build 0:6ae2f7bca550 6591 {
Azure.IoT Build 0:6ae2f7bca550 6592 DISPOSITION_INSTANCE* disposition_instance = (DISPOSITION_INSTANCE*)disposition;
Azure.IoT Build 0:6ae2f7bca550 6593 AMQP_VALUE settled_amqp_value = amqpvalue_create_boolean(settled_value);
Azure.IoT Build 0:6ae2f7bca550 6594 if (settled_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6595 {
AzureIoTClient 19:000ab4e6a2c1 6596 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6597 }
Azure.IoT Build 0:6ae2f7bca550 6598 else
Azure.IoT Build 0:6ae2f7bca550 6599 {
Azure.IoT Build 0:6ae2f7bca550 6600 if (amqpvalue_set_composite_item(disposition_instance->composite_value, 3, settled_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 6601 {
AzureIoTClient 19:000ab4e6a2c1 6602 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6603 }
Azure.IoT Build 0:6ae2f7bca550 6604 else
Azure.IoT Build 0:6ae2f7bca550 6605 {
Azure.IoT Build 0:6ae2f7bca550 6606 result = 0;
Azure.IoT Build 0:6ae2f7bca550 6607 }
Azure.IoT Build 0:6ae2f7bca550 6608
Azure.IoT Build 0:6ae2f7bca550 6609 amqpvalue_destroy(settled_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 6610 }
Azure.IoT Build 0:6ae2f7bca550 6611 }
Azure.IoT Build 0:6ae2f7bca550 6612
Azure.IoT Build 0:6ae2f7bca550 6613 return result;
Azure.IoT Build 0:6ae2f7bca550 6614 }
Azure.IoT Build 0:6ae2f7bca550 6615
Azure.IoT Build 0:6ae2f7bca550 6616 int disposition_get_state(DISPOSITION_HANDLE disposition, AMQP_VALUE* state_value)
Azure.IoT Build 0:6ae2f7bca550 6617 {
Azure.IoT Build 0:6ae2f7bca550 6618 int result;
Azure.IoT Build 0:6ae2f7bca550 6619
Azure.IoT Build 0:6ae2f7bca550 6620 if (disposition == NULL)
Azure.IoT Build 0:6ae2f7bca550 6621 {
AzureIoTClient 19:000ab4e6a2c1 6622 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6623 }
Azure.IoT Build 0:6ae2f7bca550 6624 else
Azure.IoT Build 0:6ae2f7bca550 6625 {
Azure.IoT Build 0:6ae2f7bca550 6626 DISPOSITION_INSTANCE* disposition_instance = (DISPOSITION_INSTANCE*)disposition;
Azure.IoT Build 0:6ae2f7bca550 6627 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(disposition_instance->composite_value, 4);
Azure.IoT Build 0:6ae2f7bca550 6628 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6629 {
AzureIoTClient 19:000ab4e6a2c1 6630 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6631 }
Azure.IoT Build 0:6ae2f7bca550 6632 else
Azure.IoT Build 0:6ae2f7bca550 6633 {
Azure.IoT Build 0:6ae2f7bca550 6634 *state_value = item_value;
Azure.IoT Build 0:6ae2f7bca550 6635 result = 0;
Azure.IoT Build 0:6ae2f7bca550 6636 }
Azure.IoT Build 0:6ae2f7bca550 6637 }
Azure.IoT Build 0:6ae2f7bca550 6638
Azure.IoT Build 0:6ae2f7bca550 6639 return result;
Azure.IoT Build 0:6ae2f7bca550 6640 }
Azure.IoT Build 0:6ae2f7bca550 6641
Azure.IoT Build 0:6ae2f7bca550 6642 int disposition_set_state(DISPOSITION_HANDLE disposition, AMQP_VALUE state_value)
Azure.IoT Build 0:6ae2f7bca550 6643 {
Azure.IoT Build 0:6ae2f7bca550 6644 int result;
Azure.IoT Build 0:6ae2f7bca550 6645
Azure.IoT Build 0:6ae2f7bca550 6646 if (disposition == NULL)
Azure.IoT Build 0:6ae2f7bca550 6647 {
AzureIoTClient 19:000ab4e6a2c1 6648 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6649 }
Azure.IoT Build 0:6ae2f7bca550 6650 else
Azure.IoT Build 0:6ae2f7bca550 6651 {
Azure.IoT Build 0:6ae2f7bca550 6652 DISPOSITION_INSTANCE* disposition_instance = (DISPOSITION_INSTANCE*)disposition;
Azure.IoT Build 0:6ae2f7bca550 6653 AMQP_VALUE state_amqp_value = amqpvalue_clone(state_value);
Azure.IoT Build 0:6ae2f7bca550 6654 if (state_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6655 {
AzureIoTClient 19:000ab4e6a2c1 6656 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6657 }
Azure.IoT Build 0:6ae2f7bca550 6658 else
Azure.IoT Build 0:6ae2f7bca550 6659 {
Azure.IoT Build 0:6ae2f7bca550 6660 if (amqpvalue_set_composite_item(disposition_instance->composite_value, 4, state_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 6661 {
AzureIoTClient 19:000ab4e6a2c1 6662 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6663 }
Azure.IoT Build 0:6ae2f7bca550 6664 else
Azure.IoT Build 0:6ae2f7bca550 6665 {
Azure.IoT Build 0:6ae2f7bca550 6666 result = 0;
Azure.IoT Build 0:6ae2f7bca550 6667 }
Azure.IoT Build 0:6ae2f7bca550 6668
Azure.IoT Build 0:6ae2f7bca550 6669 amqpvalue_destroy(state_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 6670 }
Azure.IoT Build 0:6ae2f7bca550 6671 }
Azure.IoT Build 0:6ae2f7bca550 6672
Azure.IoT Build 0:6ae2f7bca550 6673 return result;
Azure.IoT Build 0:6ae2f7bca550 6674 }
Azure.IoT Build 0:6ae2f7bca550 6675
Azure.IoT Build 0:6ae2f7bca550 6676 int disposition_get_batchable(DISPOSITION_HANDLE disposition, bool* batchable_value)
Azure.IoT Build 0:6ae2f7bca550 6677 {
Azure.IoT Build 0:6ae2f7bca550 6678 int result;
Azure.IoT Build 0:6ae2f7bca550 6679
Azure.IoT Build 0:6ae2f7bca550 6680 if (disposition == NULL)
Azure.IoT Build 0:6ae2f7bca550 6681 {
AzureIoTClient 19:000ab4e6a2c1 6682 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6683 }
Azure.IoT Build 0:6ae2f7bca550 6684 else
Azure.IoT Build 0:6ae2f7bca550 6685 {
Azure.IoT Build 0:6ae2f7bca550 6686 DISPOSITION_INSTANCE* disposition_instance = (DISPOSITION_INSTANCE*)disposition;
Azure.IoT Build 0:6ae2f7bca550 6687 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(disposition_instance->composite_value, 5);
Azure.IoT Build 0:6ae2f7bca550 6688 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6689 {
AzureIoTClient 16:22a72cf8e416 6690 *batchable_value = false;
AzureIoTClient 16:22a72cf8e416 6691 result = 0;
Azure.IoT Build 0:6ae2f7bca550 6692 }
Azure.IoT Build 0:6ae2f7bca550 6693 else
Azure.IoT Build 0:6ae2f7bca550 6694 {
Azure.IoT Build 0:6ae2f7bca550 6695 if (amqpvalue_get_boolean(item_value, batchable_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 6696 {
AzureIoTClient 16:22a72cf8e416 6697 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 6698 {
AzureIoTClient 19:000ab4e6a2c1 6699 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 6700 }
AzureIoTClient 16:22a72cf8e416 6701 else
AzureIoTClient 16:22a72cf8e416 6702 {
AzureIoTClient 16:22a72cf8e416 6703 *batchable_value = false;
AzureIoTClient 16:22a72cf8e416 6704 result = 0;
AzureIoTClient 16:22a72cf8e416 6705 }
Azure.IoT Build 0:6ae2f7bca550 6706 }
Azure.IoT Build 0:6ae2f7bca550 6707 else
Azure.IoT Build 0:6ae2f7bca550 6708 {
Azure.IoT Build 0:6ae2f7bca550 6709 result = 0;
Azure.IoT Build 0:6ae2f7bca550 6710 }
Azure.IoT Build 0:6ae2f7bca550 6711 }
Azure.IoT Build 0:6ae2f7bca550 6712 }
Azure.IoT Build 0:6ae2f7bca550 6713
Azure.IoT Build 0:6ae2f7bca550 6714 return result;
Azure.IoT Build 0:6ae2f7bca550 6715 }
Azure.IoT Build 0:6ae2f7bca550 6716
Azure.IoT Build 0:6ae2f7bca550 6717 int disposition_set_batchable(DISPOSITION_HANDLE disposition, bool batchable_value)
Azure.IoT Build 0:6ae2f7bca550 6718 {
Azure.IoT Build 0:6ae2f7bca550 6719 int result;
Azure.IoT Build 0:6ae2f7bca550 6720
Azure.IoT Build 0:6ae2f7bca550 6721 if (disposition == NULL)
Azure.IoT Build 0:6ae2f7bca550 6722 {
AzureIoTClient 19:000ab4e6a2c1 6723 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6724 }
Azure.IoT Build 0:6ae2f7bca550 6725 else
Azure.IoT Build 0:6ae2f7bca550 6726 {
Azure.IoT Build 0:6ae2f7bca550 6727 DISPOSITION_INSTANCE* disposition_instance = (DISPOSITION_INSTANCE*)disposition;
Azure.IoT Build 0:6ae2f7bca550 6728 AMQP_VALUE batchable_amqp_value = amqpvalue_create_boolean(batchable_value);
Azure.IoT Build 0:6ae2f7bca550 6729 if (batchable_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6730 {
AzureIoTClient 19:000ab4e6a2c1 6731 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6732 }
Azure.IoT Build 0:6ae2f7bca550 6733 else
Azure.IoT Build 0:6ae2f7bca550 6734 {
Azure.IoT Build 0:6ae2f7bca550 6735 if (amqpvalue_set_composite_item(disposition_instance->composite_value, 5, batchable_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 6736 {
AzureIoTClient 19:000ab4e6a2c1 6737 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6738 }
Azure.IoT Build 0:6ae2f7bca550 6739 else
Azure.IoT Build 0:6ae2f7bca550 6740 {
Azure.IoT Build 0:6ae2f7bca550 6741 result = 0;
Azure.IoT Build 0:6ae2f7bca550 6742 }
Azure.IoT Build 0:6ae2f7bca550 6743
Azure.IoT Build 0:6ae2f7bca550 6744 amqpvalue_destroy(batchable_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 6745 }
Azure.IoT Build 0:6ae2f7bca550 6746 }
Azure.IoT Build 0:6ae2f7bca550 6747
Azure.IoT Build 0:6ae2f7bca550 6748 return result;
Azure.IoT Build 0:6ae2f7bca550 6749 }
Azure.IoT Build 0:6ae2f7bca550 6750
Azure.IoT Build 0:6ae2f7bca550 6751
Azure.IoT Build 0:6ae2f7bca550 6752 /* detach */
Azure.IoT Build 0:6ae2f7bca550 6753
Azure.IoT Build 0:6ae2f7bca550 6754 typedef struct DETACH_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 6755 {
Azure.IoT Build 0:6ae2f7bca550 6756 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 6757 } DETACH_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 6758
Azure.IoT Build 0:6ae2f7bca550 6759 static DETACH_HANDLE detach_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 6760 {
Azure.IoT Build 0:6ae2f7bca550 6761 DETACH_INSTANCE* detach_instance = (DETACH_INSTANCE*)amqpalloc_malloc(sizeof(DETACH_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 6762 if (detach_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 6763 {
Azure.IoT Build 0:6ae2f7bca550 6764 detach_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 6765 }
Azure.IoT Build 0:6ae2f7bca550 6766
Azure.IoT Build 0:6ae2f7bca550 6767 return detach_instance;
Azure.IoT Build 0:6ae2f7bca550 6768 }
Azure.IoT Build 0:6ae2f7bca550 6769
Azure.IoT Build 0:6ae2f7bca550 6770 DETACH_HANDLE detach_create(handle handle_value)
Azure.IoT Build 0:6ae2f7bca550 6771 {
Azure.IoT Build 0:6ae2f7bca550 6772 DETACH_INSTANCE* detach_instance = (DETACH_INSTANCE*)amqpalloc_malloc(sizeof(DETACH_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 6773 if (detach_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 6774 {
Azure.IoT Build 0:6ae2f7bca550 6775 detach_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(22);
Azure.IoT Build 0:6ae2f7bca550 6776 if (detach_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6777 {
Azure.IoT Build 0:6ae2f7bca550 6778 amqpalloc_free(detach_instance);
Azure.IoT Build 0:6ae2f7bca550 6779 detach_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 6780 }
Azure.IoT Build 0:6ae2f7bca550 6781 else
Azure.IoT Build 0:6ae2f7bca550 6782 {
Azure.IoT Build 0:6ae2f7bca550 6783 AMQP_VALUE handle_amqp_value;
Azure.IoT Build 0:6ae2f7bca550 6784 int result = 0;
Azure.IoT Build 0:6ae2f7bca550 6785
Azure.IoT Build 0:6ae2f7bca550 6786 handle_amqp_value = amqpvalue_create_handle(handle_value);
Azure.IoT Build 0:6ae2f7bca550 6787 if ((result == 0) && (amqpvalue_set_composite_item(detach_instance->composite_value, 0, handle_amqp_value) != 0))
Azure.IoT Build 0:6ae2f7bca550 6788 {
AzureIoTClient 19:000ab4e6a2c1 6789 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6790 }
Azure.IoT Build 0:6ae2f7bca550 6791
Azure.IoT Build 0:6ae2f7bca550 6792 amqpvalue_destroy(handle_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 6793 }
Azure.IoT Build 0:6ae2f7bca550 6794 }
Azure.IoT Build 0:6ae2f7bca550 6795
Azure.IoT Build 0:6ae2f7bca550 6796 return detach_instance;
Azure.IoT Build 0:6ae2f7bca550 6797 }
Azure.IoT Build 0:6ae2f7bca550 6798
Azure.IoT Build 0:6ae2f7bca550 6799 DETACH_HANDLE detach_clone(DETACH_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 6800 {
Azure.IoT Build 0:6ae2f7bca550 6801 DETACH_INSTANCE* detach_instance = (DETACH_INSTANCE*)amqpalloc_malloc(sizeof(DETACH_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 6802 if (detach_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 6803 {
Azure.IoT Build 0:6ae2f7bca550 6804 detach_instance->composite_value = amqpvalue_clone(((DETACH_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 6805 if (detach_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6806 {
Azure.IoT Build 0:6ae2f7bca550 6807 amqpalloc_free(detach_instance);
Azure.IoT Build 0:6ae2f7bca550 6808 detach_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 6809 }
Azure.IoT Build 0:6ae2f7bca550 6810 }
Azure.IoT Build 0:6ae2f7bca550 6811
Azure.IoT Build 0:6ae2f7bca550 6812 return detach_instance;
Azure.IoT Build 0:6ae2f7bca550 6813 }
Azure.IoT Build 0:6ae2f7bca550 6814
Azure.IoT Build 0:6ae2f7bca550 6815 void detach_destroy(DETACH_HANDLE detach)
Azure.IoT Build 0:6ae2f7bca550 6816 {
Azure.IoT Build 0:6ae2f7bca550 6817 if (detach != NULL)
Azure.IoT Build 0:6ae2f7bca550 6818 {
Azure.IoT Build 0:6ae2f7bca550 6819 DETACH_INSTANCE* detach_instance = (DETACH_INSTANCE*)detach;
Azure.IoT Build 0:6ae2f7bca550 6820 amqpvalue_destroy(detach_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 6821 amqpalloc_free(detach_instance);
Azure.IoT Build 0:6ae2f7bca550 6822 }
Azure.IoT Build 0:6ae2f7bca550 6823 }
Azure.IoT Build 0:6ae2f7bca550 6824
Azure.IoT Build 0:6ae2f7bca550 6825 AMQP_VALUE amqpvalue_create_detach(DETACH_HANDLE detach)
Azure.IoT Build 0:6ae2f7bca550 6826 {
Azure.IoT Build 0:6ae2f7bca550 6827 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 6828
Azure.IoT Build 0:6ae2f7bca550 6829 if (detach == NULL)
Azure.IoT Build 0:6ae2f7bca550 6830 {
Azure.IoT Build 0:6ae2f7bca550 6831 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 6832 }
Azure.IoT Build 0:6ae2f7bca550 6833 else
Azure.IoT Build 0:6ae2f7bca550 6834 {
Azure.IoT Build 0:6ae2f7bca550 6835 DETACH_INSTANCE* detach_instance = (DETACH_INSTANCE*)detach;
Azure.IoT Build 0:6ae2f7bca550 6836 result = amqpvalue_clone(detach_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 6837 }
Azure.IoT Build 0:6ae2f7bca550 6838
Azure.IoT Build 0:6ae2f7bca550 6839 return result;
Azure.IoT Build 0:6ae2f7bca550 6840 }
Azure.IoT Build 0:6ae2f7bca550 6841
Azure.IoT Build 0:6ae2f7bca550 6842 bool is_detach_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 6843 {
Azure.IoT Build 0:6ae2f7bca550 6844 bool result;
Azure.IoT Build 0:6ae2f7bca550 6845
Azure.IoT Build 0:6ae2f7bca550 6846 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 6847 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 6848 (descriptor_ulong == 22))
Azure.IoT Build 0:6ae2f7bca550 6849 {
Azure.IoT Build 0:6ae2f7bca550 6850 result = true;
Azure.IoT Build 0:6ae2f7bca550 6851 }
Azure.IoT Build 0:6ae2f7bca550 6852 else
Azure.IoT Build 0:6ae2f7bca550 6853 {
Azure.IoT Build 0:6ae2f7bca550 6854 result = false;
Azure.IoT Build 0:6ae2f7bca550 6855 }
Azure.IoT Build 0:6ae2f7bca550 6856
Azure.IoT Build 0:6ae2f7bca550 6857 return result;
Azure.IoT Build 0:6ae2f7bca550 6858 }
Azure.IoT Build 0:6ae2f7bca550 6859
Azure.IoT Build 0:6ae2f7bca550 6860
Azure.IoT Build 0:6ae2f7bca550 6861 int amqpvalue_get_detach(AMQP_VALUE value, DETACH_HANDLE* detach_handle)
Azure.IoT Build 0:6ae2f7bca550 6862 {
Azure.IoT Build 0:6ae2f7bca550 6863 int result;
Azure.IoT Build 0:6ae2f7bca550 6864 DETACH_INSTANCE* detach_instance = (DETACH_INSTANCE*)detach_create_internal();
Azure.IoT Build 0:6ae2f7bca550 6865 *detach_handle = detach_instance;
Azure.IoT Build 0:6ae2f7bca550 6866 if (*detach_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 6867 {
AzureIoTClient 19:000ab4e6a2c1 6868 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6869 }
Azure.IoT Build 0:6ae2f7bca550 6870 else
Azure.IoT Build 0:6ae2f7bca550 6871 {
Azure.IoT Build 0:6ae2f7bca550 6872 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 6873 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6874 {
Azure.IoT Build 0:6ae2f7bca550 6875 detach_destroy(*detach_handle);
AzureIoTClient 19:000ab4e6a2c1 6876 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6877 }
Azure.IoT Build 0:6ae2f7bca550 6878 else
Azure.IoT Build 0:6ae2f7bca550 6879 {
Azure.IoT Build 0:6ae2f7bca550 6880 do
Azure.IoT Build 0:6ae2f7bca550 6881 {
Azure.IoT Build 0:6ae2f7bca550 6882 AMQP_VALUE item_value;
Azure.IoT Build 0:6ae2f7bca550 6883 /* handle */
Azure.IoT Build 0:6ae2f7bca550 6884 item_value = amqpvalue_get_list_item(list_value, 0);
Azure.IoT Build 0:6ae2f7bca550 6885 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6886 {
Azure.IoT Build 0:6ae2f7bca550 6887 {
Azure.IoT Build 0:6ae2f7bca550 6888 detach_destroy(*detach_handle);
AzureIoTClient 19:000ab4e6a2c1 6889 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6890 break;
Azure.IoT Build 0:6ae2f7bca550 6891 }
Azure.IoT Build 0:6ae2f7bca550 6892 }
Azure.IoT Build 0:6ae2f7bca550 6893 else
Azure.IoT Build 0:6ae2f7bca550 6894 {
Azure.IoT Build 0:6ae2f7bca550 6895 handle handle;
Azure.IoT Build 0:6ae2f7bca550 6896 if (amqpvalue_get_handle(item_value, &handle) != 0)
Azure.IoT Build 0:6ae2f7bca550 6897 {
Azure.IoT Build 0:6ae2f7bca550 6898 detach_destroy(*detach_handle);
AzureIoTClient 19:000ab4e6a2c1 6899 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6900 break;
Azure.IoT Build 0:6ae2f7bca550 6901 }
Azure.IoT Build 0:6ae2f7bca550 6902
Azure.IoT Build 0:6ae2f7bca550 6903 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 6904 }
Azure.IoT Build 0:6ae2f7bca550 6905 /* closed */
Azure.IoT Build 0:6ae2f7bca550 6906 item_value = amqpvalue_get_list_item(list_value, 1);
Azure.IoT Build 0:6ae2f7bca550 6907 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6908 {
Azure.IoT Build 0:6ae2f7bca550 6909 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 6910 }
Azure.IoT Build 0:6ae2f7bca550 6911 else
Azure.IoT Build 0:6ae2f7bca550 6912 {
Azure.IoT Build 0:6ae2f7bca550 6913 bool closed;
Azure.IoT Build 0:6ae2f7bca550 6914 if (amqpvalue_get_boolean(item_value, &closed) != 0)
Azure.IoT Build 0:6ae2f7bca550 6915 {
Azure.IoT Build 0:6ae2f7bca550 6916 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 6917 {
Azure.IoT Build 0:6ae2f7bca550 6918 detach_destroy(*detach_handle);
AzureIoTClient 19:000ab4e6a2c1 6919 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6920 break;
Azure.IoT Build 0:6ae2f7bca550 6921 }
Azure.IoT Build 0:6ae2f7bca550 6922 }
Azure.IoT Build 0:6ae2f7bca550 6923
Azure.IoT Build 0:6ae2f7bca550 6924 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 6925 }
Azure.IoT Build 0:6ae2f7bca550 6926 /* error */
Azure.IoT Build 0:6ae2f7bca550 6927 item_value = amqpvalue_get_list_item(list_value, 2);
Azure.IoT Build 0:6ae2f7bca550 6928 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6929 {
Azure.IoT Build 0:6ae2f7bca550 6930 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 6931 }
Azure.IoT Build 0:6ae2f7bca550 6932 else
Azure.IoT Build 0:6ae2f7bca550 6933 {
Azure.IoT Build 0:6ae2f7bca550 6934 ERROR_HANDLE error;
Azure.IoT Build 0:6ae2f7bca550 6935 if (amqpvalue_get_error(item_value, &error) != 0)
Azure.IoT Build 0:6ae2f7bca550 6936 {
Azure.IoT Build 0:6ae2f7bca550 6937 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 6938 {
Azure.IoT Build 0:6ae2f7bca550 6939 detach_destroy(*detach_handle);
AzureIoTClient 19:000ab4e6a2c1 6940 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6941 break;
Azure.IoT Build 0:6ae2f7bca550 6942 }
Azure.IoT Build 0:6ae2f7bca550 6943 }
Azure.IoT Build 0:6ae2f7bca550 6944
Azure.IoT Build 0:6ae2f7bca550 6945 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 6946 }
Azure.IoT Build 0:6ae2f7bca550 6947
Azure.IoT Build 0:6ae2f7bca550 6948 detach_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 6949
Azure.IoT Build 0:6ae2f7bca550 6950 result = 0;
Azure.IoT Build 0:6ae2f7bca550 6951 } while (0);
Azure.IoT Build 0:6ae2f7bca550 6952 }
Azure.IoT Build 0:6ae2f7bca550 6953 }
Azure.IoT Build 0:6ae2f7bca550 6954
Azure.IoT Build 0:6ae2f7bca550 6955 return result;
Azure.IoT Build 0:6ae2f7bca550 6956 }
Azure.IoT Build 0:6ae2f7bca550 6957
Azure.IoT Build 0:6ae2f7bca550 6958 int detach_get_handle(DETACH_HANDLE detach, handle* handle_value)
Azure.IoT Build 0:6ae2f7bca550 6959 {
Azure.IoT Build 0:6ae2f7bca550 6960 int result;
Azure.IoT Build 0:6ae2f7bca550 6961
Azure.IoT Build 0:6ae2f7bca550 6962 if (detach == NULL)
Azure.IoT Build 0:6ae2f7bca550 6963 {
AzureIoTClient 19:000ab4e6a2c1 6964 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6965 }
Azure.IoT Build 0:6ae2f7bca550 6966 else
Azure.IoT Build 0:6ae2f7bca550 6967 {
Azure.IoT Build 0:6ae2f7bca550 6968 DETACH_INSTANCE* detach_instance = (DETACH_INSTANCE*)detach;
Azure.IoT Build 0:6ae2f7bca550 6969 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(detach_instance->composite_value, 0);
Azure.IoT Build 0:6ae2f7bca550 6970 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 6971 {
AzureIoTClient 19:000ab4e6a2c1 6972 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6973 }
Azure.IoT Build 0:6ae2f7bca550 6974 else
Azure.IoT Build 0:6ae2f7bca550 6975 {
Azure.IoT Build 0:6ae2f7bca550 6976 if (amqpvalue_get_handle(item_value, handle_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 6977 {
AzureIoTClient 19:000ab4e6a2c1 6978 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6979 }
Azure.IoT Build 0:6ae2f7bca550 6980 else
Azure.IoT Build 0:6ae2f7bca550 6981 {
Azure.IoT Build 0:6ae2f7bca550 6982 result = 0;
Azure.IoT Build 0:6ae2f7bca550 6983 }
Azure.IoT Build 0:6ae2f7bca550 6984 }
Azure.IoT Build 0:6ae2f7bca550 6985 }
Azure.IoT Build 0:6ae2f7bca550 6986
Azure.IoT Build 0:6ae2f7bca550 6987 return result;
Azure.IoT Build 0:6ae2f7bca550 6988 }
Azure.IoT Build 0:6ae2f7bca550 6989
Azure.IoT Build 0:6ae2f7bca550 6990 int detach_set_handle(DETACH_HANDLE detach, handle handle_value)
Azure.IoT Build 0:6ae2f7bca550 6991 {
Azure.IoT Build 0:6ae2f7bca550 6992 int result;
Azure.IoT Build 0:6ae2f7bca550 6993
Azure.IoT Build 0:6ae2f7bca550 6994 if (detach == NULL)
Azure.IoT Build 0:6ae2f7bca550 6995 {
AzureIoTClient 19:000ab4e6a2c1 6996 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 6997 }
Azure.IoT Build 0:6ae2f7bca550 6998 else
Azure.IoT Build 0:6ae2f7bca550 6999 {
Azure.IoT Build 0:6ae2f7bca550 7000 DETACH_INSTANCE* detach_instance = (DETACH_INSTANCE*)detach;
Azure.IoT Build 0:6ae2f7bca550 7001 AMQP_VALUE handle_amqp_value = amqpvalue_create_handle(handle_value);
Azure.IoT Build 0:6ae2f7bca550 7002 if (handle_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7003 {
AzureIoTClient 19:000ab4e6a2c1 7004 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7005 }
Azure.IoT Build 0:6ae2f7bca550 7006 else
Azure.IoT Build 0:6ae2f7bca550 7007 {
Azure.IoT Build 0:6ae2f7bca550 7008 if (amqpvalue_set_composite_item(detach_instance->composite_value, 0, handle_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 7009 {
AzureIoTClient 19:000ab4e6a2c1 7010 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7011 }
Azure.IoT Build 0:6ae2f7bca550 7012 else
Azure.IoT Build 0:6ae2f7bca550 7013 {
Azure.IoT Build 0:6ae2f7bca550 7014 result = 0;
Azure.IoT Build 0:6ae2f7bca550 7015 }
Azure.IoT Build 0:6ae2f7bca550 7016
Azure.IoT Build 0:6ae2f7bca550 7017 amqpvalue_destroy(handle_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 7018 }
Azure.IoT Build 0:6ae2f7bca550 7019 }
Azure.IoT Build 0:6ae2f7bca550 7020
Azure.IoT Build 0:6ae2f7bca550 7021 return result;
Azure.IoT Build 0:6ae2f7bca550 7022 }
Azure.IoT Build 0:6ae2f7bca550 7023
Azure.IoT Build 0:6ae2f7bca550 7024 int detach_get_closed(DETACH_HANDLE detach, bool* closed_value)
Azure.IoT Build 0:6ae2f7bca550 7025 {
Azure.IoT Build 0:6ae2f7bca550 7026 int result;
Azure.IoT Build 0:6ae2f7bca550 7027
Azure.IoT Build 0:6ae2f7bca550 7028 if (detach == NULL)
Azure.IoT Build 0:6ae2f7bca550 7029 {
AzureIoTClient 19:000ab4e6a2c1 7030 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7031 }
Azure.IoT Build 0:6ae2f7bca550 7032 else
Azure.IoT Build 0:6ae2f7bca550 7033 {
Azure.IoT Build 0:6ae2f7bca550 7034 DETACH_INSTANCE* detach_instance = (DETACH_INSTANCE*)detach;
Azure.IoT Build 0:6ae2f7bca550 7035 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(detach_instance->composite_value, 1);
Azure.IoT Build 0:6ae2f7bca550 7036 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7037 {
AzureIoTClient 16:22a72cf8e416 7038 *closed_value = false;
AzureIoTClient 16:22a72cf8e416 7039 result = 0;
Azure.IoT Build 0:6ae2f7bca550 7040 }
Azure.IoT Build 0:6ae2f7bca550 7041 else
Azure.IoT Build 0:6ae2f7bca550 7042 {
Azure.IoT Build 0:6ae2f7bca550 7043 if (amqpvalue_get_boolean(item_value, closed_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 7044 {
AzureIoTClient 16:22a72cf8e416 7045 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 7046 {
AzureIoTClient 19:000ab4e6a2c1 7047 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 7048 }
AzureIoTClient 16:22a72cf8e416 7049 else
AzureIoTClient 16:22a72cf8e416 7050 {
AzureIoTClient 16:22a72cf8e416 7051 *closed_value = false;
AzureIoTClient 16:22a72cf8e416 7052 result = 0;
AzureIoTClient 16:22a72cf8e416 7053 }
Azure.IoT Build 0:6ae2f7bca550 7054 }
Azure.IoT Build 0:6ae2f7bca550 7055 else
Azure.IoT Build 0:6ae2f7bca550 7056 {
Azure.IoT Build 0:6ae2f7bca550 7057 result = 0;
Azure.IoT Build 0:6ae2f7bca550 7058 }
Azure.IoT Build 0:6ae2f7bca550 7059 }
Azure.IoT Build 0:6ae2f7bca550 7060 }
Azure.IoT Build 0:6ae2f7bca550 7061
Azure.IoT Build 0:6ae2f7bca550 7062 return result;
Azure.IoT Build 0:6ae2f7bca550 7063 }
Azure.IoT Build 0:6ae2f7bca550 7064
Azure.IoT Build 0:6ae2f7bca550 7065 int detach_set_closed(DETACH_HANDLE detach, bool closed_value)
Azure.IoT Build 0:6ae2f7bca550 7066 {
Azure.IoT Build 0:6ae2f7bca550 7067 int result;
Azure.IoT Build 0:6ae2f7bca550 7068
Azure.IoT Build 0:6ae2f7bca550 7069 if (detach == NULL)
Azure.IoT Build 0:6ae2f7bca550 7070 {
AzureIoTClient 19:000ab4e6a2c1 7071 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7072 }
Azure.IoT Build 0:6ae2f7bca550 7073 else
Azure.IoT Build 0:6ae2f7bca550 7074 {
Azure.IoT Build 0:6ae2f7bca550 7075 DETACH_INSTANCE* detach_instance = (DETACH_INSTANCE*)detach;
Azure.IoT Build 0:6ae2f7bca550 7076 AMQP_VALUE closed_amqp_value = amqpvalue_create_boolean(closed_value);
Azure.IoT Build 0:6ae2f7bca550 7077 if (closed_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7078 {
AzureIoTClient 19:000ab4e6a2c1 7079 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7080 }
Azure.IoT Build 0:6ae2f7bca550 7081 else
Azure.IoT Build 0:6ae2f7bca550 7082 {
Azure.IoT Build 0:6ae2f7bca550 7083 if (amqpvalue_set_composite_item(detach_instance->composite_value, 1, closed_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 7084 {
AzureIoTClient 19:000ab4e6a2c1 7085 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7086 }
Azure.IoT Build 0:6ae2f7bca550 7087 else
Azure.IoT Build 0:6ae2f7bca550 7088 {
Azure.IoT Build 0:6ae2f7bca550 7089 result = 0;
Azure.IoT Build 0:6ae2f7bca550 7090 }
Azure.IoT Build 0:6ae2f7bca550 7091
Azure.IoT Build 0:6ae2f7bca550 7092 amqpvalue_destroy(closed_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 7093 }
Azure.IoT Build 0:6ae2f7bca550 7094 }
Azure.IoT Build 0:6ae2f7bca550 7095
Azure.IoT Build 0:6ae2f7bca550 7096 return result;
Azure.IoT Build 0:6ae2f7bca550 7097 }
Azure.IoT Build 0:6ae2f7bca550 7098
Azure.IoT Build 0:6ae2f7bca550 7099 int detach_get_error(DETACH_HANDLE detach, ERROR_HANDLE* error_value)
Azure.IoT Build 0:6ae2f7bca550 7100 {
Azure.IoT Build 0:6ae2f7bca550 7101 int result;
Azure.IoT Build 0:6ae2f7bca550 7102
Azure.IoT Build 0:6ae2f7bca550 7103 if (detach == NULL)
Azure.IoT Build 0:6ae2f7bca550 7104 {
AzureIoTClient 19:000ab4e6a2c1 7105 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7106 }
Azure.IoT Build 0:6ae2f7bca550 7107 else
Azure.IoT Build 0:6ae2f7bca550 7108 {
Azure.IoT Build 0:6ae2f7bca550 7109 DETACH_INSTANCE* detach_instance = (DETACH_INSTANCE*)detach;
Azure.IoT Build 0:6ae2f7bca550 7110 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(detach_instance->composite_value, 2);
Azure.IoT Build 0:6ae2f7bca550 7111 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7112 {
AzureIoTClient 19:000ab4e6a2c1 7113 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7114 }
Azure.IoT Build 0:6ae2f7bca550 7115 else
Azure.IoT Build 0:6ae2f7bca550 7116 {
Azure.IoT Build 0:6ae2f7bca550 7117 if (amqpvalue_get_error(item_value, error_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 7118 {
AzureIoTClient 19:000ab4e6a2c1 7119 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7120 }
Azure.IoT Build 0:6ae2f7bca550 7121 else
Azure.IoT Build 0:6ae2f7bca550 7122 {
Azure.IoT Build 0:6ae2f7bca550 7123 result = 0;
Azure.IoT Build 0:6ae2f7bca550 7124 }
Azure.IoT Build 0:6ae2f7bca550 7125 }
Azure.IoT Build 0:6ae2f7bca550 7126 }
Azure.IoT Build 0:6ae2f7bca550 7127
Azure.IoT Build 0:6ae2f7bca550 7128 return result;
Azure.IoT Build 0:6ae2f7bca550 7129 }
Azure.IoT Build 0:6ae2f7bca550 7130
Azure.IoT Build 0:6ae2f7bca550 7131 int detach_set_error(DETACH_HANDLE detach, ERROR_HANDLE error_value)
Azure.IoT Build 0:6ae2f7bca550 7132 {
Azure.IoT Build 0:6ae2f7bca550 7133 int result;
Azure.IoT Build 0:6ae2f7bca550 7134
Azure.IoT Build 0:6ae2f7bca550 7135 if (detach == NULL)
Azure.IoT Build 0:6ae2f7bca550 7136 {
AzureIoTClient 19:000ab4e6a2c1 7137 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7138 }
Azure.IoT Build 0:6ae2f7bca550 7139 else
Azure.IoT Build 0:6ae2f7bca550 7140 {
Azure.IoT Build 0:6ae2f7bca550 7141 DETACH_INSTANCE* detach_instance = (DETACH_INSTANCE*)detach;
Azure.IoT Build 0:6ae2f7bca550 7142 AMQP_VALUE error_amqp_value = amqpvalue_create_error(error_value);
Azure.IoT Build 0:6ae2f7bca550 7143 if (error_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7144 {
AzureIoTClient 19:000ab4e6a2c1 7145 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7146 }
Azure.IoT Build 0:6ae2f7bca550 7147 else
Azure.IoT Build 0:6ae2f7bca550 7148 {
Azure.IoT Build 0:6ae2f7bca550 7149 if (amqpvalue_set_composite_item(detach_instance->composite_value, 2, error_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 7150 {
AzureIoTClient 19:000ab4e6a2c1 7151 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7152 }
Azure.IoT Build 0:6ae2f7bca550 7153 else
Azure.IoT Build 0:6ae2f7bca550 7154 {
Azure.IoT Build 0:6ae2f7bca550 7155 result = 0;
Azure.IoT Build 0:6ae2f7bca550 7156 }
Azure.IoT Build 0:6ae2f7bca550 7157
Azure.IoT Build 0:6ae2f7bca550 7158 amqpvalue_destroy(error_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 7159 }
Azure.IoT Build 0:6ae2f7bca550 7160 }
Azure.IoT Build 0:6ae2f7bca550 7161
Azure.IoT Build 0:6ae2f7bca550 7162 return result;
Azure.IoT Build 0:6ae2f7bca550 7163 }
Azure.IoT Build 0:6ae2f7bca550 7164
Azure.IoT Build 0:6ae2f7bca550 7165
Azure.IoT Build 0:6ae2f7bca550 7166 /* end */
Azure.IoT Build 0:6ae2f7bca550 7167
Azure.IoT Build 0:6ae2f7bca550 7168 typedef struct END_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 7169 {
Azure.IoT Build 0:6ae2f7bca550 7170 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 7171 } END_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 7172
Azure.IoT Build 0:6ae2f7bca550 7173 static END_HANDLE end_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 7174 {
Azure.IoT Build 0:6ae2f7bca550 7175 END_INSTANCE* end_instance = (END_INSTANCE*)amqpalloc_malloc(sizeof(END_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 7176 if (end_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 7177 {
Azure.IoT Build 0:6ae2f7bca550 7178 end_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 7179 }
Azure.IoT Build 0:6ae2f7bca550 7180
Azure.IoT Build 0:6ae2f7bca550 7181 return end_instance;
Azure.IoT Build 0:6ae2f7bca550 7182 }
Azure.IoT Build 0:6ae2f7bca550 7183
Azure.IoT Build 0:6ae2f7bca550 7184 END_HANDLE end_create(void)
Azure.IoT Build 0:6ae2f7bca550 7185 {
Azure.IoT Build 0:6ae2f7bca550 7186 END_INSTANCE* end_instance = (END_INSTANCE*)amqpalloc_malloc(sizeof(END_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 7187 if (end_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 7188 {
Azure.IoT Build 0:6ae2f7bca550 7189 end_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(23);
Azure.IoT Build 0:6ae2f7bca550 7190 if (end_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7191 {
Azure.IoT Build 0:6ae2f7bca550 7192 amqpalloc_free(end_instance);
Azure.IoT Build 0:6ae2f7bca550 7193 end_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 7194 }
Azure.IoT Build 0:6ae2f7bca550 7195 }
Azure.IoT Build 0:6ae2f7bca550 7196
Azure.IoT Build 0:6ae2f7bca550 7197 return end_instance;
Azure.IoT Build 0:6ae2f7bca550 7198 }
Azure.IoT Build 0:6ae2f7bca550 7199
Azure.IoT Build 0:6ae2f7bca550 7200 END_HANDLE end_clone(END_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 7201 {
Azure.IoT Build 0:6ae2f7bca550 7202 END_INSTANCE* end_instance = (END_INSTANCE*)amqpalloc_malloc(sizeof(END_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 7203 if (end_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 7204 {
Azure.IoT Build 0:6ae2f7bca550 7205 end_instance->composite_value = amqpvalue_clone(((END_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 7206 if (end_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7207 {
Azure.IoT Build 0:6ae2f7bca550 7208 amqpalloc_free(end_instance);
Azure.IoT Build 0:6ae2f7bca550 7209 end_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 7210 }
Azure.IoT Build 0:6ae2f7bca550 7211 }
Azure.IoT Build 0:6ae2f7bca550 7212
Azure.IoT Build 0:6ae2f7bca550 7213 return end_instance;
Azure.IoT Build 0:6ae2f7bca550 7214 }
Azure.IoT Build 0:6ae2f7bca550 7215
Azure.IoT Build 0:6ae2f7bca550 7216 void end_destroy(END_HANDLE end)
Azure.IoT Build 0:6ae2f7bca550 7217 {
Azure.IoT Build 0:6ae2f7bca550 7218 if (end != NULL)
Azure.IoT Build 0:6ae2f7bca550 7219 {
Azure.IoT Build 0:6ae2f7bca550 7220 END_INSTANCE* end_instance = (END_INSTANCE*)end;
Azure.IoT Build 0:6ae2f7bca550 7221 amqpvalue_destroy(end_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 7222 amqpalloc_free(end_instance);
Azure.IoT Build 0:6ae2f7bca550 7223 }
Azure.IoT Build 0:6ae2f7bca550 7224 }
Azure.IoT Build 0:6ae2f7bca550 7225
Azure.IoT Build 0:6ae2f7bca550 7226 AMQP_VALUE amqpvalue_create_end(END_HANDLE end)
Azure.IoT Build 0:6ae2f7bca550 7227 {
Azure.IoT Build 0:6ae2f7bca550 7228 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 7229
Azure.IoT Build 0:6ae2f7bca550 7230 if (end == NULL)
Azure.IoT Build 0:6ae2f7bca550 7231 {
Azure.IoT Build 0:6ae2f7bca550 7232 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 7233 }
Azure.IoT Build 0:6ae2f7bca550 7234 else
Azure.IoT Build 0:6ae2f7bca550 7235 {
Azure.IoT Build 0:6ae2f7bca550 7236 END_INSTANCE* end_instance = (END_INSTANCE*)end;
Azure.IoT Build 0:6ae2f7bca550 7237 result = amqpvalue_clone(end_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 7238 }
Azure.IoT Build 0:6ae2f7bca550 7239
Azure.IoT Build 0:6ae2f7bca550 7240 return result;
Azure.IoT Build 0:6ae2f7bca550 7241 }
Azure.IoT Build 0:6ae2f7bca550 7242
Azure.IoT Build 0:6ae2f7bca550 7243 bool is_end_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 7244 {
Azure.IoT Build 0:6ae2f7bca550 7245 bool result;
Azure.IoT Build 0:6ae2f7bca550 7246
Azure.IoT Build 0:6ae2f7bca550 7247 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 7248 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 7249 (descriptor_ulong == 23))
Azure.IoT Build 0:6ae2f7bca550 7250 {
Azure.IoT Build 0:6ae2f7bca550 7251 result = true;
Azure.IoT Build 0:6ae2f7bca550 7252 }
Azure.IoT Build 0:6ae2f7bca550 7253 else
Azure.IoT Build 0:6ae2f7bca550 7254 {
Azure.IoT Build 0:6ae2f7bca550 7255 result = false;
Azure.IoT Build 0:6ae2f7bca550 7256 }
Azure.IoT Build 0:6ae2f7bca550 7257
Azure.IoT Build 0:6ae2f7bca550 7258 return result;
Azure.IoT Build 0:6ae2f7bca550 7259 }
Azure.IoT Build 0:6ae2f7bca550 7260
Azure.IoT Build 0:6ae2f7bca550 7261
Azure.IoT Build 0:6ae2f7bca550 7262 int amqpvalue_get_end(AMQP_VALUE value, END_HANDLE* end_handle)
Azure.IoT Build 0:6ae2f7bca550 7263 {
Azure.IoT Build 0:6ae2f7bca550 7264 int result;
Azure.IoT Build 0:6ae2f7bca550 7265 END_INSTANCE* end_instance = (END_INSTANCE*)end_create_internal();
Azure.IoT Build 0:6ae2f7bca550 7266 *end_handle = end_instance;
Azure.IoT Build 0:6ae2f7bca550 7267 if (*end_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 7268 {
AzureIoTClient 19:000ab4e6a2c1 7269 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7270 }
Azure.IoT Build 0:6ae2f7bca550 7271 else
Azure.IoT Build 0:6ae2f7bca550 7272 {
Azure.IoT Build 0:6ae2f7bca550 7273 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 7274 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7275 {
Azure.IoT Build 0:6ae2f7bca550 7276 end_destroy(*end_handle);
AzureIoTClient 19:000ab4e6a2c1 7277 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7278 }
Azure.IoT Build 0:6ae2f7bca550 7279 else
Azure.IoT Build 0:6ae2f7bca550 7280 {
Azure.IoT Build 0:6ae2f7bca550 7281 do
Azure.IoT Build 0:6ae2f7bca550 7282 {
Azure.IoT Build 0:6ae2f7bca550 7283 AMQP_VALUE item_value;
Azure.IoT Build 0:6ae2f7bca550 7284 /* error */
Azure.IoT Build 0:6ae2f7bca550 7285 item_value = amqpvalue_get_list_item(list_value, 0);
Azure.IoT Build 0:6ae2f7bca550 7286 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7287 {
Azure.IoT Build 0:6ae2f7bca550 7288 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 7289 }
Azure.IoT Build 0:6ae2f7bca550 7290 else
Azure.IoT Build 0:6ae2f7bca550 7291 {
Azure.IoT Build 0:6ae2f7bca550 7292 ERROR_HANDLE error;
Azure.IoT Build 0:6ae2f7bca550 7293 if (amqpvalue_get_error(item_value, &error) != 0)
Azure.IoT Build 0:6ae2f7bca550 7294 {
Azure.IoT Build 0:6ae2f7bca550 7295 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 7296 {
Azure.IoT Build 0:6ae2f7bca550 7297 end_destroy(*end_handle);
AzureIoTClient 19:000ab4e6a2c1 7298 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7299 break;
Azure.IoT Build 0:6ae2f7bca550 7300 }
Azure.IoT Build 0:6ae2f7bca550 7301 }
Azure.IoT Build 0:6ae2f7bca550 7302
Azure.IoT Build 0:6ae2f7bca550 7303 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 7304 }
Azure.IoT Build 0:6ae2f7bca550 7305
Azure.IoT Build 0:6ae2f7bca550 7306 end_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 7307
Azure.IoT Build 0:6ae2f7bca550 7308 result = 0;
Azure.IoT Build 0:6ae2f7bca550 7309 } while (0);
Azure.IoT Build 0:6ae2f7bca550 7310 }
Azure.IoT Build 0:6ae2f7bca550 7311 }
Azure.IoT Build 0:6ae2f7bca550 7312
Azure.IoT Build 0:6ae2f7bca550 7313 return result;
Azure.IoT Build 0:6ae2f7bca550 7314 }
Azure.IoT Build 0:6ae2f7bca550 7315
Azure.IoT Build 0:6ae2f7bca550 7316 int end_get_error(END_HANDLE end, ERROR_HANDLE* error_value)
Azure.IoT Build 0:6ae2f7bca550 7317 {
Azure.IoT Build 0:6ae2f7bca550 7318 int result;
Azure.IoT Build 0:6ae2f7bca550 7319
Azure.IoT Build 0:6ae2f7bca550 7320 if (end == NULL)
Azure.IoT Build 0:6ae2f7bca550 7321 {
AzureIoTClient 19:000ab4e6a2c1 7322 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7323 }
Azure.IoT Build 0:6ae2f7bca550 7324 else
Azure.IoT Build 0:6ae2f7bca550 7325 {
Azure.IoT Build 0:6ae2f7bca550 7326 END_INSTANCE* end_instance = (END_INSTANCE*)end;
Azure.IoT Build 0:6ae2f7bca550 7327 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(end_instance->composite_value, 0);
Azure.IoT Build 0:6ae2f7bca550 7328 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7329 {
AzureIoTClient 19:000ab4e6a2c1 7330 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7331 }
Azure.IoT Build 0:6ae2f7bca550 7332 else
Azure.IoT Build 0:6ae2f7bca550 7333 {
Azure.IoT Build 0:6ae2f7bca550 7334 if (amqpvalue_get_error(item_value, error_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 7335 {
AzureIoTClient 19:000ab4e6a2c1 7336 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7337 }
Azure.IoT Build 0:6ae2f7bca550 7338 else
Azure.IoT Build 0:6ae2f7bca550 7339 {
Azure.IoT Build 0:6ae2f7bca550 7340 result = 0;
Azure.IoT Build 0:6ae2f7bca550 7341 }
Azure.IoT Build 0:6ae2f7bca550 7342 }
Azure.IoT Build 0:6ae2f7bca550 7343 }
Azure.IoT Build 0:6ae2f7bca550 7344
Azure.IoT Build 0:6ae2f7bca550 7345 return result;
Azure.IoT Build 0:6ae2f7bca550 7346 }
Azure.IoT Build 0:6ae2f7bca550 7347
Azure.IoT Build 0:6ae2f7bca550 7348 int end_set_error(END_HANDLE end, ERROR_HANDLE error_value)
Azure.IoT Build 0:6ae2f7bca550 7349 {
Azure.IoT Build 0:6ae2f7bca550 7350 int result;
Azure.IoT Build 0:6ae2f7bca550 7351
Azure.IoT Build 0:6ae2f7bca550 7352 if (end == NULL)
Azure.IoT Build 0:6ae2f7bca550 7353 {
AzureIoTClient 19:000ab4e6a2c1 7354 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7355 }
Azure.IoT Build 0:6ae2f7bca550 7356 else
Azure.IoT Build 0:6ae2f7bca550 7357 {
Azure.IoT Build 0:6ae2f7bca550 7358 END_INSTANCE* end_instance = (END_INSTANCE*)end;
Azure.IoT Build 0:6ae2f7bca550 7359 AMQP_VALUE error_amqp_value = amqpvalue_create_error(error_value);
Azure.IoT Build 0:6ae2f7bca550 7360 if (error_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7361 {
AzureIoTClient 19:000ab4e6a2c1 7362 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7363 }
Azure.IoT Build 0:6ae2f7bca550 7364 else
Azure.IoT Build 0:6ae2f7bca550 7365 {
Azure.IoT Build 0:6ae2f7bca550 7366 if (amqpvalue_set_composite_item(end_instance->composite_value, 0, error_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 7367 {
AzureIoTClient 19:000ab4e6a2c1 7368 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7369 }
Azure.IoT Build 0:6ae2f7bca550 7370 else
Azure.IoT Build 0:6ae2f7bca550 7371 {
Azure.IoT Build 0:6ae2f7bca550 7372 result = 0;
Azure.IoT Build 0:6ae2f7bca550 7373 }
Azure.IoT Build 0:6ae2f7bca550 7374
Azure.IoT Build 0:6ae2f7bca550 7375 amqpvalue_destroy(error_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 7376 }
Azure.IoT Build 0:6ae2f7bca550 7377 }
Azure.IoT Build 0:6ae2f7bca550 7378
Azure.IoT Build 0:6ae2f7bca550 7379 return result;
Azure.IoT Build 0:6ae2f7bca550 7380 }
Azure.IoT Build 0:6ae2f7bca550 7381
Azure.IoT Build 0:6ae2f7bca550 7382
Azure.IoT Build 0:6ae2f7bca550 7383 /* close */
Azure.IoT Build 0:6ae2f7bca550 7384
Azure.IoT Build 0:6ae2f7bca550 7385 typedef struct CLOSE_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 7386 {
Azure.IoT Build 0:6ae2f7bca550 7387 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 7388 } CLOSE_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 7389
Azure.IoT Build 0:6ae2f7bca550 7390 static CLOSE_HANDLE close_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 7391 {
Azure.IoT Build 0:6ae2f7bca550 7392 CLOSE_INSTANCE* close_instance = (CLOSE_INSTANCE*)amqpalloc_malloc(sizeof(CLOSE_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 7393 if (close_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 7394 {
Azure.IoT Build 0:6ae2f7bca550 7395 close_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 7396 }
Azure.IoT Build 0:6ae2f7bca550 7397
Azure.IoT Build 0:6ae2f7bca550 7398 return close_instance;
Azure.IoT Build 0:6ae2f7bca550 7399 }
Azure.IoT Build 0:6ae2f7bca550 7400
Azure.IoT Build 0:6ae2f7bca550 7401 CLOSE_HANDLE close_create(void)
Azure.IoT Build 0:6ae2f7bca550 7402 {
Azure.IoT Build 0:6ae2f7bca550 7403 CLOSE_INSTANCE* close_instance = (CLOSE_INSTANCE*)amqpalloc_malloc(sizeof(CLOSE_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 7404 if (close_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 7405 {
Azure.IoT Build 0:6ae2f7bca550 7406 close_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(24);
Azure.IoT Build 0:6ae2f7bca550 7407 if (close_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7408 {
Azure.IoT Build 0:6ae2f7bca550 7409 amqpalloc_free(close_instance);
Azure.IoT Build 0:6ae2f7bca550 7410 close_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 7411 }
Azure.IoT Build 0:6ae2f7bca550 7412 }
Azure.IoT Build 0:6ae2f7bca550 7413
Azure.IoT Build 0:6ae2f7bca550 7414 return close_instance;
Azure.IoT Build 0:6ae2f7bca550 7415 }
Azure.IoT Build 0:6ae2f7bca550 7416
Azure.IoT Build 0:6ae2f7bca550 7417 CLOSE_HANDLE close_clone(CLOSE_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 7418 {
Azure.IoT Build 0:6ae2f7bca550 7419 CLOSE_INSTANCE* close_instance = (CLOSE_INSTANCE*)amqpalloc_malloc(sizeof(CLOSE_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 7420 if (close_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 7421 {
Azure.IoT Build 0:6ae2f7bca550 7422 close_instance->composite_value = amqpvalue_clone(((CLOSE_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 7423 if (close_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7424 {
Azure.IoT Build 0:6ae2f7bca550 7425 amqpalloc_free(close_instance);
Azure.IoT Build 0:6ae2f7bca550 7426 close_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 7427 }
Azure.IoT Build 0:6ae2f7bca550 7428 }
Azure.IoT Build 0:6ae2f7bca550 7429
Azure.IoT Build 0:6ae2f7bca550 7430 return close_instance;
Azure.IoT Build 0:6ae2f7bca550 7431 }
Azure.IoT Build 0:6ae2f7bca550 7432
Azure.IoT Build 0:6ae2f7bca550 7433 void close_destroy(CLOSE_HANDLE close)
Azure.IoT Build 0:6ae2f7bca550 7434 {
Azure.IoT Build 0:6ae2f7bca550 7435 if (close != NULL)
Azure.IoT Build 0:6ae2f7bca550 7436 {
Azure.IoT Build 0:6ae2f7bca550 7437 CLOSE_INSTANCE* close_instance = (CLOSE_INSTANCE*)close;
Azure.IoT Build 0:6ae2f7bca550 7438 amqpvalue_destroy(close_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 7439 amqpalloc_free(close_instance);
Azure.IoT Build 0:6ae2f7bca550 7440 }
Azure.IoT Build 0:6ae2f7bca550 7441 }
Azure.IoT Build 0:6ae2f7bca550 7442
Azure.IoT Build 0:6ae2f7bca550 7443 AMQP_VALUE amqpvalue_create_close(CLOSE_HANDLE close)
Azure.IoT Build 0:6ae2f7bca550 7444 {
Azure.IoT Build 0:6ae2f7bca550 7445 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 7446
Azure.IoT Build 0:6ae2f7bca550 7447 if (close == NULL)
Azure.IoT Build 0:6ae2f7bca550 7448 {
Azure.IoT Build 0:6ae2f7bca550 7449 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 7450 }
Azure.IoT Build 0:6ae2f7bca550 7451 else
Azure.IoT Build 0:6ae2f7bca550 7452 {
Azure.IoT Build 0:6ae2f7bca550 7453 CLOSE_INSTANCE* close_instance = (CLOSE_INSTANCE*)close;
Azure.IoT Build 0:6ae2f7bca550 7454 result = amqpvalue_clone(close_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 7455 }
Azure.IoT Build 0:6ae2f7bca550 7456
Azure.IoT Build 0:6ae2f7bca550 7457 return result;
Azure.IoT Build 0:6ae2f7bca550 7458 }
Azure.IoT Build 0:6ae2f7bca550 7459
Azure.IoT Build 0:6ae2f7bca550 7460 bool is_close_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 7461 {
Azure.IoT Build 0:6ae2f7bca550 7462 bool result;
Azure.IoT Build 0:6ae2f7bca550 7463
Azure.IoT Build 0:6ae2f7bca550 7464 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 7465 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 7466 (descriptor_ulong == 24))
Azure.IoT Build 0:6ae2f7bca550 7467 {
Azure.IoT Build 0:6ae2f7bca550 7468 result = true;
Azure.IoT Build 0:6ae2f7bca550 7469 }
Azure.IoT Build 0:6ae2f7bca550 7470 else
Azure.IoT Build 0:6ae2f7bca550 7471 {
Azure.IoT Build 0:6ae2f7bca550 7472 result = false;
Azure.IoT Build 0:6ae2f7bca550 7473 }
Azure.IoT Build 0:6ae2f7bca550 7474
Azure.IoT Build 0:6ae2f7bca550 7475 return result;
Azure.IoT Build 0:6ae2f7bca550 7476 }
Azure.IoT Build 0:6ae2f7bca550 7477
Azure.IoT Build 0:6ae2f7bca550 7478
Azure.IoT Build 0:6ae2f7bca550 7479 int amqpvalue_get_close(AMQP_VALUE value, CLOSE_HANDLE* close_handle)
Azure.IoT Build 0:6ae2f7bca550 7480 {
Azure.IoT Build 0:6ae2f7bca550 7481 int result;
Azure.IoT Build 0:6ae2f7bca550 7482 CLOSE_INSTANCE* close_instance = (CLOSE_INSTANCE*)close_create_internal();
Azure.IoT Build 0:6ae2f7bca550 7483 *close_handle = close_instance;
Azure.IoT Build 0:6ae2f7bca550 7484 if (*close_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 7485 {
AzureIoTClient 19:000ab4e6a2c1 7486 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7487 }
Azure.IoT Build 0:6ae2f7bca550 7488 else
Azure.IoT Build 0:6ae2f7bca550 7489 {
Azure.IoT Build 0:6ae2f7bca550 7490 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 7491 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7492 {
Azure.IoT Build 0:6ae2f7bca550 7493 close_destroy(*close_handle);
AzureIoTClient 19:000ab4e6a2c1 7494 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7495 }
Azure.IoT Build 0:6ae2f7bca550 7496 else
Azure.IoT Build 0:6ae2f7bca550 7497 {
Azure.IoT Build 0:6ae2f7bca550 7498 do
Azure.IoT Build 0:6ae2f7bca550 7499 {
Azure.IoT Build 0:6ae2f7bca550 7500 AMQP_VALUE item_value;
Azure.IoT Build 0:6ae2f7bca550 7501 /* error */
Azure.IoT Build 0:6ae2f7bca550 7502 item_value = amqpvalue_get_list_item(list_value, 0);
Azure.IoT Build 0:6ae2f7bca550 7503 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7504 {
Azure.IoT Build 0:6ae2f7bca550 7505 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 7506 }
Azure.IoT Build 0:6ae2f7bca550 7507 else
Azure.IoT Build 0:6ae2f7bca550 7508 {
Azure.IoT Build 0:6ae2f7bca550 7509 ERROR_HANDLE error;
Azure.IoT Build 0:6ae2f7bca550 7510 if (amqpvalue_get_error(item_value, &error) != 0)
Azure.IoT Build 0:6ae2f7bca550 7511 {
Azure.IoT Build 0:6ae2f7bca550 7512 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 7513 {
Azure.IoT Build 0:6ae2f7bca550 7514 close_destroy(*close_handle);
AzureIoTClient 19:000ab4e6a2c1 7515 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7516 break;
Azure.IoT Build 0:6ae2f7bca550 7517 }
Azure.IoT Build 0:6ae2f7bca550 7518 }
Azure.IoT Build 0:6ae2f7bca550 7519
Azure.IoT Build 0:6ae2f7bca550 7520 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 7521 }
Azure.IoT Build 0:6ae2f7bca550 7522
Azure.IoT Build 0:6ae2f7bca550 7523 close_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 7524
Azure.IoT Build 0:6ae2f7bca550 7525 result = 0;
Azure.IoT Build 0:6ae2f7bca550 7526 } while (0);
Azure.IoT Build 0:6ae2f7bca550 7527 }
Azure.IoT Build 0:6ae2f7bca550 7528 }
Azure.IoT Build 0:6ae2f7bca550 7529
Azure.IoT Build 0:6ae2f7bca550 7530 return result;
Azure.IoT Build 0:6ae2f7bca550 7531 }
Azure.IoT Build 0:6ae2f7bca550 7532
Azure.IoT Build 0:6ae2f7bca550 7533 int close_get_error(CLOSE_HANDLE close, ERROR_HANDLE* error_value)
Azure.IoT Build 0:6ae2f7bca550 7534 {
Azure.IoT Build 0:6ae2f7bca550 7535 int result;
Azure.IoT Build 0:6ae2f7bca550 7536
Azure.IoT Build 0:6ae2f7bca550 7537 if (close == NULL)
Azure.IoT Build 0:6ae2f7bca550 7538 {
AzureIoTClient 19:000ab4e6a2c1 7539 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7540 }
Azure.IoT Build 0:6ae2f7bca550 7541 else
Azure.IoT Build 0:6ae2f7bca550 7542 {
Azure.IoT Build 0:6ae2f7bca550 7543 CLOSE_INSTANCE* close_instance = (CLOSE_INSTANCE*)close;
Azure.IoT Build 0:6ae2f7bca550 7544 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(close_instance->composite_value, 0);
Azure.IoT Build 0:6ae2f7bca550 7545 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7546 {
AzureIoTClient 19:000ab4e6a2c1 7547 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7548 }
Azure.IoT Build 0:6ae2f7bca550 7549 else
Azure.IoT Build 0:6ae2f7bca550 7550 {
Azure.IoT Build 0:6ae2f7bca550 7551 if (amqpvalue_get_error(item_value, error_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 7552 {
AzureIoTClient 19:000ab4e6a2c1 7553 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7554 }
Azure.IoT Build 0:6ae2f7bca550 7555 else
Azure.IoT Build 0:6ae2f7bca550 7556 {
Azure.IoT Build 0:6ae2f7bca550 7557 result = 0;
Azure.IoT Build 0:6ae2f7bca550 7558 }
Azure.IoT Build 0:6ae2f7bca550 7559 }
Azure.IoT Build 0:6ae2f7bca550 7560 }
Azure.IoT Build 0:6ae2f7bca550 7561
Azure.IoT Build 0:6ae2f7bca550 7562 return result;
Azure.IoT Build 0:6ae2f7bca550 7563 }
Azure.IoT Build 0:6ae2f7bca550 7564
Azure.IoT Build 0:6ae2f7bca550 7565 int close_set_error(CLOSE_HANDLE close, ERROR_HANDLE error_value)
Azure.IoT Build 0:6ae2f7bca550 7566 {
Azure.IoT Build 0:6ae2f7bca550 7567 int result;
Azure.IoT Build 0:6ae2f7bca550 7568
Azure.IoT Build 0:6ae2f7bca550 7569 if (close == NULL)
Azure.IoT Build 0:6ae2f7bca550 7570 {
AzureIoTClient 19:000ab4e6a2c1 7571 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7572 }
Azure.IoT Build 0:6ae2f7bca550 7573 else
Azure.IoT Build 0:6ae2f7bca550 7574 {
Azure.IoT Build 0:6ae2f7bca550 7575 CLOSE_INSTANCE* close_instance = (CLOSE_INSTANCE*)close;
Azure.IoT Build 0:6ae2f7bca550 7576 AMQP_VALUE error_amqp_value = amqpvalue_create_error(error_value);
Azure.IoT Build 0:6ae2f7bca550 7577 if (error_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7578 {
AzureIoTClient 19:000ab4e6a2c1 7579 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7580 }
Azure.IoT Build 0:6ae2f7bca550 7581 else
Azure.IoT Build 0:6ae2f7bca550 7582 {
Azure.IoT Build 0:6ae2f7bca550 7583 if (amqpvalue_set_composite_item(close_instance->composite_value, 0, error_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 7584 {
AzureIoTClient 19:000ab4e6a2c1 7585 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7586 }
Azure.IoT Build 0:6ae2f7bca550 7587 else
Azure.IoT Build 0:6ae2f7bca550 7588 {
Azure.IoT Build 0:6ae2f7bca550 7589 result = 0;
Azure.IoT Build 0:6ae2f7bca550 7590 }
Azure.IoT Build 0:6ae2f7bca550 7591
Azure.IoT Build 0:6ae2f7bca550 7592 amqpvalue_destroy(error_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 7593 }
Azure.IoT Build 0:6ae2f7bca550 7594 }
Azure.IoT Build 0:6ae2f7bca550 7595
Azure.IoT Build 0:6ae2f7bca550 7596 return result;
Azure.IoT Build 0:6ae2f7bca550 7597 }
Azure.IoT Build 0:6ae2f7bca550 7598
Azure.IoT Build 0:6ae2f7bca550 7599
Azure.IoT Build 0:6ae2f7bca550 7600 /* sasl-code */
Azure.IoT Build 0:6ae2f7bca550 7601
Azure.IoT Build 0:6ae2f7bca550 7602 AMQP_VALUE amqpvalue_create_sasl_code(sasl_code value)
Azure.IoT Build 0:6ae2f7bca550 7603 {
Azure.IoT Build 0:6ae2f7bca550 7604 return amqpvalue_create_ubyte(value);
Azure.IoT Build 0:6ae2f7bca550 7605 }
Azure.IoT Build 0:6ae2f7bca550 7606
Azure.IoT Build 0:6ae2f7bca550 7607 /* sasl-mechanisms */
Azure.IoT Build 0:6ae2f7bca550 7608
Azure.IoT Build 0:6ae2f7bca550 7609 typedef struct SASL_MECHANISMS_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 7610 {
Azure.IoT Build 0:6ae2f7bca550 7611 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 7612 } SASL_MECHANISMS_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 7613
Azure.IoT Build 0:6ae2f7bca550 7614 static SASL_MECHANISMS_HANDLE sasl_mechanisms_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 7615 {
Azure.IoT Build 0:6ae2f7bca550 7616 SASL_MECHANISMS_INSTANCE* sasl_mechanisms_instance = (SASL_MECHANISMS_INSTANCE*)amqpalloc_malloc(sizeof(SASL_MECHANISMS_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 7617 if (sasl_mechanisms_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 7618 {
Azure.IoT Build 0:6ae2f7bca550 7619 sasl_mechanisms_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 7620 }
Azure.IoT Build 0:6ae2f7bca550 7621
Azure.IoT Build 0:6ae2f7bca550 7622 return sasl_mechanisms_instance;
Azure.IoT Build 0:6ae2f7bca550 7623 }
Azure.IoT Build 0:6ae2f7bca550 7624
Azure.IoT Build 0:6ae2f7bca550 7625 SASL_MECHANISMS_HANDLE sasl_mechanisms_create(AMQP_VALUE sasl_server_mechanisms_value)
Azure.IoT Build 0:6ae2f7bca550 7626 {
Azure.IoT Build 0:6ae2f7bca550 7627 SASL_MECHANISMS_INSTANCE* sasl_mechanisms_instance = (SASL_MECHANISMS_INSTANCE*)amqpalloc_malloc(sizeof(SASL_MECHANISMS_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 7628 if (sasl_mechanisms_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 7629 {
Azure.IoT Build 0:6ae2f7bca550 7630 sasl_mechanisms_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(64);
Azure.IoT Build 0:6ae2f7bca550 7631 if (sasl_mechanisms_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7632 {
Azure.IoT Build 0:6ae2f7bca550 7633 amqpalloc_free(sasl_mechanisms_instance);
Azure.IoT Build 0:6ae2f7bca550 7634 sasl_mechanisms_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 7635 }
Azure.IoT Build 0:6ae2f7bca550 7636 else
Azure.IoT Build 0:6ae2f7bca550 7637 {
Azure.IoT Build 0:6ae2f7bca550 7638 AMQP_VALUE sasl_server_mechanisms_amqp_value;
Azure.IoT Build 0:6ae2f7bca550 7639 int result = 0;
Azure.IoT Build 0:6ae2f7bca550 7640
Azure.IoT Build 0:6ae2f7bca550 7641 sasl_server_mechanisms_amqp_value = sasl_server_mechanisms_value;
Azure.IoT Build 0:6ae2f7bca550 7642 if ((result == 0) && (amqpvalue_set_composite_item(sasl_mechanisms_instance->composite_value, 0, sasl_server_mechanisms_amqp_value) != 0))
Azure.IoT Build 0:6ae2f7bca550 7643 {
AzureIoTClient 19:000ab4e6a2c1 7644 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7645 }
Azure.IoT Build 0:6ae2f7bca550 7646
Azure.IoT Build 0:6ae2f7bca550 7647 amqpvalue_destroy(sasl_server_mechanisms_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 7648 }
Azure.IoT Build 0:6ae2f7bca550 7649 }
Azure.IoT Build 0:6ae2f7bca550 7650
Azure.IoT Build 0:6ae2f7bca550 7651 return sasl_mechanisms_instance;
Azure.IoT Build 0:6ae2f7bca550 7652 }
Azure.IoT Build 0:6ae2f7bca550 7653
Azure.IoT Build 0:6ae2f7bca550 7654 SASL_MECHANISMS_HANDLE sasl_mechanisms_clone(SASL_MECHANISMS_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 7655 {
Azure.IoT Build 0:6ae2f7bca550 7656 SASL_MECHANISMS_INSTANCE* sasl_mechanisms_instance = (SASL_MECHANISMS_INSTANCE*)amqpalloc_malloc(sizeof(SASL_MECHANISMS_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 7657 if (sasl_mechanisms_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 7658 {
Azure.IoT Build 0:6ae2f7bca550 7659 sasl_mechanisms_instance->composite_value = amqpvalue_clone(((SASL_MECHANISMS_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 7660 if (sasl_mechanisms_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7661 {
Azure.IoT Build 0:6ae2f7bca550 7662 amqpalloc_free(sasl_mechanisms_instance);
Azure.IoT Build 0:6ae2f7bca550 7663 sasl_mechanisms_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 7664 }
Azure.IoT Build 0:6ae2f7bca550 7665 }
Azure.IoT Build 0:6ae2f7bca550 7666
Azure.IoT Build 0:6ae2f7bca550 7667 return sasl_mechanisms_instance;
Azure.IoT Build 0:6ae2f7bca550 7668 }
Azure.IoT Build 0:6ae2f7bca550 7669
Azure.IoT Build 0:6ae2f7bca550 7670 void sasl_mechanisms_destroy(SASL_MECHANISMS_HANDLE sasl_mechanisms)
Azure.IoT Build 0:6ae2f7bca550 7671 {
Azure.IoT Build 0:6ae2f7bca550 7672 if (sasl_mechanisms != NULL)
Azure.IoT Build 0:6ae2f7bca550 7673 {
Azure.IoT Build 0:6ae2f7bca550 7674 SASL_MECHANISMS_INSTANCE* sasl_mechanisms_instance = (SASL_MECHANISMS_INSTANCE*)sasl_mechanisms;
Azure.IoT Build 0:6ae2f7bca550 7675 amqpvalue_destroy(sasl_mechanisms_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 7676 amqpalloc_free(sasl_mechanisms_instance);
Azure.IoT Build 0:6ae2f7bca550 7677 }
Azure.IoT Build 0:6ae2f7bca550 7678 }
Azure.IoT Build 0:6ae2f7bca550 7679
Azure.IoT Build 0:6ae2f7bca550 7680 AMQP_VALUE amqpvalue_create_sasl_mechanisms(SASL_MECHANISMS_HANDLE sasl_mechanisms)
Azure.IoT Build 0:6ae2f7bca550 7681 {
Azure.IoT Build 0:6ae2f7bca550 7682 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 7683
Azure.IoT Build 0:6ae2f7bca550 7684 if (sasl_mechanisms == NULL)
Azure.IoT Build 0:6ae2f7bca550 7685 {
Azure.IoT Build 0:6ae2f7bca550 7686 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 7687 }
Azure.IoT Build 0:6ae2f7bca550 7688 else
Azure.IoT Build 0:6ae2f7bca550 7689 {
Azure.IoT Build 0:6ae2f7bca550 7690 SASL_MECHANISMS_INSTANCE* sasl_mechanisms_instance = (SASL_MECHANISMS_INSTANCE*)sasl_mechanisms;
Azure.IoT Build 0:6ae2f7bca550 7691 result = amqpvalue_clone(sasl_mechanisms_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 7692 }
Azure.IoT Build 0:6ae2f7bca550 7693
Azure.IoT Build 0:6ae2f7bca550 7694 return result;
Azure.IoT Build 0:6ae2f7bca550 7695 }
Azure.IoT Build 0:6ae2f7bca550 7696
Azure.IoT Build 0:6ae2f7bca550 7697 bool is_sasl_mechanisms_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 7698 {
Azure.IoT Build 0:6ae2f7bca550 7699 bool result;
Azure.IoT Build 0:6ae2f7bca550 7700
Azure.IoT Build 0:6ae2f7bca550 7701 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 7702 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 7703 (descriptor_ulong == 64))
Azure.IoT Build 0:6ae2f7bca550 7704 {
Azure.IoT Build 0:6ae2f7bca550 7705 result = true;
Azure.IoT Build 0:6ae2f7bca550 7706 }
Azure.IoT Build 0:6ae2f7bca550 7707 else
Azure.IoT Build 0:6ae2f7bca550 7708 {
Azure.IoT Build 0:6ae2f7bca550 7709 result = false;
Azure.IoT Build 0:6ae2f7bca550 7710 }
Azure.IoT Build 0:6ae2f7bca550 7711
Azure.IoT Build 0:6ae2f7bca550 7712 return result;
Azure.IoT Build 0:6ae2f7bca550 7713 }
Azure.IoT Build 0:6ae2f7bca550 7714
Azure.IoT Build 0:6ae2f7bca550 7715
Azure.IoT Build 0:6ae2f7bca550 7716 int amqpvalue_get_sasl_mechanisms(AMQP_VALUE value, SASL_MECHANISMS_HANDLE* sasl_mechanisms_handle)
Azure.IoT Build 0:6ae2f7bca550 7717 {
Azure.IoT Build 0:6ae2f7bca550 7718 int result;
Azure.IoT Build 0:6ae2f7bca550 7719 SASL_MECHANISMS_INSTANCE* sasl_mechanisms_instance = (SASL_MECHANISMS_INSTANCE*)sasl_mechanisms_create_internal();
Azure.IoT Build 0:6ae2f7bca550 7720 *sasl_mechanisms_handle = sasl_mechanisms_instance;
Azure.IoT Build 0:6ae2f7bca550 7721 if (*sasl_mechanisms_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 7722 {
AzureIoTClient 19:000ab4e6a2c1 7723 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7724 }
Azure.IoT Build 0:6ae2f7bca550 7725 else
Azure.IoT Build 0:6ae2f7bca550 7726 {
Azure.IoT Build 0:6ae2f7bca550 7727 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 7728 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7729 {
Azure.IoT Build 0:6ae2f7bca550 7730 sasl_mechanisms_destroy(*sasl_mechanisms_handle);
AzureIoTClient 19:000ab4e6a2c1 7731 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7732 }
Azure.IoT Build 0:6ae2f7bca550 7733 else
Azure.IoT Build 0:6ae2f7bca550 7734 {
Azure.IoT Build 0:6ae2f7bca550 7735 do
Azure.IoT Build 0:6ae2f7bca550 7736 {
Azure.IoT Build 0:6ae2f7bca550 7737 AMQP_VALUE item_value;
Azure.IoT Build 0:6ae2f7bca550 7738 /* sasl-server-mechanisms */
Azure.IoT Build 0:6ae2f7bca550 7739 item_value = amqpvalue_get_list_item(list_value, 0);
Azure.IoT Build 0:6ae2f7bca550 7740 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7741 {
Azure.IoT Build 0:6ae2f7bca550 7742 {
Azure.IoT Build 0:6ae2f7bca550 7743 sasl_mechanisms_destroy(*sasl_mechanisms_handle);
AzureIoTClient 19:000ab4e6a2c1 7744 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7745 break;
Azure.IoT Build 0:6ae2f7bca550 7746 }
Azure.IoT Build 0:6ae2f7bca550 7747 }
Azure.IoT Build 0:6ae2f7bca550 7748 else
Azure.IoT Build 0:6ae2f7bca550 7749 {
Azure.IoT Build 0:6ae2f7bca550 7750 const char* sasl_server_mechanisms;
Azure.IoT Build 0:6ae2f7bca550 7751 AMQP_VALUE sasl_server_mechanisms_array;
Azure.IoT Build 0:6ae2f7bca550 7752 if ((amqpvalue_get_array(item_value, &sasl_server_mechanisms_array) != 0) &&
Azure.IoT Build 0:6ae2f7bca550 7753 (amqpvalue_get_symbol(item_value, &sasl_server_mechanisms) != 0))
Azure.IoT Build 0:6ae2f7bca550 7754 {
Azure.IoT Build 0:6ae2f7bca550 7755 sasl_mechanisms_destroy(*sasl_mechanisms_handle);
AzureIoTClient 19:000ab4e6a2c1 7756 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7757 break;
Azure.IoT Build 0:6ae2f7bca550 7758 }
Azure.IoT Build 0:6ae2f7bca550 7759
Azure.IoT Build 0:6ae2f7bca550 7760 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 7761 }
Azure.IoT Build 0:6ae2f7bca550 7762
Azure.IoT Build 0:6ae2f7bca550 7763 sasl_mechanisms_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 7764
Azure.IoT Build 0:6ae2f7bca550 7765 result = 0;
Azure.IoT Build 0:6ae2f7bca550 7766 } while (0);
Azure.IoT Build 0:6ae2f7bca550 7767 }
Azure.IoT Build 0:6ae2f7bca550 7768 }
Azure.IoT Build 0:6ae2f7bca550 7769
Azure.IoT Build 0:6ae2f7bca550 7770 return result;
Azure.IoT Build 0:6ae2f7bca550 7771 }
Azure.IoT Build 0:6ae2f7bca550 7772
Azure.IoT Build 0:6ae2f7bca550 7773 int sasl_mechanisms_get_sasl_server_mechanisms(SASL_MECHANISMS_HANDLE sasl_mechanisms, AMQP_VALUE* sasl_server_mechanisms_value)
Azure.IoT Build 0:6ae2f7bca550 7774 {
Azure.IoT Build 0:6ae2f7bca550 7775 int result;
Azure.IoT Build 0:6ae2f7bca550 7776
Azure.IoT Build 0:6ae2f7bca550 7777 if (sasl_mechanisms == NULL)
Azure.IoT Build 0:6ae2f7bca550 7778 {
AzureIoTClient 19:000ab4e6a2c1 7779 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7780 }
Azure.IoT Build 0:6ae2f7bca550 7781 else
Azure.IoT Build 0:6ae2f7bca550 7782 {
Azure.IoT Build 0:6ae2f7bca550 7783 SASL_MECHANISMS_INSTANCE* sasl_mechanisms_instance = (SASL_MECHANISMS_INSTANCE*)sasl_mechanisms;
Azure.IoT Build 0:6ae2f7bca550 7784 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(sasl_mechanisms_instance->composite_value, 0);
Azure.IoT Build 0:6ae2f7bca550 7785 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7786 {
AzureIoTClient 19:000ab4e6a2c1 7787 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7788 }
Azure.IoT Build 0:6ae2f7bca550 7789 else
Azure.IoT Build 0:6ae2f7bca550 7790 {
Azure.IoT Build 0:6ae2f7bca550 7791 if (amqpvalue_get_array(item_value, sasl_server_mechanisms_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 7792 {
AzureIoTClient 19:000ab4e6a2c1 7793 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7794 }
Azure.IoT Build 0:6ae2f7bca550 7795 else
Azure.IoT Build 0:6ae2f7bca550 7796 {
Azure.IoT Build 0:6ae2f7bca550 7797 result = 0;
Azure.IoT Build 0:6ae2f7bca550 7798 }
Azure.IoT Build 0:6ae2f7bca550 7799 }
Azure.IoT Build 0:6ae2f7bca550 7800 }
Azure.IoT Build 0:6ae2f7bca550 7801
Azure.IoT Build 0:6ae2f7bca550 7802 return result;
Azure.IoT Build 0:6ae2f7bca550 7803 }
Azure.IoT Build 0:6ae2f7bca550 7804
Azure.IoT Build 0:6ae2f7bca550 7805 int sasl_mechanisms_set_sasl_server_mechanisms(SASL_MECHANISMS_HANDLE sasl_mechanisms, AMQP_VALUE sasl_server_mechanisms_value)
Azure.IoT Build 0:6ae2f7bca550 7806 {
Azure.IoT Build 0:6ae2f7bca550 7807 int result;
Azure.IoT Build 0:6ae2f7bca550 7808
Azure.IoT Build 0:6ae2f7bca550 7809 if (sasl_mechanisms == NULL)
Azure.IoT Build 0:6ae2f7bca550 7810 {
AzureIoTClient 19:000ab4e6a2c1 7811 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7812 }
Azure.IoT Build 0:6ae2f7bca550 7813 else
Azure.IoT Build 0:6ae2f7bca550 7814 {
Azure.IoT Build 0:6ae2f7bca550 7815 SASL_MECHANISMS_INSTANCE* sasl_mechanisms_instance = (SASL_MECHANISMS_INSTANCE*)sasl_mechanisms;
Azure.IoT Build 0:6ae2f7bca550 7816 AMQP_VALUE sasl_server_mechanisms_amqp_value = amqpvalue_clone(sasl_server_mechanisms_value);
Azure.IoT Build 0:6ae2f7bca550 7817 if (sasl_server_mechanisms_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7818 {
AzureIoTClient 19:000ab4e6a2c1 7819 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7820 }
Azure.IoT Build 0:6ae2f7bca550 7821 else
Azure.IoT Build 0:6ae2f7bca550 7822 {
Azure.IoT Build 0:6ae2f7bca550 7823 if (amqpvalue_set_composite_item(sasl_mechanisms_instance->composite_value, 0, sasl_server_mechanisms_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 7824 {
AzureIoTClient 19:000ab4e6a2c1 7825 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7826 }
Azure.IoT Build 0:6ae2f7bca550 7827 else
Azure.IoT Build 0:6ae2f7bca550 7828 {
Azure.IoT Build 0:6ae2f7bca550 7829 result = 0;
Azure.IoT Build 0:6ae2f7bca550 7830 }
Azure.IoT Build 0:6ae2f7bca550 7831
Azure.IoT Build 0:6ae2f7bca550 7832 amqpvalue_destroy(sasl_server_mechanisms_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 7833 }
Azure.IoT Build 0:6ae2f7bca550 7834 }
Azure.IoT Build 0:6ae2f7bca550 7835
Azure.IoT Build 0:6ae2f7bca550 7836 return result;
Azure.IoT Build 0:6ae2f7bca550 7837 }
Azure.IoT Build 0:6ae2f7bca550 7838
Azure.IoT Build 0:6ae2f7bca550 7839
Azure.IoT Build 0:6ae2f7bca550 7840 /* sasl-init */
Azure.IoT Build 0:6ae2f7bca550 7841
Azure.IoT Build 0:6ae2f7bca550 7842 typedef struct SASL_INIT_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 7843 {
Azure.IoT Build 0:6ae2f7bca550 7844 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 7845 } SASL_INIT_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 7846
Azure.IoT Build 0:6ae2f7bca550 7847 static SASL_INIT_HANDLE sasl_init_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 7848 {
Azure.IoT Build 0:6ae2f7bca550 7849 SASL_INIT_INSTANCE* sasl_init_instance = (SASL_INIT_INSTANCE*)amqpalloc_malloc(sizeof(SASL_INIT_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 7850 if (sasl_init_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 7851 {
Azure.IoT Build 0:6ae2f7bca550 7852 sasl_init_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 7853 }
Azure.IoT Build 0:6ae2f7bca550 7854
Azure.IoT Build 0:6ae2f7bca550 7855 return sasl_init_instance;
Azure.IoT Build 0:6ae2f7bca550 7856 }
Azure.IoT Build 0:6ae2f7bca550 7857
Azure.IoT Build 0:6ae2f7bca550 7858 SASL_INIT_HANDLE sasl_init_create(const char* mechanism_value)
Azure.IoT Build 0:6ae2f7bca550 7859 {
Azure.IoT Build 0:6ae2f7bca550 7860 SASL_INIT_INSTANCE* sasl_init_instance = (SASL_INIT_INSTANCE*)amqpalloc_malloc(sizeof(SASL_INIT_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 7861 if (sasl_init_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 7862 {
Azure.IoT Build 0:6ae2f7bca550 7863 sasl_init_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(65);
Azure.IoT Build 0:6ae2f7bca550 7864 if (sasl_init_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7865 {
Azure.IoT Build 0:6ae2f7bca550 7866 amqpalloc_free(sasl_init_instance);
Azure.IoT Build 0:6ae2f7bca550 7867 sasl_init_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 7868 }
Azure.IoT Build 0:6ae2f7bca550 7869 else
Azure.IoT Build 0:6ae2f7bca550 7870 {
Azure.IoT Build 0:6ae2f7bca550 7871 AMQP_VALUE mechanism_amqp_value;
Azure.IoT Build 0:6ae2f7bca550 7872 int result = 0;
Azure.IoT Build 0:6ae2f7bca550 7873
Azure.IoT Build 0:6ae2f7bca550 7874 mechanism_amqp_value = amqpvalue_create_symbol(mechanism_value);
Azure.IoT Build 0:6ae2f7bca550 7875 if ((result == 0) && (amqpvalue_set_composite_item(sasl_init_instance->composite_value, 0, mechanism_amqp_value) != 0))
Azure.IoT Build 0:6ae2f7bca550 7876 {
AzureIoTClient 19:000ab4e6a2c1 7877 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7878 }
Azure.IoT Build 0:6ae2f7bca550 7879
Azure.IoT Build 0:6ae2f7bca550 7880 amqpvalue_destroy(mechanism_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 7881 }
Azure.IoT Build 0:6ae2f7bca550 7882 }
Azure.IoT Build 0:6ae2f7bca550 7883
Azure.IoT Build 0:6ae2f7bca550 7884 return sasl_init_instance;
Azure.IoT Build 0:6ae2f7bca550 7885 }
Azure.IoT Build 0:6ae2f7bca550 7886
Azure.IoT Build 0:6ae2f7bca550 7887 SASL_INIT_HANDLE sasl_init_clone(SASL_INIT_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 7888 {
Azure.IoT Build 0:6ae2f7bca550 7889 SASL_INIT_INSTANCE* sasl_init_instance = (SASL_INIT_INSTANCE*)amqpalloc_malloc(sizeof(SASL_INIT_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 7890 if (sasl_init_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 7891 {
Azure.IoT Build 0:6ae2f7bca550 7892 sasl_init_instance->composite_value = amqpvalue_clone(((SASL_INIT_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 7893 if (sasl_init_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7894 {
Azure.IoT Build 0:6ae2f7bca550 7895 amqpalloc_free(sasl_init_instance);
Azure.IoT Build 0:6ae2f7bca550 7896 sasl_init_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 7897 }
Azure.IoT Build 0:6ae2f7bca550 7898 }
Azure.IoT Build 0:6ae2f7bca550 7899
Azure.IoT Build 0:6ae2f7bca550 7900 return sasl_init_instance;
Azure.IoT Build 0:6ae2f7bca550 7901 }
Azure.IoT Build 0:6ae2f7bca550 7902
Azure.IoT Build 0:6ae2f7bca550 7903 void sasl_init_destroy(SASL_INIT_HANDLE sasl_init)
Azure.IoT Build 0:6ae2f7bca550 7904 {
Azure.IoT Build 0:6ae2f7bca550 7905 if (sasl_init != NULL)
Azure.IoT Build 0:6ae2f7bca550 7906 {
Azure.IoT Build 0:6ae2f7bca550 7907 SASL_INIT_INSTANCE* sasl_init_instance = (SASL_INIT_INSTANCE*)sasl_init;
Azure.IoT Build 0:6ae2f7bca550 7908 amqpvalue_destroy(sasl_init_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 7909 amqpalloc_free(sasl_init_instance);
Azure.IoT Build 0:6ae2f7bca550 7910 }
Azure.IoT Build 0:6ae2f7bca550 7911 }
Azure.IoT Build 0:6ae2f7bca550 7912
Azure.IoT Build 0:6ae2f7bca550 7913 AMQP_VALUE amqpvalue_create_sasl_init(SASL_INIT_HANDLE sasl_init)
Azure.IoT Build 0:6ae2f7bca550 7914 {
Azure.IoT Build 0:6ae2f7bca550 7915 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 7916
Azure.IoT Build 0:6ae2f7bca550 7917 if (sasl_init == NULL)
Azure.IoT Build 0:6ae2f7bca550 7918 {
Azure.IoT Build 0:6ae2f7bca550 7919 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 7920 }
Azure.IoT Build 0:6ae2f7bca550 7921 else
Azure.IoT Build 0:6ae2f7bca550 7922 {
Azure.IoT Build 0:6ae2f7bca550 7923 SASL_INIT_INSTANCE* sasl_init_instance = (SASL_INIT_INSTANCE*)sasl_init;
Azure.IoT Build 0:6ae2f7bca550 7924 result = amqpvalue_clone(sasl_init_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 7925 }
Azure.IoT Build 0:6ae2f7bca550 7926
Azure.IoT Build 0:6ae2f7bca550 7927 return result;
Azure.IoT Build 0:6ae2f7bca550 7928 }
Azure.IoT Build 0:6ae2f7bca550 7929
Azure.IoT Build 0:6ae2f7bca550 7930 bool is_sasl_init_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 7931 {
Azure.IoT Build 0:6ae2f7bca550 7932 bool result;
Azure.IoT Build 0:6ae2f7bca550 7933
Azure.IoT Build 0:6ae2f7bca550 7934 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 7935 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 7936 (descriptor_ulong == 65))
Azure.IoT Build 0:6ae2f7bca550 7937 {
Azure.IoT Build 0:6ae2f7bca550 7938 result = true;
Azure.IoT Build 0:6ae2f7bca550 7939 }
Azure.IoT Build 0:6ae2f7bca550 7940 else
Azure.IoT Build 0:6ae2f7bca550 7941 {
Azure.IoT Build 0:6ae2f7bca550 7942 result = false;
Azure.IoT Build 0:6ae2f7bca550 7943 }
Azure.IoT Build 0:6ae2f7bca550 7944
Azure.IoT Build 0:6ae2f7bca550 7945 return result;
Azure.IoT Build 0:6ae2f7bca550 7946 }
Azure.IoT Build 0:6ae2f7bca550 7947
Azure.IoT Build 0:6ae2f7bca550 7948
Azure.IoT Build 0:6ae2f7bca550 7949 int amqpvalue_get_sasl_init(AMQP_VALUE value, SASL_INIT_HANDLE* sasl_init_handle)
Azure.IoT Build 0:6ae2f7bca550 7950 {
Azure.IoT Build 0:6ae2f7bca550 7951 int result;
Azure.IoT Build 0:6ae2f7bca550 7952 SASL_INIT_INSTANCE* sasl_init_instance = (SASL_INIT_INSTANCE*)sasl_init_create_internal();
Azure.IoT Build 0:6ae2f7bca550 7953 *sasl_init_handle = sasl_init_instance;
Azure.IoT Build 0:6ae2f7bca550 7954 if (*sasl_init_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 7955 {
AzureIoTClient 19:000ab4e6a2c1 7956 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7957 }
Azure.IoT Build 0:6ae2f7bca550 7958 else
Azure.IoT Build 0:6ae2f7bca550 7959 {
Azure.IoT Build 0:6ae2f7bca550 7960 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 7961 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7962 {
Azure.IoT Build 0:6ae2f7bca550 7963 sasl_init_destroy(*sasl_init_handle);
AzureIoTClient 19:000ab4e6a2c1 7964 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7965 }
Azure.IoT Build 0:6ae2f7bca550 7966 else
Azure.IoT Build 0:6ae2f7bca550 7967 {
Azure.IoT Build 0:6ae2f7bca550 7968 do
Azure.IoT Build 0:6ae2f7bca550 7969 {
Azure.IoT Build 0:6ae2f7bca550 7970 AMQP_VALUE item_value;
Azure.IoT Build 0:6ae2f7bca550 7971 /* mechanism */
Azure.IoT Build 0:6ae2f7bca550 7972 item_value = amqpvalue_get_list_item(list_value, 0);
Azure.IoT Build 0:6ae2f7bca550 7973 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7974 {
Azure.IoT Build 0:6ae2f7bca550 7975 {
Azure.IoT Build 0:6ae2f7bca550 7976 sasl_init_destroy(*sasl_init_handle);
AzureIoTClient 19:000ab4e6a2c1 7977 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7978 break;
Azure.IoT Build 0:6ae2f7bca550 7979 }
Azure.IoT Build 0:6ae2f7bca550 7980 }
Azure.IoT Build 0:6ae2f7bca550 7981 else
Azure.IoT Build 0:6ae2f7bca550 7982 {
Azure.IoT Build 0:6ae2f7bca550 7983 const char* mechanism;
Azure.IoT Build 0:6ae2f7bca550 7984 if (amqpvalue_get_symbol(item_value, &mechanism) != 0)
Azure.IoT Build 0:6ae2f7bca550 7985 {
Azure.IoT Build 0:6ae2f7bca550 7986 sasl_init_destroy(*sasl_init_handle);
AzureIoTClient 19:000ab4e6a2c1 7987 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 7988 break;
Azure.IoT Build 0:6ae2f7bca550 7989 }
Azure.IoT Build 0:6ae2f7bca550 7990
Azure.IoT Build 0:6ae2f7bca550 7991 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 7992 }
Azure.IoT Build 0:6ae2f7bca550 7993 /* initial-response */
Azure.IoT Build 0:6ae2f7bca550 7994 item_value = amqpvalue_get_list_item(list_value, 1);
Azure.IoT Build 0:6ae2f7bca550 7995 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 7996 {
Azure.IoT Build 0:6ae2f7bca550 7997 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 7998 }
Azure.IoT Build 0:6ae2f7bca550 7999 else
Azure.IoT Build 0:6ae2f7bca550 8000 {
Azure.IoT Build 0:6ae2f7bca550 8001 amqp_binary initial_response;
Azure.IoT Build 0:6ae2f7bca550 8002 if (amqpvalue_get_binary(item_value, &initial_response) != 0)
Azure.IoT Build 0:6ae2f7bca550 8003 {
Azure.IoT Build 0:6ae2f7bca550 8004 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 8005 {
Azure.IoT Build 0:6ae2f7bca550 8006 sasl_init_destroy(*sasl_init_handle);
AzureIoTClient 19:000ab4e6a2c1 8007 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8008 break;
Azure.IoT Build 0:6ae2f7bca550 8009 }
Azure.IoT Build 0:6ae2f7bca550 8010 }
Azure.IoT Build 0:6ae2f7bca550 8011
Azure.IoT Build 0:6ae2f7bca550 8012 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 8013 }
Azure.IoT Build 0:6ae2f7bca550 8014 /* hostname */
Azure.IoT Build 0:6ae2f7bca550 8015 item_value = amqpvalue_get_list_item(list_value, 2);
Azure.IoT Build 0:6ae2f7bca550 8016 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8017 {
Azure.IoT Build 0:6ae2f7bca550 8018 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 8019 }
Azure.IoT Build 0:6ae2f7bca550 8020 else
Azure.IoT Build 0:6ae2f7bca550 8021 {
Azure.IoT Build 0:6ae2f7bca550 8022 const char* hostname;
Azure.IoT Build 0:6ae2f7bca550 8023 if (amqpvalue_get_string(item_value, &hostname) != 0)
Azure.IoT Build 0:6ae2f7bca550 8024 {
Azure.IoT Build 0:6ae2f7bca550 8025 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 8026 {
Azure.IoT Build 0:6ae2f7bca550 8027 sasl_init_destroy(*sasl_init_handle);
AzureIoTClient 19:000ab4e6a2c1 8028 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8029 break;
Azure.IoT Build 0:6ae2f7bca550 8030 }
Azure.IoT Build 0:6ae2f7bca550 8031 }
Azure.IoT Build 0:6ae2f7bca550 8032
Azure.IoT Build 0:6ae2f7bca550 8033 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 8034 }
Azure.IoT Build 0:6ae2f7bca550 8035
Azure.IoT Build 0:6ae2f7bca550 8036 sasl_init_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 8037
Azure.IoT Build 0:6ae2f7bca550 8038 result = 0;
Azure.IoT Build 0:6ae2f7bca550 8039 } while (0);
Azure.IoT Build 0:6ae2f7bca550 8040 }
Azure.IoT Build 0:6ae2f7bca550 8041 }
Azure.IoT Build 0:6ae2f7bca550 8042
Azure.IoT Build 0:6ae2f7bca550 8043 return result;
Azure.IoT Build 0:6ae2f7bca550 8044 }
Azure.IoT Build 0:6ae2f7bca550 8045
Azure.IoT Build 0:6ae2f7bca550 8046 int sasl_init_get_mechanism(SASL_INIT_HANDLE sasl_init, const char** mechanism_value)
Azure.IoT Build 0:6ae2f7bca550 8047 {
Azure.IoT Build 0:6ae2f7bca550 8048 int result;
Azure.IoT Build 0:6ae2f7bca550 8049
Azure.IoT Build 0:6ae2f7bca550 8050 if (sasl_init == NULL)
Azure.IoT Build 0:6ae2f7bca550 8051 {
AzureIoTClient 19:000ab4e6a2c1 8052 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8053 }
Azure.IoT Build 0:6ae2f7bca550 8054 else
Azure.IoT Build 0:6ae2f7bca550 8055 {
Azure.IoT Build 0:6ae2f7bca550 8056 SASL_INIT_INSTANCE* sasl_init_instance = (SASL_INIT_INSTANCE*)sasl_init;
Azure.IoT Build 0:6ae2f7bca550 8057 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(sasl_init_instance->composite_value, 0);
Azure.IoT Build 0:6ae2f7bca550 8058 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8059 {
AzureIoTClient 19:000ab4e6a2c1 8060 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8061 }
Azure.IoT Build 0:6ae2f7bca550 8062 else
Azure.IoT Build 0:6ae2f7bca550 8063 {
Azure.IoT Build 0:6ae2f7bca550 8064 if (amqpvalue_get_symbol(item_value, mechanism_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 8065 {
AzureIoTClient 19:000ab4e6a2c1 8066 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8067 }
Azure.IoT Build 0:6ae2f7bca550 8068 else
Azure.IoT Build 0:6ae2f7bca550 8069 {
Azure.IoT Build 0:6ae2f7bca550 8070 result = 0;
Azure.IoT Build 0:6ae2f7bca550 8071 }
Azure.IoT Build 0:6ae2f7bca550 8072 }
Azure.IoT Build 0:6ae2f7bca550 8073 }
Azure.IoT Build 0:6ae2f7bca550 8074
Azure.IoT Build 0:6ae2f7bca550 8075 return result;
Azure.IoT Build 0:6ae2f7bca550 8076 }
Azure.IoT Build 0:6ae2f7bca550 8077
Azure.IoT Build 0:6ae2f7bca550 8078 int sasl_init_set_mechanism(SASL_INIT_HANDLE sasl_init, const char* mechanism_value)
Azure.IoT Build 0:6ae2f7bca550 8079 {
Azure.IoT Build 0:6ae2f7bca550 8080 int result;
Azure.IoT Build 0:6ae2f7bca550 8081
Azure.IoT Build 0:6ae2f7bca550 8082 if (sasl_init == NULL)
Azure.IoT Build 0:6ae2f7bca550 8083 {
AzureIoTClient 19:000ab4e6a2c1 8084 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8085 }
Azure.IoT Build 0:6ae2f7bca550 8086 else
Azure.IoT Build 0:6ae2f7bca550 8087 {
Azure.IoT Build 0:6ae2f7bca550 8088 SASL_INIT_INSTANCE* sasl_init_instance = (SASL_INIT_INSTANCE*)sasl_init;
Azure.IoT Build 0:6ae2f7bca550 8089 AMQP_VALUE mechanism_amqp_value = amqpvalue_create_symbol(mechanism_value);
Azure.IoT Build 0:6ae2f7bca550 8090 if (mechanism_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8091 {
AzureIoTClient 19:000ab4e6a2c1 8092 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8093 }
Azure.IoT Build 0:6ae2f7bca550 8094 else
Azure.IoT Build 0:6ae2f7bca550 8095 {
Azure.IoT Build 0:6ae2f7bca550 8096 if (amqpvalue_set_composite_item(sasl_init_instance->composite_value, 0, mechanism_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 8097 {
AzureIoTClient 19:000ab4e6a2c1 8098 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8099 }
Azure.IoT Build 0:6ae2f7bca550 8100 else
Azure.IoT Build 0:6ae2f7bca550 8101 {
Azure.IoT Build 0:6ae2f7bca550 8102 result = 0;
Azure.IoT Build 0:6ae2f7bca550 8103 }
Azure.IoT Build 0:6ae2f7bca550 8104
Azure.IoT Build 0:6ae2f7bca550 8105 amqpvalue_destroy(mechanism_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 8106 }
Azure.IoT Build 0:6ae2f7bca550 8107 }
Azure.IoT Build 0:6ae2f7bca550 8108
Azure.IoT Build 0:6ae2f7bca550 8109 return result;
Azure.IoT Build 0:6ae2f7bca550 8110 }
Azure.IoT Build 0:6ae2f7bca550 8111
Azure.IoT Build 0:6ae2f7bca550 8112 int sasl_init_get_initial_response(SASL_INIT_HANDLE sasl_init, amqp_binary* initial_response_value)
Azure.IoT Build 0:6ae2f7bca550 8113 {
Azure.IoT Build 0:6ae2f7bca550 8114 int result;
Azure.IoT Build 0:6ae2f7bca550 8115
Azure.IoT Build 0:6ae2f7bca550 8116 if (sasl_init == NULL)
Azure.IoT Build 0:6ae2f7bca550 8117 {
AzureIoTClient 19:000ab4e6a2c1 8118 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8119 }
Azure.IoT Build 0:6ae2f7bca550 8120 else
Azure.IoT Build 0:6ae2f7bca550 8121 {
Azure.IoT Build 0:6ae2f7bca550 8122 SASL_INIT_INSTANCE* sasl_init_instance = (SASL_INIT_INSTANCE*)sasl_init;
Azure.IoT Build 0:6ae2f7bca550 8123 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(sasl_init_instance->composite_value, 1);
Azure.IoT Build 0:6ae2f7bca550 8124 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8125 {
AzureIoTClient 19:000ab4e6a2c1 8126 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8127 }
Azure.IoT Build 0:6ae2f7bca550 8128 else
Azure.IoT Build 0:6ae2f7bca550 8129 {
Azure.IoT Build 0:6ae2f7bca550 8130 if (amqpvalue_get_binary(item_value, initial_response_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 8131 {
AzureIoTClient 19:000ab4e6a2c1 8132 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8133 }
Azure.IoT Build 0:6ae2f7bca550 8134 else
Azure.IoT Build 0:6ae2f7bca550 8135 {
Azure.IoT Build 0:6ae2f7bca550 8136 result = 0;
Azure.IoT Build 0:6ae2f7bca550 8137 }
Azure.IoT Build 0:6ae2f7bca550 8138 }
Azure.IoT Build 0:6ae2f7bca550 8139 }
Azure.IoT Build 0:6ae2f7bca550 8140
Azure.IoT Build 0:6ae2f7bca550 8141 return result;
Azure.IoT Build 0:6ae2f7bca550 8142 }
Azure.IoT Build 0:6ae2f7bca550 8143
Azure.IoT Build 0:6ae2f7bca550 8144 int sasl_init_set_initial_response(SASL_INIT_HANDLE sasl_init, amqp_binary initial_response_value)
Azure.IoT Build 0:6ae2f7bca550 8145 {
Azure.IoT Build 0:6ae2f7bca550 8146 int result;
Azure.IoT Build 0:6ae2f7bca550 8147
Azure.IoT Build 0:6ae2f7bca550 8148 if (sasl_init == NULL)
Azure.IoT Build 0:6ae2f7bca550 8149 {
AzureIoTClient 19:000ab4e6a2c1 8150 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8151 }
Azure.IoT Build 0:6ae2f7bca550 8152 else
Azure.IoT Build 0:6ae2f7bca550 8153 {
Azure.IoT Build 0:6ae2f7bca550 8154 SASL_INIT_INSTANCE* sasl_init_instance = (SASL_INIT_INSTANCE*)sasl_init;
Azure.IoT Build 0:6ae2f7bca550 8155 AMQP_VALUE initial_response_amqp_value = amqpvalue_create_binary(initial_response_value);
Azure.IoT Build 0:6ae2f7bca550 8156 if (initial_response_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8157 {
AzureIoTClient 19:000ab4e6a2c1 8158 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8159 }
Azure.IoT Build 0:6ae2f7bca550 8160 else
Azure.IoT Build 0:6ae2f7bca550 8161 {
Azure.IoT Build 0:6ae2f7bca550 8162 if (amqpvalue_set_composite_item(sasl_init_instance->composite_value, 1, initial_response_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 8163 {
AzureIoTClient 19:000ab4e6a2c1 8164 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8165 }
Azure.IoT Build 0:6ae2f7bca550 8166 else
Azure.IoT Build 0:6ae2f7bca550 8167 {
Azure.IoT Build 0:6ae2f7bca550 8168 result = 0;
Azure.IoT Build 0:6ae2f7bca550 8169 }
Azure.IoT Build 0:6ae2f7bca550 8170
Azure.IoT Build 0:6ae2f7bca550 8171 amqpvalue_destroy(initial_response_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 8172 }
Azure.IoT Build 0:6ae2f7bca550 8173 }
Azure.IoT Build 0:6ae2f7bca550 8174
Azure.IoT Build 0:6ae2f7bca550 8175 return result;
Azure.IoT Build 0:6ae2f7bca550 8176 }
Azure.IoT Build 0:6ae2f7bca550 8177
Azure.IoT Build 0:6ae2f7bca550 8178 int sasl_init_get_hostname(SASL_INIT_HANDLE sasl_init, const char** hostname_value)
Azure.IoT Build 0:6ae2f7bca550 8179 {
Azure.IoT Build 0:6ae2f7bca550 8180 int result;
Azure.IoT Build 0:6ae2f7bca550 8181
Azure.IoT Build 0:6ae2f7bca550 8182 if (sasl_init == NULL)
Azure.IoT Build 0:6ae2f7bca550 8183 {
AzureIoTClient 19:000ab4e6a2c1 8184 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8185 }
Azure.IoT Build 0:6ae2f7bca550 8186 else
Azure.IoT Build 0:6ae2f7bca550 8187 {
Azure.IoT Build 0:6ae2f7bca550 8188 SASL_INIT_INSTANCE* sasl_init_instance = (SASL_INIT_INSTANCE*)sasl_init;
Azure.IoT Build 0:6ae2f7bca550 8189 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(sasl_init_instance->composite_value, 2);
Azure.IoT Build 0:6ae2f7bca550 8190 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8191 {
AzureIoTClient 19:000ab4e6a2c1 8192 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8193 }
Azure.IoT Build 0:6ae2f7bca550 8194 else
Azure.IoT Build 0:6ae2f7bca550 8195 {
Azure.IoT Build 0:6ae2f7bca550 8196 if (amqpvalue_get_string(item_value, hostname_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 8197 {
AzureIoTClient 19:000ab4e6a2c1 8198 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8199 }
Azure.IoT Build 0:6ae2f7bca550 8200 else
Azure.IoT Build 0:6ae2f7bca550 8201 {
Azure.IoT Build 0:6ae2f7bca550 8202 result = 0;
Azure.IoT Build 0:6ae2f7bca550 8203 }
Azure.IoT Build 0:6ae2f7bca550 8204 }
Azure.IoT Build 0:6ae2f7bca550 8205 }
Azure.IoT Build 0:6ae2f7bca550 8206
Azure.IoT Build 0:6ae2f7bca550 8207 return result;
Azure.IoT Build 0:6ae2f7bca550 8208 }
Azure.IoT Build 0:6ae2f7bca550 8209
Azure.IoT Build 0:6ae2f7bca550 8210 int sasl_init_set_hostname(SASL_INIT_HANDLE sasl_init, const char* hostname_value)
Azure.IoT Build 0:6ae2f7bca550 8211 {
Azure.IoT Build 0:6ae2f7bca550 8212 int result;
Azure.IoT Build 0:6ae2f7bca550 8213
Azure.IoT Build 0:6ae2f7bca550 8214 if (sasl_init == NULL)
Azure.IoT Build 0:6ae2f7bca550 8215 {
AzureIoTClient 19:000ab4e6a2c1 8216 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8217 }
Azure.IoT Build 0:6ae2f7bca550 8218 else
Azure.IoT Build 0:6ae2f7bca550 8219 {
Azure.IoT Build 0:6ae2f7bca550 8220 SASL_INIT_INSTANCE* sasl_init_instance = (SASL_INIT_INSTANCE*)sasl_init;
Azure.IoT Build 0:6ae2f7bca550 8221 AMQP_VALUE hostname_amqp_value = amqpvalue_create_string(hostname_value);
Azure.IoT Build 0:6ae2f7bca550 8222 if (hostname_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8223 {
AzureIoTClient 19:000ab4e6a2c1 8224 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8225 }
Azure.IoT Build 0:6ae2f7bca550 8226 else
Azure.IoT Build 0:6ae2f7bca550 8227 {
Azure.IoT Build 0:6ae2f7bca550 8228 if (amqpvalue_set_composite_item(sasl_init_instance->composite_value, 2, hostname_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 8229 {
AzureIoTClient 19:000ab4e6a2c1 8230 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8231 }
Azure.IoT Build 0:6ae2f7bca550 8232 else
Azure.IoT Build 0:6ae2f7bca550 8233 {
Azure.IoT Build 0:6ae2f7bca550 8234 result = 0;
Azure.IoT Build 0:6ae2f7bca550 8235 }
Azure.IoT Build 0:6ae2f7bca550 8236
Azure.IoT Build 0:6ae2f7bca550 8237 amqpvalue_destroy(hostname_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 8238 }
Azure.IoT Build 0:6ae2f7bca550 8239 }
Azure.IoT Build 0:6ae2f7bca550 8240
Azure.IoT Build 0:6ae2f7bca550 8241 return result;
Azure.IoT Build 0:6ae2f7bca550 8242 }
Azure.IoT Build 0:6ae2f7bca550 8243
Azure.IoT Build 0:6ae2f7bca550 8244
Azure.IoT Build 0:6ae2f7bca550 8245 /* sasl-challenge */
Azure.IoT Build 0:6ae2f7bca550 8246
Azure.IoT Build 0:6ae2f7bca550 8247 typedef struct SASL_CHALLENGE_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 8248 {
Azure.IoT Build 0:6ae2f7bca550 8249 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 8250 } SASL_CHALLENGE_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 8251
Azure.IoT Build 0:6ae2f7bca550 8252 static SASL_CHALLENGE_HANDLE sasl_challenge_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 8253 {
Azure.IoT Build 0:6ae2f7bca550 8254 SASL_CHALLENGE_INSTANCE* sasl_challenge_instance = (SASL_CHALLENGE_INSTANCE*)amqpalloc_malloc(sizeof(SASL_CHALLENGE_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 8255 if (sasl_challenge_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 8256 {
Azure.IoT Build 0:6ae2f7bca550 8257 sasl_challenge_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 8258 }
Azure.IoT Build 0:6ae2f7bca550 8259
Azure.IoT Build 0:6ae2f7bca550 8260 return sasl_challenge_instance;
Azure.IoT Build 0:6ae2f7bca550 8261 }
Azure.IoT Build 0:6ae2f7bca550 8262
Azure.IoT Build 0:6ae2f7bca550 8263 SASL_CHALLENGE_HANDLE sasl_challenge_create(amqp_binary challenge_value)
Azure.IoT Build 0:6ae2f7bca550 8264 {
Azure.IoT Build 0:6ae2f7bca550 8265 SASL_CHALLENGE_INSTANCE* sasl_challenge_instance = (SASL_CHALLENGE_INSTANCE*)amqpalloc_malloc(sizeof(SASL_CHALLENGE_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 8266 if (sasl_challenge_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 8267 {
Azure.IoT Build 0:6ae2f7bca550 8268 sasl_challenge_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(66);
Azure.IoT Build 0:6ae2f7bca550 8269 if (sasl_challenge_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8270 {
Azure.IoT Build 0:6ae2f7bca550 8271 amqpalloc_free(sasl_challenge_instance);
Azure.IoT Build 0:6ae2f7bca550 8272 sasl_challenge_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 8273 }
Azure.IoT Build 0:6ae2f7bca550 8274 else
Azure.IoT Build 0:6ae2f7bca550 8275 {
Azure.IoT Build 0:6ae2f7bca550 8276 AMQP_VALUE challenge_amqp_value;
Azure.IoT Build 0:6ae2f7bca550 8277 int result = 0;
Azure.IoT Build 0:6ae2f7bca550 8278
Azure.IoT Build 0:6ae2f7bca550 8279 challenge_amqp_value = amqpvalue_create_binary(challenge_value);
Azure.IoT Build 0:6ae2f7bca550 8280 if ((result == 0) && (amqpvalue_set_composite_item(sasl_challenge_instance->composite_value, 0, challenge_amqp_value) != 0))
Azure.IoT Build 0:6ae2f7bca550 8281 {
AzureIoTClient 19:000ab4e6a2c1 8282 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8283 }
Azure.IoT Build 0:6ae2f7bca550 8284
Azure.IoT Build 0:6ae2f7bca550 8285 amqpvalue_destroy(challenge_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 8286 }
Azure.IoT Build 0:6ae2f7bca550 8287 }
Azure.IoT Build 0:6ae2f7bca550 8288
Azure.IoT Build 0:6ae2f7bca550 8289 return sasl_challenge_instance;
Azure.IoT Build 0:6ae2f7bca550 8290 }
Azure.IoT Build 0:6ae2f7bca550 8291
Azure.IoT Build 0:6ae2f7bca550 8292 SASL_CHALLENGE_HANDLE sasl_challenge_clone(SASL_CHALLENGE_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 8293 {
Azure.IoT Build 0:6ae2f7bca550 8294 SASL_CHALLENGE_INSTANCE* sasl_challenge_instance = (SASL_CHALLENGE_INSTANCE*)amqpalloc_malloc(sizeof(SASL_CHALLENGE_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 8295 if (sasl_challenge_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 8296 {
Azure.IoT Build 0:6ae2f7bca550 8297 sasl_challenge_instance->composite_value = amqpvalue_clone(((SASL_CHALLENGE_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 8298 if (sasl_challenge_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8299 {
Azure.IoT Build 0:6ae2f7bca550 8300 amqpalloc_free(sasl_challenge_instance);
Azure.IoT Build 0:6ae2f7bca550 8301 sasl_challenge_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 8302 }
Azure.IoT Build 0:6ae2f7bca550 8303 }
Azure.IoT Build 0:6ae2f7bca550 8304
Azure.IoT Build 0:6ae2f7bca550 8305 return sasl_challenge_instance;
Azure.IoT Build 0:6ae2f7bca550 8306 }
Azure.IoT Build 0:6ae2f7bca550 8307
Azure.IoT Build 0:6ae2f7bca550 8308 void sasl_challenge_destroy(SASL_CHALLENGE_HANDLE sasl_challenge)
Azure.IoT Build 0:6ae2f7bca550 8309 {
Azure.IoT Build 0:6ae2f7bca550 8310 if (sasl_challenge != NULL)
Azure.IoT Build 0:6ae2f7bca550 8311 {
Azure.IoT Build 0:6ae2f7bca550 8312 SASL_CHALLENGE_INSTANCE* sasl_challenge_instance = (SASL_CHALLENGE_INSTANCE*)sasl_challenge;
Azure.IoT Build 0:6ae2f7bca550 8313 amqpvalue_destroy(sasl_challenge_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 8314 amqpalloc_free(sasl_challenge_instance);
Azure.IoT Build 0:6ae2f7bca550 8315 }
Azure.IoT Build 0:6ae2f7bca550 8316 }
Azure.IoT Build 0:6ae2f7bca550 8317
Azure.IoT Build 0:6ae2f7bca550 8318 AMQP_VALUE amqpvalue_create_sasl_challenge(SASL_CHALLENGE_HANDLE sasl_challenge)
Azure.IoT Build 0:6ae2f7bca550 8319 {
Azure.IoT Build 0:6ae2f7bca550 8320 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 8321
Azure.IoT Build 0:6ae2f7bca550 8322 if (sasl_challenge == NULL)
Azure.IoT Build 0:6ae2f7bca550 8323 {
Azure.IoT Build 0:6ae2f7bca550 8324 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 8325 }
Azure.IoT Build 0:6ae2f7bca550 8326 else
Azure.IoT Build 0:6ae2f7bca550 8327 {
Azure.IoT Build 0:6ae2f7bca550 8328 SASL_CHALLENGE_INSTANCE* sasl_challenge_instance = (SASL_CHALLENGE_INSTANCE*)sasl_challenge;
Azure.IoT Build 0:6ae2f7bca550 8329 result = amqpvalue_clone(sasl_challenge_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 8330 }
Azure.IoT Build 0:6ae2f7bca550 8331
Azure.IoT Build 0:6ae2f7bca550 8332 return result;
Azure.IoT Build 0:6ae2f7bca550 8333 }
Azure.IoT Build 0:6ae2f7bca550 8334
Azure.IoT Build 0:6ae2f7bca550 8335 bool is_sasl_challenge_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 8336 {
Azure.IoT Build 0:6ae2f7bca550 8337 bool result;
Azure.IoT Build 0:6ae2f7bca550 8338
Azure.IoT Build 0:6ae2f7bca550 8339 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 8340 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 8341 (descriptor_ulong == 66))
Azure.IoT Build 0:6ae2f7bca550 8342 {
Azure.IoT Build 0:6ae2f7bca550 8343 result = true;
Azure.IoT Build 0:6ae2f7bca550 8344 }
Azure.IoT Build 0:6ae2f7bca550 8345 else
Azure.IoT Build 0:6ae2f7bca550 8346 {
Azure.IoT Build 0:6ae2f7bca550 8347 result = false;
Azure.IoT Build 0:6ae2f7bca550 8348 }
Azure.IoT Build 0:6ae2f7bca550 8349
Azure.IoT Build 0:6ae2f7bca550 8350 return result;
Azure.IoT Build 0:6ae2f7bca550 8351 }
Azure.IoT Build 0:6ae2f7bca550 8352
Azure.IoT Build 0:6ae2f7bca550 8353
Azure.IoT Build 0:6ae2f7bca550 8354 int amqpvalue_get_sasl_challenge(AMQP_VALUE value, SASL_CHALLENGE_HANDLE* sasl_challenge_handle)
Azure.IoT Build 0:6ae2f7bca550 8355 {
Azure.IoT Build 0:6ae2f7bca550 8356 int result;
Azure.IoT Build 0:6ae2f7bca550 8357 SASL_CHALLENGE_INSTANCE* sasl_challenge_instance = (SASL_CHALLENGE_INSTANCE*)sasl_challenge_create_internal();
Azure.IoT Build 0:6ae2f7bca550 8358 *sasl_challenge_handle = sasl_challenge_instance;
Azure.IoT Build 0:6ae2f7bca550 8359 if (*sasl_challenge_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 8360 {
AzureIoTClient 19:000ab4e6a2c1 8361 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8362 }
Azure.IoT Build 0:6ae2f7bca550 8363 else
Azure.IoT Build 0:6ae2f7bca550 8364 {
Azure.IoT Build 0:6ae2f7bca550 8365 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 8366 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8367 {
Azure.IoT Build 0:6ae2f7bca550 8368 sasl_challenge_destroy(*sasl_challenge_handle);
AzureIoTClient 19:000ab4e6a2c1 8369 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8370 }
Azure.IoT Build 0:6ae2f7bca550 8371 else
Azure.IoT Build 0:6ae2f7bca550 8372 {
Azure.IoT Build 0:6ae2f7bca550 8373 do
Azure.IoT Build 0:6ae2f7bca550 8374 {
Azure.IoT Build 0:6ae2f7bca550 8375 AMQP_VALUE item_value;
Azure.IoT Build 0:6ae2f7bca550 8376 /* challenge */
Azure.IoT Build 0:6ae2f7bca550 8377 item_value = amqpvalue_get_list_item(list_value, 0);
Azure.IoT Build 0:6ae2f7bca550 8378 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8379 {
Azure.IoT Build 0:6ae2f7bca550 8380 {
Azure.IoT Build 0:6ae2f7bca550 8381 sasl_challenge_destroy(*sasl_challenge_handle);
AzureIoTClient 19:000ab4e6a2c1 8382 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8383 break;
Azure.IoT Build 0:6ae2f7bca550 8384 }
Azure.IoT Build 0:6ae2f7bca550 8385 }
Azure.IoT Build 0:6ae2f7bca550 8386 else
Azure.IoT Build 0:6ae2f7bca550 8387 {
Azure.IoT Build 0:6ae2f7bca550 8388 amqp_binary challenge;
Azure.IoT Build 0:6ae2f7bca550 8389 if (amqpvalue_get_binary(item_value, &challenge) != 0)
Azure.IoT Build 0:6ae2f7bca550 8390 {
Azure.IoT Build 0:6ae2f7bca550 8391 sasl_challenge_destroy(*sasl_challenge_handle);
AzureIoTClient 19:000ab4e6a2c1 8392 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8393 break;
Azure.IoT Build 0:6ae2f7bca550 8394 }
Azure.IoT Build 0:6ae2f7bca550 8395
Azure.IoT Build 0:6ae2f7bca550 8396 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 8397 }
Azure.IoT Build 0:6ae2f7bca550 8398
Azure.IoT Build 0:6ae2f7bca550 8399 sasl_challenge_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 8400
Azure.IoT Build 0:6ae2f7bca550 8401 result = 0;
Azure.IoT Build 0:6ae2f7bca550 8402 } while (0);
Azure.IoT Build 0:6ae2f7bca550 8403 }
Azure.IoT Build 0:6ae2f7bca550 8404 }
Azure.IoT Build 0:6ae2f7bca550 8405
Azure.IoT Build 0:6ae2f7bca550 8406 return result;
Azure.IoT Build 0:6ae2f7bca550 8407 }
Azure.IoT Build 0:6ae2f7bca550 8408
Azure.IoT Build 0:6ae2f7bca550 8409 int sasl_challenge_get_challenge(SASL_CHALLENGE_HANDLE sasl_challenge, amqp_binary* challenge_value)
Azure.IoT Build 0:6ae2f7bca550 8410 {
Azure.IoT Build 0:6ae2f7bca550 8411 int result;
Azure.IoT Build 0:6ae2f7bca550 8412
Azure.IoT Build 0:6ae2f7bca550 8413 if (sasl_challenge == NULL)
Azure.IoT Build 0:6ae2f7bca550 8414 {
AzureIoTClient 19:000ab4e6a2c1 8415 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8416 }
Azure.IoT Build 0:6ae2f7bca550 8417 else
Azure.IoT Build 0:6ae2f7bca550 8418 {
Azure.IoT Build 0:6ae2f7bca550 8419 SASL_CHALLENGE_INSTANCE* sasl_challenge_instance = (SASL_CHALLENGE_INSTANCE*)sasl_challenge;
Azure.IoT Build 0:6ae2f7bca550 8420 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(sasl_challenge_instance->composite_value, 0);
Azure.IoT Build 0:6ae2f7bca550 8421 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8422 {
AzureIoTClient 19:000ab4e6a2c1 8423 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8424 }
Azure.IoT Build 0:6ae2f7bca550 8425 else
Azure.IoT Build 0:6ae2f7bca550 8426 {
Azure.IoT Build 0:6ae2f7bca550 8427 if (amqpvalue_get_binary(item_value, challenge_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 8428 {
AzureIoTClient 19:000ab4e6a2c1 8429 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8430 }
Azure.IoT Build 0:6ae2f7bca550 8431 else
Azure.IoT Build 0:6ae2f7bca550 8432 {
Azure.IoT Build 0:6ae2f7bca550 8433 result = 0;
Azure.IoT Build 0:6ae2f7bca550 8434 }
Azure.IoT Build 0:6ae2f7bca550 8435 }
Azure.IoT Build 0:6ae2f7bca550 8436 }
Azure.IoT Build 0:6ae2f7bca550 8437
Azure.IoT Build 0:6ae2f7bca550 8438 return result;
Azure.IoT Build 0:6ae2f7bca550 8439 }
Azure.IoT Build 0:6ae2f7bca550 8440
Azure.IoT Build 0:6ae2f7bca550 8441 int sasl_challenge_set_challenge(SASL_CHALLENGE_HANDLE sasl_challenge, amqp_binary challenge_value)
Azure.IoT Build 0:6ae2f7bca550 8442 {
Azure.IoT Build 0:6ae2f7bca550 8443 int result;
Azure.IoT Build 0:6ae2f7bca550 8444
Azure.IoT Build 0:6ae2f7bca550 8445 if (sasl_challenge == NULL)
Azure.IoT Build 0:6ae2f7bca550 8446 {
AzureIoTClient 19:000ab4e6a2c1 8447 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8448 }
Azure.IoT Build 0:6ae2f7bca550 8449 else
Azure.IoT Build 0:6ae2f7bca550 8450 {
Azure.IoT Build 0:6ae2f7bca550 8451 SASL_CHALLENGE_INSTANCE* sasl_challenge_instance = (SASL_CHALLENGE_INSTANCE*)sasl_challenge;
Azure.IoT Build 0:6ae2f7bca550 8452 AMQP_VALUE challenge_amqp_value = amqpvalue_create_binary(challenge_value);
Azure.IoT Build 0:6ae2f7bca550 8453 if (challenge_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8454 {
AzureIoTClient 19:000ab4e6a2c1 8455 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8456 }
Azure.IoT Build 0:6ae2f7bca550 8457 else
Azure.IoT Build 0:6ae2f7bca550 8458 {
Azure.IoT Build 0:6ae2f7bca550 8459 if (amqpvalue_set_composite_item(sasl_challenge_instance->composite_value, 0, challenge_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 8460 {
AzureIoTClient 19:000ab4e6a2c1 8461 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8462 }
Azure.IoT Build 0:6ae2f7bca550 8463 else
Azure.IoT Build 0:6ae2f7bca550 8464 {
Azure.IoT Build 0:6ae2f7bca550 8465 result = 0;
Azure.IoT Build 0:6ae2f7bca550 8466 }
Azure.IoT Build 0:6ae2f7bca550 8467
Azure.IoT Build 0:6ae2f7bca550 8468 amqpvalue_destroy(challenge_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 8469 }
Azure.IoT Build 0:6ae2f7bca550 8470 }
Azure.IoT Build 0:6ae2f7bca550 8471
Azure.IoT Build 0:6ae2f7bca550 8472 return result;
Azure.IoT Build 0:6ae2f7bca550 8473 }
Azure.IoT Build 0:6ae2f7bca550 8474
Azure.IoT Build 0:6ae2f7bca550 8475
Azure.IoT Build 0:6ae2f7bca550 8476 /* sasl-response */
Azure.IoT Build 0:6ae2f7bca550 8477
Azure.IoT Build 0:6ae2f7bca550 8478 typedef struct SASL_RESPONSE_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 8479 {
Azure.IoT Build 0:6ae2f7bca550 8480 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 8481 } SASL_RESPONSE_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 8482
Azure.IoT Build 0:6ae2f7bca550 8483 static SASL_RESPONSE_HANDLE sasl_response_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 8484 {
Azure.IoT Build 0:6ae2f7bca550 8485 SASL_RESPONSE_INSTANCE* sasl_response_instance = (SASL_RESPONSE_INSTANCE*)amqpalloc_malloc(sizeof(SASL_RESPONSE_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 8486 if (sasl_response_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 8487 {
Azure.IoT Build 0:6ae2f7bca550 8488 sasl_response_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 8489 }
Azure.IoT Build 0:6ae2f7bca550 8490
Azure.IoT Build 0:6ae2f7bca550 8491 return sasl_response_instance;
Azure.IoT Build 0:6ae2f7bca550 8492 }
Azure.IoT Build 0:6ae2f7bca550 8493
Azure.IoT Build 0:6ae2f7bca550 8494 SASL_RESPONSE_HANDLE sasl_response_create(amqp_binary response_value)
Azure.IoT Build 0:6ae2f7bca550 8495 {
Azure.IoT Build 0:6ae2f7bca550 8496 SASL_RESPONSE_INSTANCE* sasl_response_instance = (SASL_RESPONSE_INSTANCE*)amqpalloc_malloc(sizeof(SASL_RESPONSE_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 8497 if (sasl_response_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 8498 {
Azure.IoT Build 0:6ae2f7bca550 8499 sasl_response_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(67);
Azure.IoT Build 0:6ae2f7bca550 8500 if (sasl_response_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8501 {
Azure.IoT Build 0:6ae2f7bca550 8502 amqpalloc_free(sasl_response_instance);
Azure.IoT Build 0:6ae2f7bca550 8503 sasl_response_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 8504 }
Azure.IoT Build 0:6ae2f7bca550 8505 else
Azure.IoT Build 0:6ae2f7bca550 8506 {
Azure.IoT Build 0:6ae2f7bca550 8507 AMQP_VALUE response_amqp_value;
Azure.IoT Build 0:6ae2f7bca550 8508 int result = 0;
Azure.IoT Build 0:6ae2f7bca550 8509
Azure.IoT Build 0:6ae2f7bca550 8510 response_amqp_value = amqpvalue_create_binary(response_value);
Azure.IoT Build 0:6ae2f7bca550 8511 if ((result == 0) && (amqpvalue_set_composite_item(sasl_response_instance->composite_value, 0, response_amqp_value) != 0))
Azure.IoT Build 0:6ae2f7bca550 8512 {
AzureIoTClient 19:000ab4e6a2c1 8513 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8514 }
Azure.IoT Build 0:6ae2f7bca550 8515
Azure.IoT Build 0:6ae2f7bca550 8516 amqpvalue_destroy(response_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 8517 }
Azure.IoT Build 0:6ae2f7bca550 8518 }
Azure.IoT Build 0:6ae2f7bca550 8519
Azure.IoT Build 0:6ae2f7bca550 8520 return sasl_response_instance;
Azure.IoT Build 0:6ae2f7bca550 8521 }
Azure.IoT Build 0:6ae2f7bca550 8522
Azure.IoT Build 0:6ae2f7bca550 8523 SASL_RESPONSE_HANDLE sasl_response_clone(SASL_RESPONSE_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 8524 {
Azure.IoT Build 0:6ae2f7bca550 8525 SASL_RESPONSE_INSTANCE* sasl_response_instance = (SASL_RESPONSE_INSTANCE*)amqpalloc_malloc(sizeof(SASL_RESPONSE_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 8526 if (sasl_response_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 8527 {
Azure.IoT Build 0:6ae2f7bca550 8528 sasl_response_instance->composite_value = amqpvalue_clone(((SASL_RESPONSE_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 8529 if (sasl_response_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8530 {
Azure.IoT Build 0:6ae2f7bca550 8531 amqpalloc_free(sasl_response_instance);
Azure.IoT Build 0:6ae2f7bca550 8532 sasl_response_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 8533 }
Azure.IoT Build 0:6ae2f7bca550 8534 }
Azure.IoT Build 0:6ae2f7bca550 8535
Azure.IoT Build 0:6ae2f7bca550 8536 return sasl_response_instance;
Azure.IoT Build 0:6ae2f7bca550 8537 }
Azure.IoT Build 0:6ae2f7bca550 8538
Azure.IoT Build 0:6ae2f7bca550 8539 void sasl_response_destroy(SASL_RESPONSE_HANDLE sasl_response)
Azure.IoT Build 0:6ae2f7bca550 8540 {
Azure.IoT Build 0:6ae2f7bca550 8541 if (sasl_response != NULL)
Azure.IoT Build 0:6ae2f7bca550 8542 {
Azure.IoT Build 0:6ae2f7bca550 8543 SASL_RESPONSE_INSTANCE* sasl_response_instance = (SASL_RESPONSE_INSTANCE*)sasl_response;
Azure.IoT Build 0:6ae2f7bca550 8544 amqpvalue_destroy(sasl_response_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 8545 amqpalloc_free(sasl_response_instance);
Azure.IoT Build 0:6ae2f7bca550 8546 }
Azure.IoT Build 0:6ae2f7bca550 8547 }
Azure.IoT Build 0:6ae2f7bca550 8548
Azure.IoT Build 0:6ae2f7bca550 8549 AMQP_VALUE amqpvalue_create_sasl_response(SASL_RESPONSE_HANDLE sasl_response)
Azure.IoT Build 0:6ae2f7bca550 8550 {
Azure.IoT Build 0:6ae2f7bca550 8551 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 8552
Azure.IoT Build 0:6ae2f7bca550 8553 if (sasl_response == NULL)
Azure.IoT Build 0:6ae2f7bca550 8554 {
Azure.IoT Build 0:6ae2f7bca550 8555 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 8556 }
Azure.IoT Build 0:6ae2f7bca550 8557 else
Azure.IoT Build 0:6ae2f7bca550 8558 {
Azure.IoT Build 0:6ae2f7bca550 8559 SASL_RESPONSE_INSTANCE* sasl_response_instance = (SASL_RESPONSE_INSTANCE*)sasl_response;
Azure.IoT Build 0:6ae2f7bca550 8560 result = amqpvalue_clone(sasl_response_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 8561 }
Azure.IoT Build 0:6ae2f7bca550 8562
Azure.IoT Build 0:6ae2f7bca550 8563 return result;
Azure.IoT Build 0:6ae2f7bca550 8564 }
Azure.IoT Build 0:6ae2f7bca550 8565
Azure.IoT Build 0:6ae2f7bca550 8566 bool is_sasl_response_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 8567 {
Azure.IoT Build 0:6ae2f7bca550 8568 bool result;
Azure.IoT Build 0:6ae2f7bca550 8569
Azure.IoT Build 0:6ae2f7bca550 8570 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 8571 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 8572 (descriptor_ulong == 67))
Azure.IoT Build 0:6ae2f7bca550 8573 {
Azure.IoT Build 0:6ae2f7bca550 8574 result = true;
Azure.IoT Build 0:6ae2f7bca550 8575 }
Azure.IoT Build 0:6ae2f7bca550 8576 else
Azure.IoT Build 0:6ae2f7bca550 8577 {
Azure.IoT Build 0:6ae2f7bca550 8578 result = false;
Azure.IoT Build 0:6ae2f7bca550 8579 }
Azure.IoT Build 0:6ae2f7bca550 8580
Azure.IoT Build 0:6ae2f7bca550 8581 return result;
Azure.IoT Build 0:6ae2f7bca550 8582 }
Azure.IoT Build 0:6ae2f7bca550 8583
Azure.IoT Build 0:6ae2f7bca550 8584
Azure.IoT Build 0:6ae2f7bca550 8585 int amqpvalue_get_sasl_response(AMQP_VALUE value, SASL_RESPONSE_HANDLE* sasl_response_handle)
Azure.IoT Build 0:6ae2f7bca550 8586 {
Azure.IoT Build 0:6ae2f7bca550 8587 int result;
Azure.IoT Build 0:6ae2f7bca550 8588 SASL_RESPONSE_INSTANCE* sasl_response_instance = (SASL_RESPONSE_INSTANCE*)sasl_response_create_internal();
Azure.IoT Build 0:6ae2f7bca550 8589 *sasl_response_handle = sasl_response_instance;
Azure.IoT Build 0:6ae2f7bca550 8590 if (*sasl_response_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 8591 {
AzureIoTClient 19:000ab4e6a2c1 8592 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8593 }
Azure.IoT Build 0:6ae2f7bca550 8594 else
Azure.IoT Build 0:6ae2f7bca550 8595 {
Azure.IoT Build 0:6ae2f7bca550 8596 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 8597 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8598 {
Azure.IoT Build 0:6ae2f7bca550 8599 sasl_response_destroy(*sasl_response_handle);
AzureIoTClient 19:000ab4e6a2c1 8600 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8601 }
Azure.IoT Build 0:6ae2f7bca550 8602 else
Azure.IoT Build 0:6ae2f7bca550 8603 {
Azure.IoT Build 0:6ae2f7bca550 8604 do
Azure.IoT Build 0:6ae2f7bca550 8605 {
Azure.IoT Build 0:6ae2f7bca550 8606 AMQP_VALUE item_value;
Azure.IoT Build 0:6ae2f7bca550 8607 /* response */
Azure.IoT Build 0:6ae2f7bca550 8608 item_value = amqpvalue_get_list_item(list_value, 0);
Azure.IoT Build 0:6ae2f7bca550 8609 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8610 {
Azure.IoT Build 0:6ae2f7bca550 8611 {
Azure.IoT Build 0:6ae2f7bca550 8612 sasl_response_destroy(*sasl_response_handle);
AzureIoTClient 19:000ab4e6a2c1 8613 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8614 break;
Azure.IoT Build 0:6ae2f7bca550 8615 }
Azure.IoT Build 0:6ae2f7bca550 8616 }
Azure.IoT Build 0:6ae2f7bca550 8617 else
Azure.IoT Build 0:6ae2f7bca550 8618 {
Azure.IoT Build 0:6ae2f7bca550 8619 amqp_binary response;
Azure.IoT Build 0:6ae2f7bca550 8620 if (amqpvalue_get_binary(item_value, &response) != 0)
Azure.IoT Build 0:6ae2f7bca550 8621 {
Azure.IoT Build 0:6ae2f7bca550 8622 sasl_response_destroy(*sasl_response_handle);
AzureIoTClient 19:000ab4e6a2c1 8623 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8624 break;
Azure.IoT Build 0:6ae2f7bca550 8625 }
Azure.IoT Build 0:6ae2f7bca550 8626
Azure.IoT Build 0:6ae2f7bca550 8627 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 8628 }
Azure.IoT Build 0:6ae2f7bca550 8629
Azure.IoT Build 0:6ae2f7bca550 8630 sasl_response_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 8631
Azure.IoT Build 0:6ae2f7bca550 8632 result = 0;
Azure.IoT Build 0:6ae2f7bca550 8633 } while (0);
Azure.IoT Build 0:6ae2f7bca550 8634 }
Azure.IoT Build 0:6ae2f7bca550 8635 }
Azure.IoT Build 0:6ae2f7bca550 8636
Azure.IoT Build 0:6ae2f7bca550 8637 return result;
Azure.IoT Build 0:6ae2f7bca550 8638 }
Azure.IoT Build 0:6ae2f7bca550 8639
Azure.IoT Build 0:6ae2f7bca550 8640 int sasl_response_get_response(SASL_RESPONSE_HANDLE sasl_response, amqp_binary* response_value)
Azure.IoT Build 0:6ae2f7bca550 8641 {
Azure.IoT Build 0:6ae2f7bca550 8642 int result;
Azure.IoT Build 0:6ae2f7bca550 8643
Azure.IoT Build 0:6ae2f7bca550 8644 if (sasl_response == NULL)
Azure.IoT Build 0:6ae2f7bca550 8645 {
AzureIoTClient 19:000ab4e6a2c1 8646 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8647 }
Azure.IoT Build 0:6ae2f7bca550 8648 else
Azure.IoT Build 0:6ae2f7bca550 8649 {
Azure.IoT Build 0:6ae2f7bca550 8650 SASL_RESPONSE_INSTANCE* sasl_response_instance = (SASL_RESPONSE_INSTANCE*)sasl_response;
Azure.IoT Build 0:6ae2f7bca550 8651 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(sasl_response_instance->composite_value, 0);
Azure.IoT Build 0:6ae2f7bca550 8652 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8653 {
AzureIoTClient 19:000ab4e6a2c1 8654 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8655 }
Azure.IoT Build 0:6ae2f7bca550 8656 else
Azure.IoT Build 0:6ae2f7bca550 8657 {
Azure.IoT Build 0:6ae2f7bca550 8658 if (amqpvalue_get_binary(item_value, response_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 8659 {
AzureIoTClient 19:000ab4e6a2c1 8660 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8661 }
Azure.IoT Build 0:6ae2f7bca550 8662 else
Azure.IoT Build 0:6ae2f7bca550 8663 {
Azure.IoT Build 0:6ae2f7bca550 8664 result = 0;
Azure.IoT Build 0:6ae2f7bca550 8665 }
Azure.IoT Build 0:6ae2f7bca550 8666 }
Azure.IoT Build 0:6ae2f7bca550 8667 }
Azure.IoT Build 0:6ae2f7bca550 8668
Azure.IoT Build 0:6ae2f7bca550 8669 return result;
Azure.IoT Build 0:6ae2f7bca550 8670 }
Azure.IoT Build 0:6ae2f7bca550 8671
Azure.IoT Build 0:6ae2f7bca550 8672 int sasl_response_set_response(SASL_RESPONSE_HANDLE sasl_response, amqp_binary response_value)
Azure.IoT Build 0:6ae2f7bca550 8673 {
Azure.IoT Build 0:6ae2f7bca550 8674 int result;
Azure.IoT Build 0:6ae2f7bca550 8675
Azure.IoT Build 0:6ae2f7bca550 8676 if (sasl_response == NULL)
Azure.IoT Build 0:6ae2f7bca550 8677 {
AzureIoTClient 19:000ab4e6a2c1 8678 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8679 }
Azure.IoT Build 0:6ae2f7bca550 8680 else
Azure.IoT Build 0:6ae2f7bca550 8681 {
Azure.IoT Build 0:6ae2f7bca550 8682 SASL_RESPONSE_INSTANCE* sasl_response_instance = (SASL_RESPONSE_INSTANCE*)sasl_response;
Azure.IoT Build 0:6ae2f7bca550 8683 AMQP_VALUE response_amqp_value = amqpvalue_create_binary(response_value);
Azure.IoT Build 0:6ae2f7bca550 8684 if (response_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8685 {
AzureIoTClient 19:000ab4e6a2c1 8686 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8687 }
Azure.IoT Build 0:6ae2f7bca550 8688 else
Azure.IoT Build 0:6ae2f7bca550 8689 {
Azure.IoT Build 0:6ae2f7bca550 8690 if (amqpvalue_set_composite_item(sasl_response_instance->composite_value, 0, response_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 8691 {
AzureIoTClient 19:000ab4e6a2c1 8692 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8693 }
Azure.IoT Build 0:6ae2f7bca550 8694 else
Azure.IoT Build 0:6ae2f7bca550 8695 {
Azure.IoT Build 0:6ae2f7bca550 8696 result = 0;
Azure.IoT Build 0:6ae2f7bca550 8697 }
Azure.IoT Build 0:6ae2f7bca550 8698
Azure.IoT Build 0:6ae2f7bca550 8699 amqpvalue_destroy(response_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 8700 }
Azure.IoT Build 0:6ae2f7bca550 8701 }
Azure.IoT Build 0:6ae2f7bca550 8702
Azure.IoT Build 0:6ae2f7bca550 8703 return result;
Azure.IoT Build 0:6ae2f7bca550 8704 }
Azure.IoT Build 0:6ae2f7bca550 8705
Azure.IoT Build 0:6ae2f7bca550 8706
Azure.IoT Build 0:6ae2f7bca550 8707 /* sasl-outcome */
Azure.IoT Build 0:6ae2f7bca550 8708
Azure.IoT Build 0:6ae2f7bca550 8709 typedef struct SASL_OUTCOME_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 8710 {
Azure.IoT Build 0:6ae2f7bca550 8711 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 8712 } SASL_OUTCOME_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 8713
Azure.IoT Build 0:6ae2f7bca550 8714 static SASL_OUTCOME_HANDLE sasl_outcome_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 8715 {
Azure.IoT Build 0:6ae2f7bca550 8716 SASL_OUTCOME_INSTANCE* sasl_outcome_instance = (SASL_OUTCOME_INSTANCE*)amqpalloc_malloc(sizeof(SASL_OUTCOME_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 8717 if (sasl_outcome_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 8718 {
Azure.IoT Build 0:6ae2f7bca550 8719 sasl_outcome_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 8720 }
Azure.IoT Build 0:6ae2f7bca550 8721
Azure.IoT Build 0:6ae2f7bca550 8722 return sasl_outcome_instance;
Azure.IoT Build 0:6ae2f7bca550 8723 }
Azure.IoT Build 0:6ae2f7bca550 8724
Azure.IoT Build 0:6ae2f7bca550 8725 SASL_OUTCOME_HANDLE sasl_outcome_create(sasl_code code_value)
Azure.IoT Build 0:6ae2f7bca550 8726 {
Azure.IoT Build 0:6ae2f7bca550 8727 SASL_OUTCOME_INSTANCE* sasl_outcome_instance = (SASL_OUTCOME_INSTANCE*)amqpalloc_malloc(sizeof(SASL_OUTCOME_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 8728 if (sasl_outcome_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 8729 {
Azure.IoT Build 0:6ae2f7bca550 8730 sasl_outcome_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(68);
Azure.IoT Build 0:6ae2f7bca550 8731 if (sasl_outcome_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8732 {
Azure.IoT Build 0:6ae2f7bca550 8733 amqpalloc_free(sasl_outcome_instance);
Azure.IoT Build 0:6ae2f7bca550 8734 sasl_outcome_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 8735 }
Azure.IoT Build 0:6ae2f7bca550 8736 else
Azure.IoT Build 0:6ae2f7bca550 8737 {
Azure.IoT Build 0:6ae2f7bca550 8738 AMQP_VALUE code_amqp_value;
Azure.IoT Build 0:6ae2f7bca550 8739 int result = 0;
Azure.IoT Build 0:6ae2f7bca550 8740
Azure.IoT Build 0:6ae2f7bca550 8741 code_amqp_value = amqpvalue_create_sasl_code(code_value);
Azure.IoT Build 0:6ae2f7bca550 8742 if ((result == 0) && (amqpvalue_set_composite_item(sasl_outcome_instance->composite_value, 0, code_amqp_value) != 0))
Azure.IoT Build 0:6ae2f7bca550 8743 {
AzureIoTClient 19:000ab4e6a2c1 8744 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8745 }
Azure.IoT Build 0:6ae2f7bca550 8746
Azure.IoT Build 0:6ae2f7bca550 8747 amqpvalue_destroy(code_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 8748 }
Azure.IoT Build 0:6ae2f7bca550 8749 }
Azure.IoT Build 0:6ae2f7bca550 8750
Azure.IoT Build 0:6ae2f7bca550 8751 return sasl_outcome_instance;
Azure.IoT Build 0:6ae2f7bca550 8752 }
Azure.IoT Build 0:6ae2f7bca550 8753
Azure.IoT Build 0:6ae2f7bca550 8754 SASL_OUTCOME_HANDLE sasl_outcome_clone(SASL_OUTCOME_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 8755 {
Azure.IoT Build 0:6ae2f7bca550 8756 SASL_OUTCOME_INSTANCE* sasl_outcome_instance = (SASL_OUTCOME_INSTANCE*)amqpalloc_malloc(sizeof(SASL_OUTCOME_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 8757 if (sasl_outcome_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 8758 {
Azure.IoT Build 0:6ae2f7bca550 8759 sasl_outcome_instance->composite_value = amqpvalue_clone(((SASL_OUTCOME_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 8760 if (sasl_outcome_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8761 {
Azure.IoT Build 0:6ae2f7bca550 8762 amqpalloc_free(sasl_outcome_instance);
Azure.IoT Build 0:6ae2f7bca550 8763 sasl_outcome_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 8764 }
Azure.IoT Build 0:6ae2f7bca550 8765 }
Azure.IoT Build 0:6ae2f7bca550 8766
Azure.IoT Build 0:6ae2f7bca550 8767 return sasl_outcome_instance;
Azure.IoT Build 0:6ae2f7bca550 8768 }
Azure.IoT Build 0:6ae2f7bca550 8769
Azure.IoT Build 0:6ae2f7bca550 8770 void sasl_outcome_destroy(SASL_OUTCOME_HANDLE sasl_outcome)
Azure.IoT Build 0:6ae2f7bca550 8771 {
Azure.IoT Build 0:6ae2f7bca550 8772 if (sasl_outcome != NULL)
Azure.IoT Build 0:6ae2f7bca550 8773 {
Azure.IoT Build 0:6ae2f7bca550 8774 SASL_OUTCOME_INSTANCE* sasl_outcome_instance = (SASL_OUTCOME_INSTANCE*)sasl_outcome;
Azure.IoT Build 0:6ae2f7bca550 8775 amqpvalue_destroy(sasl_outcome_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 8776 amqpalloc_free(sasl_outcome_instance);
Azure.IoT Build 0:6ae2f7bca550 8777 }
Azure.IoT Build 0:6ae2f7bca550 8778 }
Azure.IoT Build 0:6ae2f7bca550 8779
Azure.IoT Build 0:6ae2f7bca550 8780 AMQP_VALUE amqpvalue_create_sasl_outcome(SASL_OUTCOME_HANDLE sasl_outcome)
Azure.IoT Build 0:6ae2f7bca550 8781 {
Azure.IoT Build 0:6ae2f7bca550 8782 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 8783
Azure.IoT Build 0:6ae2f7bca550 8784 if (sasl_outcome == NULL)
Azure.IoT Build 0:6ae2f7bca550 8785 {
Azure.IoT Build 0:6ae2f7bca550 8786 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 8787 }
Azure.IoT Build 0:6ae2f7bca550 8788 else
Azure.IoT Build 0:6ae2f7bca550 8789 {
Azure.IoT Build 0:6ae2f7bca550 8790 SASL_OUTCOME_INSTANCE* sasl_outcome_instance = (SASL_OUTCOME_INSTANCE*)sasl_outcome;
Azure.IoT Build 0:6ae2f7bca550 8791 result = amqpvalue_clone(sasl_outcome_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 8792 }
Azure.IoT Build 0:6ae2f7bca550 8793
Azure.IoT Build 0:6ae2f7bca550 8794 return result;
Azure.IoT Build 0:6ae2f7bca550 8795 }
Azure.IoT Build 0:6ae2f7bca550 8796
Azure.IoT Build 0:6ae2f7bca550 8797 bool is_sasl_outcome_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 8798 {
Azure.IoT Build 0:6ae2f7bca550 8799 bool result;
Azure.IoT Build 0:6ae2f7bca550 8800
Azure.IoT Build 0:6ae2f7bca550 8801 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 8802 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 8803 (descriptor_ulong == 68))
Azure.IoT Build 0:6ae2f7bca550 8804 {
Azure.IoT Build 0:6ae2f7bca550 8805 result = true;
Azure.IoT Build 0:6ae2f7bca550 8806 }
Azure.IoT Build 0:6ae2f7bca550 8807 else
Azure.IoT Build 0:6ae2f7bca550 8808 {
Azure.IoT Build 0:6ae2f7bca550 8809 result = false;
Azure.IoT Build 0:6ae2f7bca550 8810 }
Azure.IoT Build 0:6ae2f7bca550 8811
Azure.IoT Build 0:6ae2f7bca550 8812 return result;
Azure.IoT Build 0:6ae2f7bca550 8813 }
Azure.IoT Build 0:6ae2f7bca550 8814
Azure.IoT Build 0:6ae2f7bca550 8815
Azure.IoT Build 0:6ae2f7bca550 8816 int amqpvalue_get_sasl_outcome(AMQP_VALUE value, SASL_OUTCOME_HANDLE* sasl_outcome_handle)
Azure.IoT Build 0:6ae2f7bca550 8817 {
Azure.IoT Build 0:6ae2f7bca550 8818 int result;
Azure.IoT Build 0:6ae2f7bca550 8819 SASL_OUTCOME_INSTANCE* sasl_outcome_instance = (SASL_OUTCOME_INSTANCE*)sasl_outcome_create_internal();
Azure.IoT Build 0:6ae2f7bca550 8820 *sasl_outcome_handle = sasl_outcome_instance;
Azure.IoT Build 0:6ae2f7bca550 8821 if (*sasl_outcome_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 8822 {
AzureIoTClient 19:000ab4e6a2c1 8823 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8824 }
Azure.IoT Build 0:6ae2f7bca550 8825 else
Azure.IoT Build 0:6ae2f7bca550 8826 {
Azure.IoT Build 0:6ae2f7bca550 8827 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 8828 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8829 {
Azure.IoT Build 0:6ae2f7bca550 8830 sasl_outcome_destroy(*sasl_outcome_handle);
AzureIoTClient 19:000ab4e6a2c1 8831 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8832 }
Azure.IoT Build 0:6ae2f7bca550 8833 else
Azure.IoT Build 0:6ae2f7bca550 8834 {
Azure.IoT Build 0:6ae2f7bca550 8835 do
Azure.IoT Build 0:6ae2f7bca550 8836 {
Azure.IoT Build 0:6ae2f7bca550 8837 AMQP_VALUE item_value;
Azure.IoT Build 0:6ae2f7bca550 8838 /* code */
Azure.IoT Build 0:6ae2f7bca550 8839 item_value = amqpvalue_get_list_item(list_value, 0);
Azure.IoT Build 0:6ae2f7bca550 8840 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8841 {
Azure.IoT Build 0:6ae2f7bca550 8842 {
Azure.IoT Build 0:6ae2f7bca550 8843 sasl_outcome_destroy(*sasl_outcome_handle);
AzureIoTClient 19:000ab4e6a2c1 8844 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8845 break;
Azure.IoT Build 0:6ae2f7bca550 8846 }
Azure.IoT Build 0:6ae2f7bca550 8847 }
Azure.IoT Build 0:6ae2f7bca550 8848 else
Azure.IoT Build 0:6ae2f7bca550 8849 {
Azure.IoT Build 0:6ae2f7bca550 8850 sasl_code code;
Azure.IoT Build 0:6ae2f7bca550 8851 if (amqpvalue_get_sasl_code(item_value, &code) != 0)
Azure.IoT Build 0:6ae2f7bca550 8852 {
Azure.IoT Build 0:6ae2f7bca550 8853 sasl_outcome_destroy(*sasl_outcome_handle);
AzureIoTClient 19:000ab4e6a2c1 8854 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8855 break;
Azure.IoT Build 0:6ae2f7bca550 8856 }
Azure.IoT Build 0:6ae2f7bca550 8857
Azure.IoT Build 0:6ae2f7bca550 8858 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 8859 }
Azure.IoT Build 0:6ae2f7bca550 8860 /* additional-data */
Azure.IoT Build 0:6ae2f7bca550 8861 item_value = amqpvalue_get_list_item(list_value, 1);
Azure.IoT Build 0:6ae2f7bca550 8862 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8863 {
Azure.IoT Build 0:6ae2f7bca550 8864 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 8865 }
Azure.IoT Build 0:6ae2f7bca550 8866 else
Azure.IoT Build 0:6ae2f7bca550 8867 {
Azure.IoT Build 0:6ae2f7bca550 8868 amqp_binary additional_data;
Azure.IoT Build 0:6ae2f7bca550 8869 if (amqpvalue_get_binary(item_value, &additional_data) != 0)
Azure.IoT Build 0:6ae2f7bca550 8870 {
Azure.IoT Build 0:6ae2f7bca550 8871 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 8872 {
Azure.IoT Build 0:6ae2f7bca550 8873 sasl_outcome_destroy(*sasl_outcome_handle);
AzureIoTClient 19:000ab4e6a2c1 8874 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8875 break;
Azure.IoT Build 0:6ae2f7bca550 8876 }
Azure.IoT Build 0:6ae2f7bca550 8877 }
Azure.IoT Build 0:6ae2f7bca550 8878
Azure.IoT Build 0:6ae2f7bca550 8879 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 8880 }
Azure.IoT Build 0:6ae2f7bca550 8881
Azure.IoT Build 0:6ae2f7bca550 8882 sasl_outcome_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 8883
Azure.IoT Build 0:6ae2f7bca550 8884 result = 0;
Azure.IoT Build 0:6ae2f7bca550 8885 } while (0);
Azure.IoT Build 0:6ae2f7bca550 8886 }
Azure.IoT Build 0:6ae2f7bca550 8887 }
Azure.IoT Build 0:6ae2f7bca550 8888
Azure.IoT Build 0:6ae2f7bca550 8889 return result;
Azure.IoT Build 0:6ae2f7bca550 8890 }
Azure.IoT Build 0:6ae2f7bca550 8891
Azure.IoT Build 0:6ae2f7bca550 8892 int sasl_outcome_get_code(SASL_OUTCOME_HANDLE sasl_outcome, sasl_code* code_value)
Azure.IoT Build 0:6ae2f7bca550 8893 {
Azure.IoT Build 0:6ae2f7bca550 8894 int result;
Azure.IoT Build 0:6ae2f7bca550 8895
Azure.IoT Build 0:6ae2f7bca550 8896 if (sasl_outcome == NULL)
Azure.IoT Build 0:6ae2f7bca550 8897 {
AzureIoTClient 19:000ab4e6a2c1 8898 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8899 }
Azure.IoT Build 0:6ae2f7bca550 8900 else
Azure.IoT Build 0:6ae2f7bca550 8901 {
Azure.IoT Build 0:6ae2f7bca550 8902 SASL_OUTCOME_INSTANCE* sasl_outcome_instance = (SASL_OUTCOME_INSTANCE*)sasl_outcome;
Azure.IoT Build 0:6ae2f7bca550 8903 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(sasl_outcome_instance->composite_value, 0);
Azure.IoT Build 0:6ae2f7bca550 8904 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8905 {
AzureIoTClient 19:000ab4e6a2c1 8906 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8907 }
Azure.IoT Build 0:6ae2f7bca550 8908 else
Azure.IoT Build 0:6ae2f7bca550 8909 {
Azure.IoT Build 0:6ae2f7bca550 8910 if (amqpvalue_get_sasl_code(item_value, code_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 8911 {
AzureIoTClient 19:000ab4e6a2c1 8912 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8913 }
Azure.IoT Build 0:6ae2f7bca550 8914 else
Azure.IoT Build 0:6ae2f7bca550 8915 {
Azure.IoT Build 0:6ae2f7bca550 8916 result = 0;
Azure.IoT Build 0:6ae2f7bca550 8917 }
Azure.IoT Build 0:6ae2f7bca550 8918 }
Azure.IoT Build 0:6ae2f7bca550 8919 }
Azure.IoT Build 0:6ae2f7bca550 8920
Azure.IoT Build 0:6ae2f7bca550 8921 return result;
Azure.IoT Build 0:6ae2f7bca550 8922 }
Azure.IoT Build 0:6ae2f7bca550 8923
Azure.IoT Build 0:6ae2f7bca550 8924 int sasl_outcome_set_code(SASL_OUTCOME_HANDLE sasl_outcome, sasl_code code_value)
Azure.IoT Build 0:6ae2f7bca550 8925 {
Azure.IoT Build 0:6ae2f7bca550 8926 int result;
Azure.IoT Build 0:6ae2f7bca550 8927
Azure.IoT Build 0:6ae2f7bca550 8928 if (sasl_outcome == NULL)
Azure.IoT Build 0:6ae2f7bca550 8929 {
AzureIoTClient 19:000ab4e6a2c1 8930 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8931 }
Azure.IoT Build 0:6ae2f7bca550 8932 else
Azure.IoT Build 0:6ae2f7bca550 8933 {
Azure.IoT Build 0:6ae2f7bca550 8934 SASL_OUTCOME_INSTANCE* sasl_outcome_instance = (SASL_OUTCOME_INSTANCE*)sasl_outcome;
Azure.IoT Build 0:6ae2f7bca550 8935 AMQP_VALUE code_amqp_value = amqpvalue_create_sasl_code(code_value);
Azure.IoT Build 0:6ae2f7bca550 8936 if (code_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8937 {
AzureIoTClient 19:000ab4e6a2c1 8938 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8939 }
Azure.IoT Build 0:6ae2f7bca550 8940 else
Azure.IoT Build 0:6ae2f7bca550 8941 {
Azure.IoT Build 0:6ae2f7bca550 8942 if (amqpvalue_set_composite_item(sasl_outcome_instance->composite_value, 0, code_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 8943 {
AzureIoTClient 19:000ab4e6a2c1 8944 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8945 }
Azure.IoT Build 0:6ae2f7bca550 8946 else
Azure.IoT Build 0:6ae2f7bca550 8947 {
Azure.IoT Build 0:6ae2f7bca550 8948 result = 0;
Azure.IoT Build 0:6ae2f7bca550 8949 }
Azure.IoT Build 0:6ae2f7bca550 8950
Azure.IoT Build 0:6ae2f7bca550 8951 amqpvalue_destroy(code_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 8952 }
Azure.IoT Build 0:6ae2f7bca550 8953 }
Azure.IoT Build 0:6ae2f7bca550 8954
Azure.IoT Build 0:6ae2f7bca550 8955 return result;
Azure.IoT Build 0:6ae2f7bca550 8956 }
Azure.IoT Build 0:6ae2f7bca550 8957
Azure.IoT Build 0:6ae2f7bca550 8958 int sasl_outcome_get_additional_data(SASL_OUTCOME_HANDLE sasl_outcome, amqp_binary* additional_data_value)
Azure.IoT Build 0:6ae2f7bca550 8959 {
Azure.IoT Build 0:6ae2f7bca550 8960 int result;
Azure.IoT Build 0:6ae2f7bca550 8961
Azure.IoT Build 0:6ae2f7bca550 8962 if (sasl_outcome == NULL)
Azure.IoT Build 0:6ae2f7bca550 8963 {
AzureIoTClient 19:000ab4e6a2c1 8964 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8965 }
Azure.IoT Build 0:6ae2f7bca550 8966 else
Azure.IoT Build 0:6ae2f7bca550 8967 {
Azure.IoT Build 0:6ae2f7bca550 8968 SASL_OUTCOME_INSTANCE* sasl_outcome_instance = (SASL_OUTCOME_INSTANCE*)sasl_outcome;
Azure.IoT Build 0:6ae2f7bca550 8969 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(sasl_outcome_instance->composite_value, 1);
Azure.IoT Build 0:6ae2f7bca550 8970 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 8971 {
AzureIoTClient 19:000ab4e6a2c1 8972 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8973 }
Azure.IoT Build 0:6ae2f7bca550 8974 else
Azure.IoT Build 0:6ae2f7bca550 8975 {
Azure.IoT Build 0:6ae2f7bca550 8976 if (amqpvalue_get_binary(item_value, additional_data_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 8977 {
AzureIoTClient 19:000ab4e6a2c1 8978 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8979 }
Azure.IoT Build 0:6ae2f7bca550 8980 else
Azure.IoT Build 0:6ae2f7bca550 8981 {
Azure.IoT Build 0:6ae2f7bca550 8982 result = 0;
Azure.IoT Build 0:6ae2f7bca550 8983 }
Azure.IoT Build 0:6ae2f7bca550 8984 }
Azure.IoT Build 0:6ae2f7bca550 8985 }
Azure.IoT Build 0:6ae2f7bca550 8986
Azure.IoT Build 0:6ae2f7bca550 8987 return result;
Azure.IoT Build 0:6ae2f7bca550 8988 }
Azure.IoT Build 0:6ae2f7bca550 8989
Azure.IoT Build 0:6ae2f7bca550 8990 int sasl_outcome_set_additional_data(SASL_OUTCOME_HANDLE sasl_outcome, amqp_binary additional_data_value)
Azure.IoT Build 0:6ae2f7bca550 8991 {
Azure.IoT Build 0:6ae2f7bca550 8992 int result;
Azure.IoT Build 0:6ae2f7bca550 8993
Azure.IoT Build 0:6ae2f7bca550 8994 if (sasl_outcome == NULL)
Azure.IoT Build 0:6ae2f7bca550 8995 {
AzureIoTClient 19:000ab4e6a2c1 8996 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 8997 }
Azure.IoT Build 0:6ae2f7bca550 8998 else
Azure.IoT Build 0:6ae2f7bca550 8999 {
Azure.IoT Build 0:6ae2f7bca550 9000 SASL_OUTCOME_INSTANCE* sasl_outcome_instance = (SASL_OUTCOME_INSTANCE*)sasl_outcome;
Azure.IoT Build 0:6ae2f7bca550 9001 AMQP_VALUE additional_data_amqp_value = amqpvalue_create_binary(additional_data_value);
Azure.IoT Build 0:6ae2f7bca550 9002 if (additional_data_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9003 {
AzureIoTClient 19:000ab4e6a2c1 9004 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9005 }
Azure.IoT Build 0:6ae2f7bca550 9006 else
Azure.IoT Build 0:6ae2f7bca550 9007 {
Azure.IoT Build 0:6ae2f7bca550 9008 if (amqpvalue_set_composite_item(sasl_outcome_instance->composite_value, 1, additional_data_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 9009 {
AzureIoTClient 19:000ab4e6a2c1 9010 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9011 }
Azure.IoT Build 0:6ae2f7bca550 9012 else
Azure.IoT Build 0:6ae2f7bca550 9013 {
Azure.IoT Build 0:6ae2f7bca550 9014 result = 0;
Azure.IoT Build 0:6ae2f7bca550 9015 }
Azure.IoT Build 0:6ae2f7bca550 9016
Azure.IoT Build 0:6ae2f7bca550 9017 amqpvalue_destroy(additional_data_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 9018 }
Azure.IoT Build 0:6ae2f7bca550 9019 }
Azure.IoT Build 0:6ae2f7bca550 9020
Azure.IoT Build 0:6ae2f7bca550 9021 return result;
Azure.IoT Build 0:6ae2f7bca550 9022 }
Azure.IoT Build 0:6ae2f7bca550 9023
Azure.IoT Build 0:6ae2f7bca550 9024
Azure.IoT Build 0:6ae2f7bca550 9025 /* terminus-durability */
Azure.IoT Build 0:6ae2f7bca550 9026
Azure.IoT Build 0:6ae2f7bca550 9027 AMQP_VALUE amqpvalue_create_terminus_durability(terminus_durability value)
Azure.IoT Build 0:6ae2f7bca550 9028 {
Azure.IoT Build 0:6ae2f7bca550 9029 return amqpvalue_create_uint(value);
Azure.IoT Build 0:6ae2f7bca550 9030 }
Azure.IoT Build 0:6ae2f7bca550 9031
Azure.IoT Build 0:6ae2f7bca550 9032 /* terminus-expiry-policy */
Azure.IoT Build 0:6ae2f7bca550 9033
Azure.IoT Build 0:6ae2f7bca550 9034 AMQP_VALUE amqpvalue_create_terminus_expiry_policy(terminus_expiry_policy value)
Azure.IoT Build 0:6ae2f7bca550 9035 {
Azure.IoT Build 0:6ae2f7bca550 9036 return amqpvalue_create_symbol(value);
Azure.IoT Build 0:6ae2f7bca550 9037 }
Azure.IoT Build 0:6ae2f7bca550 9038
Azure.IoT Build 0:6ae2f7bca550 9039 /* node-properties */
Azure.IoT Build 0:6ae2f7bca550 9040
Azure.IoT Build 0:6ae2f7bca550 9041 AMQP_VALUE amqpvalue_create_node_properties(node_properties value)
Azure.IoT Build 0:6ae2f7bca550 9042 {
Azure.IoT Build 0:6ae2f7bca550 9043 return amqpvalue_create_fields(value);
Azure.IoT Build 0:6ae2f7bca550 9044 }
Azure.IoT Build 0:6ae2f7bca550 9045
Azure.IoT Build 0:6ae2f7bca550 9046 /* filter-set */
Azure.IoT Build 0:6ae2f7bca550 9047
Azure.IoT Build 0:6ae2f7bca550 9048 AMQP_VALUE amqpvalue_create_filter_set(AMQP_VALUE value)
Azure.IoT Build 0:6ae2f7bca550 9049 {
Azure.IoT Build 0:6ae2f7bca550 9050 return amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 9051 }
Azure.IoT Build 0:6ae2f7bca550 9052
Azure.IoT Build 0:6ae2f7bca550 9053 /* source */
Azure.IoT Build 0:6ae2f7bca550 9054
Azure.IoT Build 0:6ae2f7bca550 9055 typedef struct SOURCE_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 9056 {
Azure.IoT Build 0:6ae2f7bca550 9057 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 9058 } SOURCE_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 9059
Azure.IoT Build 0:6ae2f7bca550 9060 static SOURCE_HANDLE source_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 9061 {
Azure.IoT Build 0:6ae2f7bca550 9062 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)amqpalloc_malloc(sizeof(SOURCE_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 9063 if (source_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 9064 {
Azure.IoT Build 0:6ae2f7bca550 9065 source_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 9066 }
Azure.IoT Build 0:6ae2f7bca550 9067
Azure.IoT Build 0:6ae2f7bca550 9068 return source_instance;
Azure.IoT Build 0:6ae2f7bca550 9069 }
Azure.IoT Build 0:6ae2f7bca550 9070
Azure.IoT Build 0:6ae2f7bca550 9071 SOURCE_HANDLE source_create(void)
Azure.IoT Build 0:6ae2f7bca550 9072 {
Azure.IoT Build 0:6ae2f7bca550 9073 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)amqpalloc_malloc(sizeof(SOURCE_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 9074 if (source_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 9075 {
Azure.IoT Build 0:6ae2f7bca550 9076 source_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(40);
Azure.IoT Build 0:6ae2f7bca550 9077 if (source_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9078 {
Azure.IoT Build 0:6ae2f7bca550 9079 amqpalloc_free(source_instance);
Azure.IoT Build 0:6ae2f7bca550 9080 source_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 9081 }
Azure.IoT Build 0:6ae2f7bca550 9082 }
Azure.IoT Build 0:6ae2f7bca550 9083
Azure.IoT Build 0:6ae2f7bca550 9084 return source_instance;
Azure.IoT Build 0:6ae2f7bca550 9085 }
Azure.IoT Build 0:6ae2f7bca550 9086
Azure.IoT Build 0:6ae2f7bca550 9087 SOURCE_HANDLE source_clone(SOURCE_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 9088 {
Azure.IoT Build 0:6ae2f7bca550 9089 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)amqpalloc_malloc(sizeof(SOURCE_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 9090 if (source_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 9091 {
Azure.IoT Build 0:6ae2f7bca550 9092 source_instance->composite_value = amqpvalue_clone(((SOURCE_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 9093 if (source_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9094 {
Azure.IoT Build 0:6ae2f7bca550 9095 amqpalloc_free(source_instance);
Azure.IoT Build 0:6ae2f7bca550 9096 source_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 9097 }
Azure.IoT Build 0:6ae2f7bca550 9098 }
Azure.IoT Build 0:6ae2f7bca550 9099
Azure.IoT Build 0:6ae2f7bca550 9100 return source_instance;
Azure.IoT Build 0:6ae2f7bca550 9101 }
Azure.IoT Build 0:6ae2f7bca550 9102
Azure.IoT Build 0:6ae2f7bca550 9103 void source_destroy(SOURCE_HANDLE source)
Azure.IoT Build 0:6ae2f7bca550 9104 {
Azure.IoT Build 0:6ae2f7bca550 9105 if (source != NULL)
Azure.IoT Build 0:6ae2f7bca550 9106 {
Azure.IoT Build 0:6ae2f7bca550 9107 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 9108 amqpvalue_destroy(source_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 9109 amqpalloc_free(source_instance);
Azure.IoT Build 0:6ae2f7bca550 9110 }
Azure.IoT Build 0:6ae2f7bca550 9111 }
Azure.IoT Build 0:6ae2f7bca550 9112
Azure.IoT Build 0:6ae2f7bca550 9113 AMQP_VALUE amqpvalue_create_source(SOURCE_HANDLE source)
Azure.IoT Build 0:6ae2f7bca550 9114 {
Azure.IoT Build 0:6ae2f7bca550 9115 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 9116
Azure.IoT Build 0:6ae2f7bca550 9117 if (source == NULL)
Azure.IoT Build 0:6ae2f7bca550 9118 {
Azure.IoT Build 0:6ae2f7bca550 9119 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 9120 }
Azure.IoT Build 0:6ae2f7bca550 9121 else
Azure.IoT Build 0:6ae2f7bca550 9122 {
Azure.IoT Build 0:6ae2f7bca550 9123 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 9124 result = amqpvalue_clone(source_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 9125 }
Azure.IoT Build 0:6ae2f7bca550 9126
Azure.IoT Build 0:6ae2f7bca550 9127 return result;
Azure.IoT Build 0:6ae2f7bca550 9128 }
Azure.IoT Build 0:6ae2f7bca550 9129
Azure.IoT Build 0:6ae2f7bca550 9130 bool is_source_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 9131 {
Azure.IoT Build 0:6ae2f7bca550 9132 bool result;
Azure.IoT Build 0:6ae2f7bca550 9133
Azure.IoT Build 0:6ae2f7bca550 9134 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 9135 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 9136 (descriptor_ulong == 40))
Azure.IoT Build 0:6ae2f7bca550 9137 {
Azure.IoT Build 0:6ae2f7bca550 9138 result = true;
Azure.IoT Build 0:6ae2f7bca550 9139 }
Azure.IoT Build 0:6ae2f7bca550 9140 else
Azure.IoT Build 0:6ae2f7bca550 9141 {
Azure.IoT Build 0:6ae2f7bca550 9142 result = false;
Azure.IoT Build 0:6ae2f7bca550 9143 }
Azure.IoT Build 0:6ae2f7bca550 9144
Azure.IoT Build 0:6ae2f7bca550 9145 return result;
Azure.IoT Build 0:6ae2f7bca550 9146 }
Azure.IoT Build 0:6ae2f7bca550 9147
Azure.IoT Build 0:6ae2f7bca550 9148
Azure.IoT Build 0:6ae2f7bca550 9149 int amqpvalue_get_source(AMQP_VALUE value, SOURCE_HANDLE* source_handle)
Azure.IoT Build 0:6ae2f7bca550 9150 {
Azure.IoT Build 0:6ae2f7bca550 9151 int result;
Azure.IoT Build 0:6ae2f7bca550 9152 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source_create_internal();
Azure.IoT Build 0:6ae2f7bca550 9153 *source_handle = source_instance;
Azure.IoT Build 0:6ae2f7bca550 9154 if (*source_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 9155 {
AzureIoTClient 19:000ab4e6a2c1 9156 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9157 }
Azure.IoT Build 0:6ae2f7bca550 9158 else
Azure.IoT Build 0:6ae2f7bca550 9159 {
Azure.IoT Build 0:6ae2f7bca550 9160 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 9161 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9162 {
Azure.IoT Build 0:6ae2f7bca550 9163 source_destroy(*source_handle);
AzureIoTClient 19:000ab4e6a2c1 9164 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9165 }
Azure.IoT Build 0:6ae2f7bca550 9166 else
Azure.IoT Build 0:6ae2f7bca550 9167 {
Azure.IoT Build 0:6ae2f7bca550 9168 do
Azure.IoT Build 0:6ae2f7bca550 9169 {
Azure.IoT Build 0:6ae2f7bca550 9170 AMQP_VALUE item_value;
Azure.IoT Build 0:6ae2f7bca550 9171 /* address */
Azure.IoT Build 0:6ae2f7bca550 9172 item_value = amqpvalue_get_list_item(list_value, 0);
Azure.IoT Build 0:6ae2f7bca550 9173 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9174 {
Azure.IoT Build 0:6ae2f7bca550 9175 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 9176 }
Azure.IoT Build 0:6ae2f7bca550 9177 else
Azure.IoT Build 0:6ae2f7bca550 9178 {
Azure.IoT Build 0:6ae2f7bca550 9179 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 9180 }
Azure.IoT Build 0:6ae2f7bca550 9181 /* durable */
Azure.IoT Build 0:6ae2f7bca550 9182 item_value = amqpvalue_get_list_item(list_value, 1);
Azure.IoT Build 0:6ae2f7bca550 9183 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9184 {
Azure.IoT Build 0:6ae2f7bca550 9185 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 9186 }
Azure.IoT Build 0:6ae2f7bca550 9187 else
Azure.IoT Build 0:6ae2f7bca550 9188 {
Azure.IoT Build 0:6ae2f7bca550 9189 terminus_durability durable;
Azure.IoT Build 0:6ae2f7bca550 9190 if (amqpvalue_get_terminus_durability(item_value, &durable) != 0)
Azure.IoT Build 0:6ae2f7bca550 9191 {
Azure.IoT Build 0:6ae2f7bca550 9192 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 9193 {
Azure.IoT Build 0:6ae2f7bca550 9194 source_destroy(*source_handle);
AzureIoTClient 19:000ab4e6a2c1 9195 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9196 break;
Azure.IoT Build 0:6ae2f7bca550 9197 }
Azure.IoT Build 0:6ae2f7bca550 9198 }
Azure.IoT Build 0:6ae2f7bca550 9199
Azure.IoT Build 0:6ae2f7bca550 9200 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 9201 }
Azure.IoT Build 0:6ae2f7bca550 9202 /* expiry-policy */
Azure.IoT Build 0:6ae2f7bca550 9203 item_value = amqpvalue_get_list_item(list_value, 2);
Azure.IoT Build 0:6ae2f7bca550 9204 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9205 {
Azure.IoT Build 0:6ae2f7bca550 9206 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 9207 }
Azure.IoT Build 0:6ae2f7bca550 9208 else
Azure.IoT Build 0:6ae2f7bca550 9209 {
Azure.IoT Build 0:6ae2f7bca550 9210 terminus_expiry_policy expiry_policy;
Azure.IoT Build 0:6ae2f7bca550 9211 if (amqpvalue_get_terminus_expiry_policy(item_value, &expiry_policy) != 0)
Azure.IoT Build 0:6ae2f7bca550 9212 {
Azure.IoT Build 0:6ae2f7bca550 9213 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 9214 {
Azure.IoT Build 0:6ae2f7bca550 9215 source_destroy(*source_handle);
AzureIoTClient 19:000ab4e6a2c1 9216 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9217 break;
Azure.IoT Build 0:6ae2f7bca550 9218 }
Azure.IoT Build 0:6ae2f7bca550 9219 }
Azure.IoT Build 0:6ae2f7bca550 9220
Azure.IoT Build 0:6ae2f7bca550 9221 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 9222 }
Azure.IoT Build 0:6ae2f7bca550 9223 /* timeout */
Azure.IoT Build 0:6ae2f7bca550 9224 item_value = amqpvalue_get_list_item(list_value, 3);
Azure.IoT Build 0:6ae2f7bca550 9225 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9226 {
Azure.IoT Build 0:6ae2f7bca550 9227 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 9228 }
Azure.IoT Build 0:6ae2f7bca550 9229 else
Azure.IoT Build 0:6ae2f7bca550 9230 {
Azure.IoT Build 0:6ae2f7bca550 9231 seconds timeout;
Azure.IoT Build 0:6ae2f7bca550 9232 if (amqpvalue_get_seconds(item_value, &timeout) != 0)
Azure.IoT Build 0:6ae2f7bca550 9233 {
Azure.IoT Build 0:6ae2f7bca550 9234 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 9235 {
Azure.IoT Build 0:6ae2f7bca550 9236 source_destroy(*source_handle);
AzureIoTClient 19:000ab4e6a2c1 9237 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9238 break;
Azure.IoT Build 0:6ae2f7bca550 9239 }
Azure.IoT Build 0:6ae2f7bca550 9240 }
Azure.IoT Build 0:6ae2f7bca550 9241
Azure.IoT Build 0:6ae2f7bca550 9242 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 9243 }
Azure.IoT Build 0:6ae2f7bca550 9244 /* dynamic */
Azure.IoT Build 0:6ae2f7bca550 9245 item_value = amqpvalue_get_list_item(list_value, 4);
Azure.IoT Build 0:6ae2f7bca550 9246 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9247 {
Azure.IoT Build 0:6ae2f7bca550 9248 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 9249 }
Azure.IoT Build 0:6ae2f7bca550 9250 else
Azure.IoT Build 0:6ae2f7bca550 9251 {
Azure.IoT Build 0:6ae2f7bca550 9252 bool dynamic;
Azure.IoT Build 0:6ae2f7bca550 9253 if (amqpvalue_get_boolean(item_value, &dynamic) != 0)
Azure.IoT Build 0:6ae2f7bca550 9254 {
Azure.IoT Build 0:6ae2f7bca550 9255 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 9256 {
Azure.IoT Build 0:6ae2f7bca550 9257 source_destroy(*source_handle);
AzureIoTClient 19:000ab4e6a2c1 9258 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9259 break;
Azure.IoT Build 0:6ae2f7bca550 9260 }
Azure.IoT Build 0:6ae2f7bca550 9261 }
Azure.IoT Build 0:6ae2f7bca550 9262
Azure.IoT Build 0:6ae2f7bca550 9263 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 9264 }
Azure.IoT Build 0:6ae2f7bca550 9265 /* dynamic-node-properties */
Azure.IoT Build 0:6ae2f7bca550 9266 item_value = amqpvalue_get_list_item(list_value, 5);
Azure.IoT Build 0:6ae2f7bca550 9267 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9268 {
Azure.IoT Build 0:6ae2f7bca550 9269 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 9270 }
Azure.IoT Build 0:6ae2f7bca550 9271 else
Azure.IoT Build 0:6ae2f7bca550 9272 {
Azure.IoT Build 0:6ae2f7bca550 9273 node_properties dynamic_node_properties;
Azure.IoT Build 0:6ae2f7bca550 9274 if (amqpvalue_get_node_properties(item_value, &dynamic_node_properties) != 0)
Azure.IoT Build 0:6ae2f7bca550 9275 {
Azure.IoT Build 0:6ae2f7bca550 9276 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 9277 {
Azure.IoT Build 0:6ae2f7bca550 9278 source_destroy(*source_handle);
AzureIoTClient 19:000ab4e6a2c1 9279 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9280 break;
Azure.IoT Build 0:6ae2f7bca550 9281 }
Azure.IoT Build 0:6ae2f7bca550 9282 }
Azure.IoT Build 0:6ae2f7bca550 9283
Azure.IoT Build 0:6ae2f7bca550 9284 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 9285 }
Azure.IoT Build 0:6ae2f7bca550 9286 /* distribution-mode */
Azure.IoT Build 0:6ae2f7bca550 9287 item_value = amqpvalue_get_list_item(list_value, 6);
Azure.IoT Build 0:6ae2f7bca550 9288 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9289 {
Azure.IoT Build 0:6ae2f7bca550 9290 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 9291 }
Azure.IoT Build 0:6ae2f7bca550 9292 else
Azure.IoT Build 0:6ae2f7bca550 9293 {
Azure.IoT Build 0:6ae2f7bca550 9294 const char* distribution_mode;
Azure.IoT Build 0:6ae2f7bca550 9295 if (amqpvalue_get_symbol(item_value, &distribution_mode) != 0)
Azure.IoT Build 0:6ae2f7bca550 9296 {
Azure.IoT Build 0:6ae2f7bca550 9297 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 9298 {
Azure.IoT Build 0:6ae2f7bca550 9299 source_destroy(*source_handle);
AzureIoTClient 19:000ab4e6a2c1 9300 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9301 break;
Azure.IoT Build 0:6ae2f7bca550 9302 }
Azure.IoT Build 0:6ae2f7bca550 9303 }
Azure.IoT Build 0:6ae2f7bca550 9304
Azure.IoT Build 0:6ae2f7bca550 9305 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 9306 }
Azure.IoT Build 0:6ae2f7bca550 9307 /* filter */
Azure.IoT Build 0:6ae2f7bca550 9308 item_value = amqpvalue_get_list_item(list_value, 7);
Azure.IoT Build 0:6ae2f7bca550 9309 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9310 {
Azure.IoT Build 0:6ae2f7bca550 9311 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 9312 }
Azure.IoT Build 0:6ae2f7bca550 9313 else
Azure.IoT Build 0:6ae2f7bca550 9314 {
Azure.IoT Build 0:6ae2f7bca550 9315 filter_set filter;
Azure.IoT Build 0:6ae2f7bca550 9316 if (amqpvalue_get_filter_set(item_value, &filter) != 0)
Azure.IoT Build 0:6ae2f7bca550 9317 {
Azure.IoT Build 0:6ae2f7bca550 9318 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 9319 {
Azure.IoT Build 0:6ae2f7bca550 9320 source_destroy(*source_handle);
AzureIoTClient 19:000ab4e6a2c1 9321 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9322 break;
Azure.IoT Build 0:6ae2f7bca550 9323 }
Azure.IoT Build 0:6ae2f7bca550 9324 }
Azure.IoT Build 0:6ae2f7bca550 9325
Azure.IoT Build 0:6ae2f7bca550 9326 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 9327 }
Azure.IoT Build 0:6ae2f7bca550 9328 /* default-outcome */
Azure.IoT Build 0:6ae2f7bca550 9329 item_value = amqpvalue_get_list_item(list_value, 8);
Azure.IoT Build 0:6ae2f7bca550 9330 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9331 {
Azure.IoT Build 0:6ae2f7bca550 9332 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 9333 }
Azure.IoT Build 0:6ae2f7bca550 9334 else
Azure.IoT Build 0:6ae2f7bca550 9335 {
Azure.IoT Build 0:6ae2f7bca550 9336 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 9337 }
Azure.IoT Build 0:6ae2f7bca550 9338 /* outcomes */
Azure.IoT Build 0:6ae2f7bca550 9339 item_value = amqpvalue_get_list_item(list_value, 9);
Azure.IoT Build 0:6ae2f7bca550 9340 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9341 {
Azure.IoT Build 0:6ae2f7bca550 9342 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 9343 }
Azure.IoT Build 0:6ae2f7bca550 9344 else
Azure.IoT Build 0:6ae2f7bca550 9345 {
Azure.IoT Build 0:6ae2f7bca550 9346 const char* outcomes;
Azure.IoT Build 0:6ae2f7bca550 9347 AMQP_VALUE outcomes_array;
Azure.IoT Build 0:6ae2f7bca550 9348 if ((amqpvalue_get_array(item_value, &outcomes_array) != 0) &&
Azure.IoT Build 0:6ae2f7bca550 9349 (amqpvalue_get_symbol(item_value, &outcomes) != 0))
Azure.IoT Build 0:6ae2f7bca550 9350 {
Azure.IoT Build 0:6ae2f7bca550 9351 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 9352 {
Azure.IoT Build 0:6ae2f7bca550 9353 source_destroy(*source_handle);
AzureIoTClient 19:000ab4e6a2c1 9354 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9355 break;
Azure.IoT Build 0:6ae2f7bca550 9356 }
Azure.IoT Build 0:6ae2f7bca550 9357 }
Azure.IoT Build 0:6ae2f7bca550 9358
Azure.IoT Build 0:6ae2f7bca550 9359 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 9360 }
Azure.IoT Build 0:6ae2f7bca550 9361 /* capabilities */
Azure.IoT Build 0:6ae2f7bca550 9362 item_value = amqpvalue_get_list_item(list_value, 10);
Azure.IoT Build 0:6ae2f7bca550 9363 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9364 {
Azure.IoT Build 0:6ae2f7bca550 9365 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 9366 }
Azure.IoT Build 0:6ae2f7bca550 9367 else
Azure.IoT Build 0:6ae2f7bca550 9368 {
Azure.IoT Build 0:6ae2f7bca550 9369 const char* capabilities;
Azure.IoT Build 0:6ae2f7bca550 9370 AMQP_VALUE capabilities_array;
Azure.IoT Build 0:6ae2f7bca550 9371 if ((amqpvalue_get_array(item_value, &capabilities_array) != 0) &&
Azure.IoT Build 0:6ae2f7bca550 9372 (amqpvalue_get_symbol(item_value, &capabilities) != 0))
Azure.IoT Build 0:6ae2f7bca550 9373 {
Azure.IoT Build 0:6ae2f7bca550 9374 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 9375 {
Azure.IoT Build 0:6ae2f7bca550 9376 source_destroy(*source_handle);
AzureIoTClient 19:000ab4e6a2c1 9377 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9378 break;
Azure.IoT Build 0:6ae2f7bca550 9379 }
Azure.IoT Build 0:6ae2f7bca550 9380 }
Azure.IoT Build 0:6ae2f7bca550 9381
Azure.IoT Build 0:6ae2f7bca550 9382 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 9383 }
Azure.IoT Build 0:6ae2f7bca550 9384
Azure.IoT Build 0:6ae2f7bca550 9385 source_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 9386
Azure.IoT Build 0:6ae2f7bca550 9387 result = 0;
Azure.IoT Build 0:6ae2f7bca550 9388 } while (0);
Azure.IoT Build 0:6ae2f7bca550 9389 }
Azure.IoT Build 0:6ae2f7bca550 9390 }
Azure.IoT Build 0:6ae2f7bca550 9391
Azure.IoT Build 0:6ae2f7bca550 9392 return result;
Azure.IoT Build 0:6ae2f7bca550 9393 }
Azure.IoT Build 0:6ae2f7bca550 9394
Azure.IoT Build 0:6ae2f7bca550 9395 int source_get_address(SOURCE_HANDLE source, AMQP_VALUE* address_value)
Azure.IoT Build 0:6ae2f7bca550 9396 {
Azure.IoT Build 0:6ae2f7bca550 9397 int result;
Azure.IoT Build 0:6ae2f7bca550 9398
Azure.IoT Build 0:6ae2f7bca550 9399 if (source == NULL)
Azure.IoT Build 0:6ae2f7bca550 9400 {
AzureIoTClient 19:000ab4e6a2c1 9401 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9402 }
Azure.IoT Build 0:6ae2f7bca550 9403 else
Azure.IoT Build 0:6ae2f7bca550 9404 {
Azure.IoT Build 0:6ae2f7bca550 9405 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 9406 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(source_instance->composite_value, 0);
Azure.IoT Build 0:6ae2f7bca550 9407 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9408 {
AzureIoTClient 19:000ab4e6a2c1 9409 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9410 }
Azure.IoT Build 0:6ae2f7bca550 9411 else
Azure.IoT Build 0:6ae2f7bca550 9412 {
Azure.IoT Build 0:6ae2f7bca550 9413 *address_value = item_value;
Azure.IoT Build 0:6ae2f7bca550 9414 result = 0;
Azure.IoT Build 0:6ae2f7bca550 9415 }
Azure.IoT Build 0:6ae2f7bca550 9416 }
Azure.IoT Build 0:6ae2f7bca550 9417
Azure.IoT Build 0:6ae2f7bca550 9418 return result;
Azure.IoT Build 0:6ae2f7bca550 9419 }
Azure.IoT Build 0:6ae2f7bca550 9420
Azure.IoT Build 0:6ae2f7bca550 9421 int source_set_address(SOURCE_HANDLE source, AMQP_VALUE address_value)
Azure.IoT Build 0:6ae2f7bca550 9422 {
Azure.IoT Build 0:6ae2f7bca550 9423 int result;
Azure.IoT Build 0:6ae2f7bca550 9424
Azure.IoT Build 0:6ae2f7bca550 9425 if (source == NULL)
Azure.IoT Build 0:6ae2f7bca550 9426 {
AzureIoTClient 19:000ab4e6a2c1 9427 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9428 }
Azure.IoT Build 0:6ae2f7bca550 9429 else
Azure.IoT Build 0:6ae2f7bca550 9430 {
Azure.IoT Build 0:6ae2f7bca550 9431 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 9432 AMQP_VALUE address_amqp_value = amqpvalue_clone(address_value);
Azure.IoT Build 0:6ae2f7bca550 9433 if (address_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9434 {
AzureIoTClient 19:000ab4e6a2c1 9435 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9436 }
Azure.IoT Build 0:6ae2f7bca550 9437 else
Azure.IoT Build 0:6ae2f7bca550 9438 {
Azure.IoT Build 0:6ae2f7bca550 9439 if (amqpvalue_set_composite_item(source_instance->composite_value, 0, address_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 9440 {
AzureIoTClient 19:000ab4e6a2c1 9441 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9442 }
Azure.IoT Build 0:6ae2f7bca550 9443 else
Azure.IoT Build 0:6ae2f7bca550 9444 {
Azure.IoT Build 0:6ae2f7bca550 9445 result = 0;
Azure.IoT Build 0:6ae2f7bca550 9446 }
Azure.IoT Build 0:6ae2f7bca550 9447
Azure.IoT Build 0:6ae2f7bca550 9448 amqpvalue_destroy(address_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 9449 }
Azure.IoT Build 0:6ae2f7bca550 9450 }
Azure.IoT Build 0:6ae2f7bca550 9451
Azure.IoT Build 0:6ae2f7bca550 9452 return result;
Azure.IoT Build 0:6ae2f7bca550 9453 }
Azure.IoT Build 0:6ae2f7bca550 9454
Azure.IoT Build 0:6ae2f7bca550 9455 int source_get_durable(SOURCE_HANDLE source, terminus_durability* durable_value)
Azure.IoT Build 0:6ae2f7bca550 9456 {
Azure.IoT Build 0:6ae2f7bca550 9457 int result;
Azure.IoT Build 0:6ae2f7bca550 9458
Azure.IoT Build 0:6ae2f7bca550 9459 if (source == NULL)
Azure.IoT Build 0:6ae2f7bca550 9460 {
AzureIoTClient 19:000ab4e6a2c1 9461 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9462 }
Azure.IoT Build 0:6ae2f7bca550 9463 else
Azure.IoT Build 0:6ae2f7bca550 9464 {
Azure.IoT Build 0:6ae2f7bca550 9465 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 9466 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(source_instance->composite_value, 1);
Azure.IoT Build 0:6ae2f7bca550 9467 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9468 {
AzureIoTClient 16:22a72cf8e416 9469 *durable_value = terminus_durability_none;
AzureIoTClient 16:22a72cf8e416 9470 result = 0;
Azure.IoT Build 0:6ae2f7bca550 9471 }
Azure.IoT Build 0:6ae2f7bca550 9472 else
Azure.IoT Build 0:6ae2f7bca550 9473 {
Azure.IoT Build 0:6ae2f7bca550 9474 if (amqpvalue_get_terminus_durability(item_value, durable_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 9475 {
AzureIoTClient 16:22a72cf8e416 9476 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 9477 {
AzureIoTClient 19:000ab4e6a2c1 9478 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 9479 }
AzureIoTClient 16:22a72cf8e416 9480 else
AzureIoTClient 16:22a72cf8e416 9481 {
AzureIoTClient 16:22a72cf8e416 9482 *durable_value = terminus_durability_none;
AzureIoTClient 16:22a72cf8e416 9483 result = 0;
AzureIoTClient 16:22a72cf8e416 9484 }
Azure.IoT Build 0:6ae2f7bca550 9485 }
Azure.IoT Build 0:6ae2f7bca550 9486 else
Azure.IoT Build 0:6ae2f7bca550 9487 {
Azure.IoT Build 0:6ae2f7bca550 9488 result = 0;
Azure.IoT Build 0:6ae2f7bca550 9489 }
Azure.IoT Build 0:6ae2f7bca550 9490 }
Azure.IoT Build 0:6ae2f7bca550 9491 }
Azure.IoT Build 0:6ae2f7bca550 9492
Azure.IoT Build 0:6ae2f7bca550 9493 return result;
Azure.IoT Build 0:6ae2f7bca550 9494 }
Azure.IoT Build 0:6ae2f7bca550 9495
Azure.IoT Build 0:6ae2f7bca550 9496 int source_set_durable(SOURCE_HANDLE source, terminus_durability durable_value)
Azure.IoT Build 0:6ae2f7bca550 9497 {
Azure.IoT Build 0:6ae2f7bca550 9498 int result;
Azure.IoT Build 0:6ae2f7bca550 9499
Azure.IoT Build 0:6ae2f7bca550 9500 if (source == NULL)
Azure.IoT Build 0:6ae2f7bca550 9501 {
AzureIoTClient 19:000ab4e6a2c1 9502 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9503 }
Azure.IoT Build 0:6ae2f7bca550 9504 else
Azure.IoT Build 0:6ae2f7bca550 9505 {
Azure.IoT Build 0:6ae2f7bca550 9506 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 9507 AMQP_VALUE durable_amqp_value = amqpvalue_create_terminus_durability(durable_value);
Azure.IoT Build 0:6ae2f7bca550 9508 if (durable_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9509 {
AzureIoTClient 19:000ab4e6a2c1 9510 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9511 }
Azure.IoT Build 0:6ae2f7bca550 9512 else
Azure.IoT Build 0:6ae2f7bca550 9513 {
Azure.IoT Build 0:6ae2f7bca550 9514 if (amqpvalue_set_composite_item(source_instance->composite_value, 1, durable_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 9515 {
AzureIoTClient 19:000ab4e6a2c1 9516 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9517 }
Azure.IoT Build 0:6ae2f7bca550 9518 else
Azure.IoT Build 0:6ae2f7bca550 9519 {
Azure.IoT Build 0:6ae2f7bca550 9520 result = 0;
Azure.IoT Build 0:6ae2f7bca550 9521 }
Azure.IoT Build 0:6ae2f7bca550 9522
Azure.IoT Build 0:6ae2f7bca550 9523 amqpvalue_destroy(durable_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 9524 }
Azure.IoT Build 0:6ae2f7bca550 9525 }
Azure.IoT Build 0:6ae2f7bca550 9526
Azure.IoT Build 0:6ae2f7bca550 9527 return result;
Azure.IoT Build 0:6ae2f7bca550 9528 }
Azure.IoT Build 0:6ae2f7bca550 9529
Azure.IoT Build 0:6ae2f7bca550 9530 int source_get_expiry_policy(SOURCE_HANDLE source, terminus_expiry_policy* expiry_policy_value)
Azure.IoT Build 0:6ae2f7bca550 9531 {
Azure.IoT Build 0:6ae2f7bca550 9532 int result;
Azure.IoT Build 0:6ae2f7bca550 9533
Azure.IoT Build 0:6ae2f7bca550 9534 if (source == NULL)
Azure.IoT Build 0:6ae2f7bca550 9535 {
AzureIoTClient 19:000ab4e6a2c1 9536 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9537 }
Azure.IoT Build 0:6ae2f7bca550 9538 else
Azure.IoT Build 0:6ae2f7bca550 9539 {
Azure.IoT Build 0:6ae2f7bca550 9540 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 9541 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(source_instance->composite_value, 2);
Azure.IoT Build 0:6ae2f7bca550 9542 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9543 {
AzureIoTClient 16:22a72cf8e416 9544 *expiry_policy_value = terminus_expiry_policy_session_end;
AzureIoTClient 16:22a72cf8e416 9545 result = 0;
Azure.IoT Build 0:6ae2f7bca550 9546 }
Azure.IoT Build 0:6ae2f7bca550 9547 else
Azure.IoT Build 0:6ae2f7bca550 9548 {
Azure.IoT Build 0:6ae2f7bca550 9549 if (amqpvalue_get_terminus_expiry_policy(item_value, expiry_policy_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 9550 {
AzureIoTClient 16:22a72cf8e416 9551 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 9552 {
AzureIoTClient 19:000ab4e6a2c1 9553 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 9554 }
AzureIoTClient 16:22a72cf8e416 9555 else
AzureIoTClient 16:22a72cf8e416 9556 {
AzureIoTClient 16:22a72cf8e416 9557 *expiry_policy_value = terminus_expiry_policy_session_end;
AzureIoTClient 16:22a72cf8e416 9558 result = 0;
AzureIoTClient 16:22a72cf8e416 9559 }
Azure.IoT Build 0:6ae2f7bca550 9560 }
Azure.IoT Build 0:6ae2f7bca550 9561 else
Azure.IoT Build 0:6ae2f7bca550 9562 {
Azure.IoT Build 0:6ae2f7bca550 9563 result = 0;
Azure.IoT Build 0:6ae2f7bca550 9564 }
Azure.IoT Build 0:6ae2f7bca550 9565 }
Azure.IoT Build 0:6ae2f7bca550 9566 }
Azure.IoT Build 0:6ae2f7bca550 9567
Azure.IoT Build 0:6ae2f7bca550 9568 return result;
Azure.IoT Build 0:6ae2f7bca550 9569 }
Azure.IoT Build 0:6ae2f7bca550 9570
Azure.IoT Build 0:6ae2f7bca550 9571 int source_set_expiry_policy(SOURCE_HANDLE source, terminus_expiry_policy expiry_policy_value)
Azure.IoT Build 0:6ae2f7bca550 9572 {
Azure.IoT Build 0:6ae2f7bca550 9573 int result;
Azure.IoT Build 0:6ae2f7bca550 9574
Azure.IoT Build 0:6ae2f7bca550 9575 if (source == NULL)
Azure.IoT Build 0:6ae2f7bca550 9576 {
AzureIoTClient 19:000ab4e6a2c1 9577 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9578 }
Azure.IoT Build 0:6ae2f7bca550 9579 else
Azure.IoT Build 0:6ae2f7bca550 9580 {
Azure.IoT Build 0:6ae2f7bca550 9581 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 9582 AMQP_VALUE expiry_policy_amqp_value = amqpvalue_create_terminus_expiry_policy(expiry_policy_value);
Azure.IoT Build 0:6ae2f7bca550 9583 if (expiry_policy_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9584 {
AzureIoTClient 19:000ab4e6a2c1 9585 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9586 }
Azure.IoT Build 0:6ae2f7bca550 9587 else
Azure.IoT Build 0:6ae2f7bca550 9588 {
Azure.IoT Build 0:6ae2f7bca550 9589 if (amqpvalue_set_composite_item(source_instance->composite_value, 2, expiry_policy_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 9590 {
AzureIoTClient 19:000ab4e6a2c1 9591 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9592 }
Azure.IoT Build 0:6ae2f7bca550 9593 else
Azure.IoT Build 0:6ae2f7bca550 9594 {
Azure.IoT Build 0:6ae2f7bca550 9595 result = 0;
Azure.IoT Build 0:6ae2f7bca550 9596 }
Azure.IoT Build 0:6ae2f7bca550 9597
Azure.IoT Build 0:6ae2f7bca550 9598 amqpvalue_destroy(expiry_policy_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 9599 }
Azure.IoT Build 0:6ae2f7bca550 9600 }
Azure.IoT Build 0:6ae2f7bca550 9601
Azure.IoT Build 0:6ae2f7bca550 9602 return result;
Azure.IoT Build 0:6ae2f7bca550 9603 }
Azure.IoT Build 0:6ae2f7bca550 9604
Azure.IoT Build 0:6ae2f7bca550 9605 int source_get_timeout(SOURCE_HANDLE source, seconds* timeout_value)
Azure.IoT Build 0:6ae2f7bca550 9606 {
Azure.IoT Build 0:6ae2f7bca550 9607 int result;
Azure.IoT Build 0:6ae2f7bca550 9608
Azure.IoT Build 0:6ae2f7bca550 9609 if (source == NULL)
Azure.IoT Build 0:6ae2f7bca550 9610 {
AzureIoTClient 19:000ab4e6a2c1 9611 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9612 }
Azure.IoT Build 0:6ae2f7bca550 9613 else
Azure.IoT Build 0:6ae2f7bca550 9614 {
Azure.IoT Build 0:6ae2f7bca550 9615 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 9616 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(source_instance->composite_value, 3);
Azure.IoT Build 0:6ae2f7bca550 9617 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9618 {
AzureIoTClient 16:22a72cf8e416 9619 *timeout_value = 0;
AzureIoTClient 16:22a72cf8e416 9620 result = 0;
Azure.IoT Build 0:6ae2f7bca550 9621 }
Azure.IoT Build 0:6ae2f7bca550 9622 else
Azure.IoT Build 0:6ae2f7bca550 9623 {
Azure.IoT Build 0:6ae2f7bca550 9624 if (amqpvalue_get_seconds(item_value, timeout_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 9625 {
AzureIoTClient 16:22a72cf8e416 9626 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 9627 {
AzureIoTClient 19:000ab4e6a2c1 9628 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 9629 }
AzureIoTClient 16:22a72cf8e416 9630 else
AzureIoTClient 16:22a72cf8e416 9631 {
AzureIoTClient 16:22a72cf8e416 9632 *timeout_value = 0;
AzureIoTClient 16:22a72cf8e416 9633 result = 0;
AzureIoTClient 16:22a72cf8e416 9634 }
Azure.IoT Build 0:6ae2f7bca550 9635 }
Azure.IoT Build 0:6ae2f7bca550 9636 else
Azure.IoT Build 0:6ae2f7bca550 9637 {
Azure.IoT Build 0:6ae2f7bca550 9638 result = 0;
Azure.IoT Build 0:6ae2f7bca550 9639 }
Azure.IoT Build 0:6ae2f7bca550 9640 }
Azure.IoT Build 0:6ae2f7bca550 9641 }
Azure.IoT Build 0:6ae2f7bca550 9642
Azure.IoT Build 0:6ae2f7bca550 9643 return result;
Azure.IoT Build 0:6ae2f7bca550 9644 }
Azure.IoT Build 0:6ae2f7bca550 9645
Azure.IoT Build 0:6ae2f7bca550 9646 int source_set_timeout(SOURCE_HANDLE source, seconds timeout_value)
Azure.IoT Build 0:6ae2f7bca550 9647 {
Azure.IoT Build 0:6ae2f7bca550 9648 int result;
Azure.IoT Build 0:6ae2f7bca550 9649
Azure.IoT Build 0:6ae2f7bca550 9650 if (source == NULL)
Azure.IoT Build 0:6ae2f7bca550 9651 {
AzureIoTClient 19:000ab4e6a2c1 9652 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9653 }
Azure.IoT Build 0:6ae2f7bca550 9654 else
Azure.IoT Build 0:6ae2f7bca550 9655 {
Azure.IoT Build 0:6ae2f7bca550 9656 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 9657 AMQP_VALUE timeout_amqp_value = amqpvalue_create_seconds(timeout_value);
Azure.IoT Build 0:6ae2f7bca550 9658 if (timeout_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9659 {
AzureIoTClient 19:000ab4e6a2c1 9660 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9661 }
Azure.IoT Build 0:6ae2f7bca550 9662 else
Azure.IoT Build 0:6ae2f7bca550 9663 {
Azure.IoT Build 0:6ae2f7bca550 9664 if (amqpvalue_set_composite_item(source_instance->composite_value, 3, timeout_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 9665 {
AzureIoTClient 19:000ab4e6a2c1 9666 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9667 }
Azure.IoT Build 0:6ae2f7bca550 9668 else
Azure.IoT Build 0:6ae2f7bca550 9669 {
Azure.IoT Build 0:6ae2f7bca550 9670 result = 0;
Azure.IoT Build 0:6ae2f7bca550 9671 }
Azure.IoT Build 0:6ae2f7bca550 9672
Azure.IoT Build 0:6ae2f7bca550 9673 amqpvalue_destroy(timeout_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 9674 }
Azure.IoT Build 0:6ae2f7bca550 9675 }
Azure.IoT Build 0:6ae2f7bca550 9676
Azure.IoT Build 0:6ae2f7bca550 9677 return result;
Azure.IoT Build 0:6ae2f7bca550 9678 }
Azure.IoT Build 0:6ae2f7bca550 9679
Azure.IoT Build 0:6ae2f7bca550 9680 int source_get_dynamic(SOURCE_HANDLE source, bool* dynamic_value)
Azure.IoT Build 0:6ae2f7bca550 9681 {
Azure.IoT Build 0:6ae2f7bca550 9682 int result;
Azure.IoT Build 0:6ae2f7bca550 9683
Azure.IoT Build 0:6ae2f7bca550 9684 if (source == NULL)
Azure.IoT Build 0:6ae2f7bca550 9685 {
AzureIoTClient 19:000ab4e6a2c1 9686 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9687 }
Azure.IoT Build 0:6ae2f7bca550 9688 else
Azure.IoT Build 0:6ae2f7bca550 9689 {
Azure.IoT Build 0:6ae2f7bca550 9690 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 9691 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(source_instance->composite_value, 4);
Azure.IoT Build 0:6ae2f7bca550 9692 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9693 {
AzureIoTClient 16:22a72cf8e416 9694 *dynamic_value = false;
AzureIoTClient 16:22a72cf8e416 9695 result = 0;
Azure.IoT Build 0:6ae2f7bca550 9696 }
Azure.IoT Build 0:6ae2f7bca550 9697 else
Azure.IoT Build 0:6ae2f7bca550 9698 {
Azure.IoT Build 0:6ae2f7bca550 9699 if (amqpvalue_get_boolean(item_value, dynamic_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 9700 {
AzureIoTClient 16:22a72cf8e416 9701 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 9702 {
AzureIoTClient 19:000ab4e6a2c1 9703 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 9704 }
AzureIoTClient 16:22a72cf8e416 9705 else
AzureIoTClient 16:22a72cf8e416 9706 {
AzureIoTClient 16:22a72cf8e416 9707 *dynamic_value = false;
AzureIoTClient 16:22a72cf8e416 9708 result = 0;
AzureIoTClient 16:22a72cf8e416 9709 }
Azure.IoT Build 0:6ae2f7bca550 9710 }
Azure.IoT Build 0:6ae2f7bca550 9711 else
Azure.IoT Build 0:6ae2f7bca550 9712 {
Azure.IoT Build 0:6ae2f7bca550 9713 result = 0;
Azure.IoT Build 0:6ae2f7bca550 9714 }
Azure.IoT Build 0:6ae2f7bca550 9715 }
Azure.IoT Build 0:6ae2f7bca550 9716 }
Azure.IoT Build 0:6ae2f7bca550 9717
Azure.IoT Build 0:6ae2f7bca550 9718 return result;
Azure.IoT Build 0:6ae2f7bca550 9719 }
Azure.IoT Build 0:6ae2f7bca550 9720
Azure.IoT Build 0:6ae2f7bca550 9721 int source_set_dynamic(SOURCE_HANDLE source, bool dynamic_value)
Azure.IoT Build 0:6ae2f7bca550 9722 {
Azure.IoT Build 0:6ae2f7bca550 9723 int result;
Azure.IoT Build 0:6ae2f7bca550 9724
Azure.IoT Build 0:6ae2f7bca550 9725 if (source == NULL)
Azure.IoT Build 0:6ae2f7bca550 9726 {
AzureIoTClient 19:000ab4e6a2c1 9727 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9728 }
Azure.IoT Build 0:6ae2f7bca550 9729 else
Azure.IoT Build 0:6ae2f7bca550 9730 {
Azure.IoT Build 0:6ae2f7bca550 9731 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 9732 AMQP_VALUE dynamic_amqp_value = amqpvalue_create_boolean(dynamic_value);
Azure.IoT Build 0:6ae2f7bca550 9733 if (dynamic_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9734 {
AzureIoTClient 19:000ab4e6a2c1 9735 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9736 }
Azure.IoT Build 0:6ae2f7bca550 9737 else
Azure.IoT Build 0:6ae2f7bca550 9738 {
Azure.IoT Build 0:6ae2f7bca550 9739 if (amqpvalue_set_composite_item(source_instance->composite_value, 4, dynamic_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 9740 {
AzureIoTClient 19:000ab4e6a2c1 9741 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9742 }
Azure.IoT Build 0:6ae2f7bca550 9743 else
Azure.IoT Build 0:6ae2f7bca550 9744 {
Azure.IoT Build 0:6ae2f7bca550 9745 result = 0;
Azure.IoT Build 0:6ae2f7bca550 9746 }
Azure.IoT Build 0:6ae2f7bca550 9747
Azure.IoT Build 0:6ae2f7bca550 9748 amqpvalue_destroy(dynamic_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 9749 }
Azure.IoT Build 0:6ae2f7bca550 9750 }
Azure.IoT Build 0:6ae2f7bca550 9751
Azure.IoT Build 0:6ae2f7bca550 9752 return result;
Azure.IoT Build 0:6ae2f7bca550 9753 }
Azure.IoT Build 0:6ae2f7bca550 9754
Azure.IoT Build 0:6ae2f7bca550 9755 int source_get_dynamic_node_properties(SOURCE_HANDLE source, node_properties* dynamic_node_properties_value)
Azure.IoT Build 0:6ae2f7bca550 9756 {
Azure.IoT Build 0:6ae2f7bca550 9757 int result;
Azure.IoT Build 0:6ae2f7bca550 9758
Azure.IoT Build 0:6ae2f7bca550 9759 if (source == NULL)
Azure.IoT Build 0:6ae2f7bca550 9760 {
AzureIoTClient 19:000ab4e6a2c1 9761 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9762 }
Azure.IoT Build 0:6ae2f7bca550 9763 else
Azure.IoT Build 0:6ae2f7bca550 9764 {
Azure.IoT Build 0:6ae2f7bca550 9765 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 9766 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(source_instance->composite_value, 5);
Azure.IoT Build 0:6ae2f7bca550 9767 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9768 {
AzureIoTClient 19:000ab4e6a2c1 9769 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9770 }
Azure.IoT Build 0:6ae2f7bca550 9771 else
Azure.IoT Build 0:6ae2f7bca550 9772 {
Azure.IoT Build 0:6ae2f7bca550 9773 if (amqpvalue_get_node_properties(item_value, dynamic_node_properties_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 9774 {
AzureIoTClient 19:000ab4e6a2c1 9775 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9776 }
Azure.IoT Build 0:6ae2f7bca550 9777 else
Azure.IoT Build 0:6ae2f7bca550 9778 {
Azure.IoT Build 0:6ae2f7bca550 9779 result = 0;
Azure.IoT Build 0:6ae2f7bca550 9780 }
Azure.IoT Build 0:6ae2f7bca550 9781 }
Azure.IoT Build 0:6ae2f7bca550 9782 }
Azure.IoT Build 0:6ae2f7bca550 9783
Azure.IoT Build 0:6ae2f7bca550 9784 return result;
Azure.IoT Build 0:6ae2f7bca550 9785 }
Azure.IoT Build 0:6ae2f7bca550 9786
Azure.IoT Build 0:6ae2f7bca550 9787 int source_set_dynamic_node_properties(SOURCE_HANDLE source, node_properties dynamic_node_properties_value)
Azure.IoT Build 0:6ae2f7bca550 9788 {
Azure.IoT Build 0:6ae2f7bca550 9789 int result;
Azure.IoT Build 0:6ae2f7bca550 9790
Azure.IoT Build 0:6ae2f7bca550 9791 if (source == NULL)
Azure.IoT Build 0:6ae2f7bca550 9792 {
AzureIoTClient 19:000ab4e6a2c1 9793 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9794 }
Azure.IoT Build 0:6ae2f7bca550 9795 else
Azure.IoT Build 0:6ae2f7bca550 9796 {
Azure.IoT Build 0:6ae2f7bca550 9797 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 9798 AMQP_VALUE dynamic_node_properties_amqp_value = amqpvalue_create_node_properties(dynamic_node_properties_value);
Azure.IoT Build 0:6ae2f7bca550 9799 if (dynamic_node_properties_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9800 {
AzureIoTClient 19:000ab4e6a2c1 9801 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9802 }
Azure.IoT Build 0:6ae2f7bca550 9803 else
Azure.IoT Build 0:6ae2f7bca550 9804 {
Azure.IoT Build 0:6ae2f7bca550 9805 if (amqpvalue_set_composite_item(source_instance->composite_value, 5, dynamic_node_properties_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 9806 {
AzureIoTClient 19:000ab4e6a2c1 9807 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9808 }
Azure.IoT Build 0:6ae2f7bca550 9809 else
Azure.IoT Build 0:6ae2f7bca550 9810 {
Azure.IoT Build 0:6ae2f7bca550 9811 result = 0;
Azure.IoT Build 0:6ae2f7bca550 9812 }
Azure.IoT Build 0:6ae2f7bca550 9813
Azure.IoT Build 0:6ae2f7bca550 9814 amqpvalue_destroy(dynamic_node_properties_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 9815 }
Azure.IoT Build 0:6ae2f7bca550 9816 }
Azure.IoT Build 0:6ae2f7bca550 9817
Azure.IoT Build 0:6ae2f7bca550 9818 return result;
Azure.IoT Build 0:6ae2f7bca550 9819 }
Azure.IoT Build 0:6ae2f7bca550 9820
Azure.IoT Build 0:6ae2f7bca550 9821 int source_get_distribution_mode(SOURCE_HANDLE source, const char** distribution_mode_value)
Azure.IoT Build 0:6ae2f7bca550 9822 {
Azure.IoT Build 0:6ae2f7bca550 9823 int result;
Azure.IoT Build 0:6ae2f7bca550 9824
Azure.IoT Build 0:6ae2f7bca550 9825 if (source == NULL)
Azure.IoT Build 0:6ae2f7bca550 9826 {
AzureIoTClient 19:000ab4e6a2c1 9827 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9828 }
Azure.IoT Build 0:6ae2f7bca550 9829 else
Azure.IoT Build 0:6ae2f7bca550 9830 {
Azure.IoT Build 0:6ae2f7bca550 9831 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 9832 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(source_instance->composite_value, 6);
Azure.IoT Build 0:6ae2f7bca550 9833 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9834 {
AzureIoTClient 19:000ab4e6a2c1 9835 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9836 }
Azure.IoT Build 0:6ae2f7bca550 9837 else
Azure.IoT Build 0:6ae2f7bca550 9838 {
Azure.IoT Build 0:6ae2f7bca550 9839 if (amqpvalue_get_symbol(item_value, distribution_mode_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 9840 {
AzureIoTClient 19:000ab4e6a2c1 9841 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9842 }
Azure.IoT Build 0:6ae2f7bca550 9843 else
Azure.IoT Build 0:6ae2f7bca550 9844 {
Azure.IoT Build 0:6ae2f7bca550 9845 result = 0;
Azure.IoT Build 0:6ae2f7bca550 9846 }
Azure.IoT Build 0:6ae2f7bca550 9847 }
Azure.IoT Build 0:6ae2f7bca550 9848 }
Azure.IoT Build 0:6ae2f7bca550 9849
Azure.IoT Build 0:6ae2f7bca550 9850 return result;
Azure.IoT Build 0:6ae2f7bca550 9851 }
Azure.IoT Build 0:6ae2f7bca550 9852
Azure.IoT Build 0:6ae2f7bca550 9853 int source_set_distribution_mode(SOURCE_HANDLE source, const char* distribution_mode_value)
Azure.IoT Build 0:6ae2f7bca550 9854 {
Azure.IoT Build 0:6ae2f7bca550 9855 int result;
Azure.IoT Build 0:6ae2f7bca550 9856
Azure.IoT Build 0:6ae2f7bca550 9857 if (source == NULL)
Azure.IoT Build 0:6ae2f7bca550 9858 {
AzureIoTClient 19:000ab4e6a2c1 9859 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9860 }
Azure.IoT Build 0:6ae2f7bca550 9861 else
Azure.IoT Build 0:6ae2f7bca550 9862 {
Azure.IoT Build 0:6ae2f7bca550 9863 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 9864 AMQP_VALUE distribution_mode_amqp_value = amqpvalue_create_symbol(distribution_mode_value);
Azure.IoT Build 0:6ae2f7bca550 9865 if (distribution_mode_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9866 {
AzureIoTClient 19:000ab4e6a2c1 9867 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9868 }
Azure.IoT Build 0:6ae2f7bca550 9869 else
Azure.IoT Build 0:6ae2f7bca550 9870 {
Azure.IoT Build 0:6ae2f7bca550 9871 if (amqpvalue_set_composite_item(source_instance->composite_value, 6, distribution_mode_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 9872 {
AzureIoTClient 19:000ab4e6a2c1 9873 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9874 }
Azure.IoT Build 0:6ae2f7bca550 9875 else
Azure.IoT Build 0:6ae2f7bca550 9876 {
Azure.IoT Build 0:6ae2f7bca550 9877 result = 0;
Azure.IoT Build 0:6ae2f7bca550 9878 }
Azure.IoT Build 0:6ae2f7bca550 9879
Azure.IoT Build 0:6ae2f7bca550 9880 amqpvalue_destroy(distribution_mode_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 9881 }
Azure.IoT Build 0:6ae2f7bca550 9882 }
Azure.IoT Build 0:6ae2f7bca550 9883
Azure.IoT Build 0:6ae2f7bca550 9884 return result;
Azure.IoT Build 0:6ae2f7bca550 9885 }
Azure.IoT Build 0:6ae2f7bca550 9886
Azure.IoT Build 0:6ae2f7bca550 9887 int source_get_filter(SOURCE_HANDLE source, filter_set* filter_value)
Azure.IoT Build 0:6ae2f7bca550 9888 {
Azure.IoT Build 0:6ae2f7bca550 9889 int result;
Azure.IoT Build 0:6ae2f7bca550 9890
Azure.IoT Build 0:6ae2f7bca550 9891 if (source == NULL)
Azure.IoT Build 0:6ae2f7bca550 9892 {
AzureIoTClient 19:000ab4e6a2c1 9893 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9894 }
Azure.IoT Build 0:6ae2f7bca550 9895 else
Azure.IoT Build 0:6ae2f7bca550 9896 {
Azure.IoT Build 0:6ae2f7bca550 9897 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 9898 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(source_instance->composite_value, 7);
Azure.IoT Build 0:6ae2f7bca550 9899 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9900 {
AzureIoTClient 19:000ab4e6a2c1 9901 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9902 }
Azure.IoT Build 0:6ae2f7bca550 9903 else
Azure.IoT Build 0:6ae2f7bca550 9904 {
Azure.IoT Build 0:6ae2f7bca550 9905 if (amqpvalue_get_filter_set(item_value, filter_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 9906 {
AzureIoTClient 19:000ab4e6a2c1 9907 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9908 }
Azure.IoT Build 0:6ae2f7bca550 9909 else
Azure.IoT Build 0:6ae2f7bca550 9910 {
Azure.IoT Build 0:6ae2f7bca550 9911 result = 0;
Azure.IoT Build 0:6ae2f7bca550 9912 }
Azure.IoT Build 0:6ae2f7bca550 9913 }
Azure.IoT Build 0:6ae2f7bca550 9914 }
Azure.IoT Build 0:6ae2f7bca550 9915
Azure.IoT Build 0:6ae2f7bca550 9916 return result;
Azure.IoT Build 0:6ae2f7bca550 9917 }
Azure.IoT Build 0:6ae2f7bca550 9918
Azure.IoT Build 0:6ae2f7bca550 9919 int source_set_filter(SOURCE_HANDLE source, filter_set filter_value)
Azure.IoT Build 0:6ae2f7bca550 9920 {
Azure.IoT Build 0:6ae2f7bca550 9921 int result;
Azure.IoT Build 0:6ae2f7bca550 9922
Azure.IoT Build 0:6ae2f7bca550 9923 if (source == NULL)
Azure.IoT Build 0:6ae2f7bca550 9924 {
AzureIoTClient 19:000ab4e6a2c1 9925 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9926 }
Azure.IoT Build 0:6ae2f7bca550 9927 else
Azure.IoT Build 0:6ae2f7bca550 9928 {
Azure.IoT Build 0:6ae2f7bca550 9929 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 9930 AMQP_VALUE filter_amqp_value = amqpvalue_create_filter_set(filter_value);
Azure.IoT Build 0:6ae2f7bca550 9931 if (filter_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9932 {
AzureIoTClient 19:000ab4e6a2c1 9933 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9934 }
Azure.IoT Build 0:6ae2f7bca550 9935 else
Azure.IoT Build 0:6ae2f7bca550 9936 {
Azure.IoT Build 0:6ae2f7bca550 9937 if (amqpvalue_set_composite_item(source_instance->composite_value, 7, filter_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 9938 {
AzureIoTClient 19:000ab4e6a2c1 9939 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9940 }
Azure.IoT Build 0:6ae2f7bca550 9941 else
Azure.IoT Build 0:6ae2f7bca550 9942 {
Azure.IoT Build 0:6ae2f7bca550 9943 result = 0;
Azure.IoT Build 0:6ae2f7bca550 9944 }
Azure.IoT Build 0:6ae2f7bca550 9945
Azure.IoT Build 0:6ae2f7bca550 9946 amqpvalue_destroy(filter_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 9947 }
Azure.IoT Build 0:6ae2f7bca550 9948 }
Azure.IoT Build 0:6ae2f7bca550 9949
Azure.IoT Build 0:6ae2f7bca550 9950 return result;
Azure.IoT Build 0:6ae2f7bca550 9951 }
Azure.IoT Build 0:6ae2f7bca550 9952
Azure.IoT Build 0:6ae2f7bca550 9953 int source_get_default_outcome(SOURCE_HANDLE source, AMQP_VALUE* default_outcome_value)
Azure.IoT Build 0:6ae2f7bca550 9954 {
Azure.IoT Build 0:6ae2f7bca550 9955 int result;
Azure.IoT Build 0:6ae2f7bca550 9956
Azure.IoT Build 0:6ae2f7bca550 9957 if (source == NULL)
Azure.IoT Build 0:6ae2f7bca550 9958 {
AzureIoTClient 19:000ab4e6a2c1 9959 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9960 }
Azure.IoT Build 0:6ae2f7bca550 9961 else
Azure.IoT Build 0:6ae2f7bca550 9962 {
Azure.IoT Build 0:6ae2f7bca550 9963 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 9964 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(source_instance->composite_value, 8);
Azure.IoT Build 0:6ae2f7bca550 9965 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9966 {
AzureIoTClient 19:000ab4e6a2c1 9967 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9968 }
Azure.IoT Build 0:6ae2f7bca550 9969 else
Azure.IoT Build 0:6ae2f7bca550 9970 {
Azure.IoT Build 0:6ae2f7bca550 9971 *default_outcome_value = item_value;
Azure.IoT Build 0:6ae2f7bca550 9972 result = 0;
Azure.IoT Build 0:6ae2f7bca550 9973 }
Azure.IoT Build 0:6ae2f7bca550 9974 }
Azure.IoT Build 0:6ae2f7bca550 9975
Azure.IoT Build 0:6ae2f7bca550 9976 return result;
Azure.IoT Build 0:6ae2f7bca550 9977 }
Azure.IoT Build 0:6ae2f7bca550 9978
Azure.IoT Build 0:6ae2f7bca550 9979 int source_set_default_outcome(SOURCE_HANDLE source, AMQP_VALUE default_outcome_value)
Azure.IoT Build 0:6ae2f7bca550 9980 {
Azure.IoT Build 0:6ae2f7bca550 9981 int result;
Azure.IoT Build 0:6ae2f7bca550 9982
Azure.IoT Build 0:6ae2f7bca550 9983 if (source == NULL)
Azure.IoT Build 0:6ae2f7bca550 9984 {
AzureIoTClient 19:000ab4e6a2c1 9985 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9986 }
Azure.IoT Build 0:6ae2f7bca550 9987 else
Azure.IoT Build 0:6ae2f7bca550 9988 {
Azure.IoT Build 0:6ae2f7bca550 9989 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 9990 AMQP_VALUE default_outcome_amqp_value = amqpvalue_clone(default_outcome_value);
Azure.IoT Build 0:6ae2f7bca550 9991 if (default_outcome_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 9992 {
AzureIoTClient 19:000ab4e6a2c1 9993 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 9994 }
Azure.IoT Build 0:6ae2f7bca550 9995 else
Azure.IoT Build 0:6ae2f7bca550 9996 {
Azure.IoT Build 0:6ae2f7bca550 9997 if (amqpvalue_set_composite_item(source_instance->composite_value, 8, default_outcome_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 9998 {
AzureIoTClient 19:000ab4e6a2c1 9999 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10000 }
Azure.IoT Build 0:6ae2f7bca550 10001 else
Azure.IoT Build 0:6ae2f7bca550 10002 {
Azure.IoT Build 0:6ae2f7bca550 10003 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10004 }
Azure.IoT Build 0:6ae2f7bca550 10005
Azure.IoT Build 0:6ae2f7bca550 10006 amqpvalue_destroy(default_outcome_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 10007 }
Azure.IoT Build 0:6ae2f7bca550 10008 }
Azure.IoT Build 0:6ae2f7bca550 10009
Azure.IoT Build 0:6ae2f7bca550 10010 return result;
Azure.IoT Build 0:6ae2f7bca550 10011 }
Azure.IoT Build 0:6ae2f7bca550 10012
Azure.IoT Build 0:6ae2f7bca550 10013 int source_get_outcomes(SOURCE_HANDLE source, AMQP_VALUE* outcomes_value)
Azure.IoT Build 0:6ae2f7bca550 10014 {
Azure.IoT Build 0:6ae2f7bca550 10015 int result;
Azure.IoT Build 0:6ae2f7bca550 10016
Azure.IoT Build 0:6ae2f7bca550 10017 if (source == NULL)
Azure.IoT Build 0:6ae2f7bca550 10018 {
AzureIoTClient 19:000ab4e6a2c1 10019 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10020 }
Azure.IoT Build 0:6ae2f7bca550 10021 else
Azure.IoT Build 0:6ae2f7bca550 10022 {
Azure.IoT Build 0:6ae2f7bca550 10023 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 10024 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(source_instance->composite_value, 9);
Azure.IoT Build 0:6ae2f7bca550 10025 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10026 {
AzureIoTClient 19:000ab4e6a2c1 10027 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10028 }
Azure.IoT Build 0:6ae2f7bca550 10029 else
Azure.IoT Build 0:6ae2f7bca550 10030 {
Azure.IoT Build 0:6ae2f7bca550 10031 if (amqpvalue_get_array(item_value, outcomes_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 10032 {
AzureIoTClient 19:000ab4e6a2c1 10033 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10034 }
Azure.IoT Build 0:6ae2f7bca550 10035 else
Azure.IoT Build 0:6ae2f7bca550 10036 {
Azure.IoT Build 0:6ae2f7bca550 10037 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10038 }
Azure.IoT Build 0:6ae2f7bca550 10039 }
Azure.IoT Build 0:6ae2f7bca550 10040 }
Azure.IoT Build 0:6ae2f7bca550 10041
Azure.IoT Build 0:6ae2f7bca550 10042 return result;
Azure.IoT Build 0:6ae2f7bca550 10043 }
Azure.IoT Build 0:6ae2f7bca550 10044
Azure.IoT Build 0:6ae2f7bca550 10045 int source_set_outcomes(SOURCE_HANDLE source, AMQP_VALUE outcomes_value)
Azure.IoT Build 0:6ae2f7bca550 10046 {
Azure.IoT Build 0:6ae2f7bca550 10047 int result;
Azure.IoT Build 0:6ae2f7bca550 10048
Azure.IoT Build 0:6ae2f7bca550 10049 if (source == NULL)
Azure.IoT Build 0:6ae2f7bca550 10050 {
AzureIoTClient 19:000ab4e6a2c1 10051 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10052 }
Azure.IoT Build 0:6ae2f7bca550 10053 else
Azure.IoT Build 0:6ae2f7bca550 10054 {
Azure.IoT Build 0:6ae2f7bca550 10055 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 10056 AMQP_VALUE outcomes_amqp_value = amqpvalue_clone(outcomes_value);
Azure.IoT Build 0:6ae2f7bca550 10057 if (outcomes_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10058 {
AzureIoTClient 19:000ab4e6a2c1 10059 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10060 }
Azure.IoT Build 0:6ae2f7bca550 10061 else
Azure.IoT Build 0:6ae2f7bca550 10062 {
Azure.IoT Build 0:6ae2f7bca550 10063 if (amqpvalue_set_composite_item(source_instance->composite_value, 9, outcomes_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 10064 {
AzureIoTClient 19:000ab4e6a2c1 10065 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10066 }
Azure.IoT Build 0:6ae2f7bca550 10067 else
Azure.IoT Build 0:6ae2f7bca550 10068 {
Azure.IoT Build 0:6ae2f7bca550 10069 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10070 }
Azure.IoT Build 0:6ae2f7bca550 10071
Azure.IoT Build 0:6ae2f7bca550 10072 amqpvalue_destroy(outcomes_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 10073 }
Azure.IoT Build 0:6ae2f7bca550 10074 }
Azure.IoT Build 0:6ae2f7bca550 10075
Azure.IoT Build 0:6ae2f7bca550 10076 return result;
Azure.IoT Build 0:6ae2f7bca550 10077 }
Azure.IoT Build 0:6ae2f7bca550 10078
Azure.IoT Build 0:6ae2f7bca550 10079 int source_get_capabilities(SOURCE_HANDLE source, AMQP_VALUE* capabilities_value)
Azure.IoT Build 0:6ae2f7bca550 10080 {
Azure.IoT Build 0:6ae2f7bca550 10081 int result;
Azure.IoT Build 0:6ae2f7bca550 10082
Azure.IoT Build 0:6ae2f7bca550 10083 if (source == NULL)
Azure.IoT Build 0:6ae2f7bca550 10084 {
AzureIoTClient 19:000ab4e6a2c1 10085 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10086 }
Azure.IoT Build 0:6ae2f7bca550 10087 else
Azure.IoT Build 0:6ae2f7bca550 10088 {
Azure.IoT Build 0:6ae2f7bca550 10089 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 10090 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(source_instance->composite_value, 10);
Azure.IoT Build 0:6ae2f7bca550 10091 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10092 {
AzureIoTClient 19:000ab4e6a2c1 10093 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10094 }
Azure.IoT Build 0:6ae2f7bca550 10095 else
Azure.IoT Build 0:6ae2f7bca550 10096 {
Azure.IoT Build 0:6ae2f7bca550 10097 if (amqpvalue_get_array(item_value, capabilities_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 10098 {
AzureIoTClient 19:000ab4e6a2c1 10099 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10100 }
Azure.IoT Build 0:6ae2f7bca550 10101 else
Azure.IoT Build 0:6ae2f7bca550 10102 {
Azure.IoT Build 0:6ae2f7bca550 10103 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10104 }
Azure.IoT Build 0:6ae2f7bca550 10105 }
Azure.IoT Build 0:6ae2f7bca550 10106 }
Azure.IoT Build 0:6ae2f7bca550 10107
Azure.IoT Build 0:6ae2f7bca550 10108 return result;
Azure.IoT Build 0:6ae2f7bca550 10109 }
Azure.IoT Build 0:6ae2f7bca550 10110
Azure.IoT Build 0:6ae2f7bca550 10111 int source_set_capabilities(SOURCE_HANDLE source, AMQP_VALUE capabilities_value)
Azure.IoT Build 0:6ae2f7bca550 10112 {
Azure.IoT Build 0:6ae2f7bca550 10113 int result;
Azure.IoT Build 0:6ae2f7bca550 10114
Azure.IoT Build 0:6ae2f7bca550 10115 if (source == NULL)
Azure.IoT Build 0:6ae2f7bca550 10116 {
AzureIoTClient 19:000ab4e6a2c1 10117 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10118 }
Azure.IoT Build 0:6ae2f7bca550 10119 else
Azure.IoT Build 0:6ae2f7bca550 10120 {
Azure.IoT Build 0:6ae2f7bca550 10121 SOURCE_INSTANCE* source_instance = (SOURCE_INSTANCE*)source;
Azure.IoT Build 0:6ae2f7bca550 10122 AMQP_VALUE capabilities_amqp_value = amqpvalue_clone(capabilities_value);
Azure.IoT Build 0:6ae2f7bca550 10123 if (capabilities_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10124 {
AzureIoTClient 19:000ab4e6a2c1 10125 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10126 }
Azure.IoT Build 0:6ae2f7bca550 10127 else
Azure.IoT Build 0:6ae2f7bca550 10128 {
Azure.IoT Build 0:6ae2f7bca550 10129 if (amqpvalue_set_composite_item(source_instance->composite_value, 10, capabilities_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 10130 {
AzureIoTClient 19:000ab4e6a2c1 10131 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10132 }
Azure.IoT Build 0:6ae2f7bca550 10133 else
Azure.IoT Build 0:6ae2f7bca550 10134 {
Azure.IoT Build 0:6ae2f7bca550 10135 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10136 }
Azure.IoT Build 0:6ae2f7bca550 10137
Azure.IoT Build 0:6ae2f7bca550 10138 amqpvalue_destroy(capabilities_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 10139 }
Azure.IoT Build 0:6ae2f7bca550 10140 }
Azure.IoT Build 0:6ae2f7bca550 10141
Azure.IoT Build 0:6ae2f7bca550 10142 return result;
Azure.IoT Build 0:6ae2f7bca550 10143 }
Azure.IoT Build 0:6ae2f7bca550 10144
Azure.IoT Build 0:6ae2f7bca550 10145
Azure.IoT Build 0:6ae2f7bca550 10146 /* target */
Azure.IoT Build 0:6ae2f7bca550 10147
Azure.IoT Build 0:6ae2f7bca550 10148 typedef struct TARGET_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 10149 {
Azure.IoT Build 0:6ae2f7bca550 10150 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 10151 } TARGET_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 10152
Azure.IoT Build 0:6ae2f7bca550 10153 static TARGET_HANDLE target_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 10154 {
Azure.IoT Build 0:6ae2f7bca550 10155 TARGET_INSTANCE* target_instance = (TARGET_INSTANCE*)amqpalloc_malloc(sizeof(TARGET_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 10156 if (target_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 10157 {
Azure.IoT Build 0:6ae2f7bca550 10158 target_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 10159 }
Azure.IoT Build 0:6ae2f7bca550 10160
Azure.IoT Build 0:6ae2f7bca550 10161 return target_instance;
Azure.IoT Build 0:6ae2f7bca550 10162 }
Azure.IoT Build 0:6ae2f7bca550 10163
Azure.IoT Build 0:6ae2f7bca550 10164 TARGET_HANDLE target_create(void)
Azure.IoT Build 0:6ae2f7bca550 10165 {
Azure.IoT Build 0:6ae2f7bca550 10166 TARGET_INSTANCE* target_instance = (TARGET_INSTANCE*)amqpalloc_malloc(sizeof(TARGET_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 10167 if (target_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 10168 {
Azure.IoT Build 0:6ae2f7bca550 10169 target_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(41);
Azure.IoT Build 0:6ae2f7bca550 10170 if (target_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10171 {
Azure.IoT Build 0:6ae2f7bca550 10172 amqpalloc_free(target_instance);
Azure.IoT Build 0:6ae2f7bca550 10173 target_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 10174 }
Azure.IoT Build 0:6ae2f7bca550 10175 }
Azure.IoT Build 0:6ae2f7bca550 10176
Azure.IoT Build 0:6ae2f7bca550 10177 return target_instance;
Azure.IoT Build 0:6ae2f7bca550 10178 }
Azure.IoT Build 0:6ae2f7bca550 10179
Azure.IoT Build 0:6ae2f7bca550 10180 TARGET_HANDLE target_clone(TARGET_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 10181 {
Azure.IoT Build 0:6ae2f7bca550 10182 TARGET_INSTANCE* target_instance = (TARGET_INSTANCE*)amqpalloc_malloc(sizeof(TARGET_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 10183 if (target_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 10184 {
Azure.IoT Build 0:6ae2f7bca550 10185 target_instance->composite_value = amqpvalue_clone(((TARGET_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 10186 if (target_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10187 {
Azure.IoT Build 0:6ae2f7bca550 10188 amqpalloc_free(target_instance);
Azure.IoT Build 0:6ae2f7bca550 10189 target_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 10190 }
Azure.IoT Build 0:6ae2f7bca550 10191 }
Azure.IoT Build 0:6ae2f7bca550 10192
Azure.IoT Build 0:6ae2f7bca550 10193 return target_instance;
Azure.IoT Build 0:6ae2f7bca550 10194 }
Azure.IoT Build 0:6ae2f7bca550 10195
Azure.IoT Build 0:6ae2f7bca550 10196 void target_destroy(TARGET_HANDLE target)
Azure.IoT Build 0:6ae2f7bca550 10197 {
Azure.IoT Build 0:6ae2f7bca550 10198 if (target != NULL)
Azure.IoT Build 0:6ae2f7bca550 10199 {
Azure.IoT Build 0:6ae2f7bca550 10200 TARGET_INSTANCE* target_instance = (TARGET_INSTANCE*)target;
Azure.IoT Build 0:6ae2f7bca550 10201 amqpvalue_destroy(target_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 10202 amqpalloc_free(target_instance);
Azure.IoT Build 0:6ae2f7bca550 10203 }
Azure.IoT Build 0:6ae2f7bca550 10204 }
Azure.IoT Build 0:6ae2f7bca550 10205
Azure.IoT Build 0:6ae2f7bca550 10206 AMQP_VALUE amqpvalue_create_target(TARGET_HANDLE target)
Azure.IoT Build 0:6ae2f7bca550 10207 {
Azure.IoT Build 0:6ae2f7bca550 10208 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 10209
Azure.IoT Build 0:6ae2f7bca550 10210 if (target == NULL)
Azure.IoT Build 0:6ae2f7bca550 10211 {
Azure.IoT Build 0:6ae2f7bca550 10212 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 10213 }
Azure.IoT Build 0:6ae2f7bca550 10214 else
Azure.IoT Build 0:6ae2f7bca550 10215 {
Azure.IoT Build 0:6ae2f7bca550 10216 TARGET_INSTANCE* target_instance = (TARGET_INSTANCE*)target;
Azure.IoT Build 0:6ae2f7bca550 10217 result = amqpvalue_clone(target_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 10218 }
Azure.IoT Build 0:6ae2f7bca550 10219
Azure.IoT Build 0:6ae2f7bca550 10220 return result;
Azure.IoT Build 0:6ae2f7bca550 10221 }
Azure.IoT Build 0:6ae2f7bca550 10222
Azure.IoT Build 0:6ae2f7bca550 10223 bool is_target_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 10224 {
Azure.IoT Build 0:6ae2f7bca550 10225 bool result;
Azure.IoT Build 0:6ae2f7bca550 10226
Azure.IoT Build 0:6ae2f7bca550 10227 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 10228 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 10229 (descriptor_ulong == 41))
Azure.IoT Build 0:6ae2f7bca550 10230 {
Azure.IoT Build 0:6ae2f7bca550 10231 result = true;
Azure.IoT Build 0:6ae2f7bca550 10232 }
Azure.IoT Build 0:6ae2f7bca550 10233 else
Azure.IoT Build 0:6ae2f7bca550 10234 {
Azure.IoT Build 0:6ae2f7bca550 10235 result = false;
Azure.IoT Build 0:6ae2f7bca550 10236 }
Azure.IoT Build 0:6ae2f7bca550 10237
Azure.IoT Build 0:6ae2f7bca550 10238 return result;
Azure.IoT Build 0:6ae2f7bca550 10239 }
Azure.IoT Build 0:6ae2f7bca550 10240
Azure.IoT Build 0:6ae2f7bca550 10241
Azure.IoT Build 0:6ae2f7bca550 10242 int amqpvalue_get_target(AMQP_VALUE value, TARGET_HANDLE* target_handle)
Azure.IoT Build 0:6ae2f7bca550 10243 {
Azure.IoT Build 0:6ae2f7bca550 10244 int result;
Azure.IoT Build 0:6ae2f7bca550 10245 TARGET_INSTANCE* target_instance = (TARGET_INSTANCE*)target_create_internal();
Azure.IoT Build 0:6ae2f7bca550 10246 *target_handle = target_instance;
Azure.IoT Build 0:6ae2f7bca550 10247 if (*target_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 10248 {
AzureIoTClient 19:000ab4e6a2c1 10249 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10250 }
Azure.IoT Build 0:6ae2f7bca550 10251 else
Azure.IoT Build 0:6ae2f7bca550 10252 {
Azure.IoT Build 0:6ae2f7bca550 10253 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 10254 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10255 {
Azure.IoT Build 0:6ae2f7bca550 10256 target_destroy(*target_handle);
AzureIoTClient 19:000ab4e6a2c1 10257 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10258 }
Azure.IoT Build 0:6ae2f7bca550 10259 else
Azure.IoT Build 0:6ae2f7bca550 10260 {
Azure.IoT Build 0:6ae2f7bca550 10261 do
Azure.IoT Build 0:6ae2f7bca550 10262 {
Azure.IoT Build 0:6ae2f7bca550 10263 AMQP_VALUE item_value;
Azure.IoT Build 0:6ae2f7bca550 10264 /* address */
Azure.IoT Build 0:6ae2f7bca550 10265 item_value = amqpvalue_get_list_item(list_value, 0);
Azure.IoT Build 0:6ae2f7bca550 10266 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10267 {
Azure.IoT Build 0:6ae2f7bca550 10268 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 10269 }
Azure.IoT Build 0:6ae2f7bca550 10270 else
Azure.IoT Build 0:6ae2f7bca550 10271 {
Azure.IoT Build 0:6ae2f7bca550 10272 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 10273 }
Azure.IoT Build 0:6ae2f7bca550 10274 /* durable */
Azure.IoT Build 0:6ae2f7bca550 10275 item_value = amqpvalue_get_list_item(list_value, 1);
Azure.IoT Build 0:6ae2f7bca550 10276 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10277 {
Azure.IoT Build 0:6ae2f7bca550 10278 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 10279 }
Azure.IoT Build 0:6ae2f7bca550 10280 else
Azure.IoT Build 0:6ae2f7bca550 10281 {
Azure.IoT Build 0:6ae2f7bca550 10282 terminus_durability durable;
Azure.IoT Build 0:6ae2f7bca550 10283 if (amqpvalue_get_terminus_durability(item_value, &durable) != 0)
Azure.IoT Build 0:6ae2f7bca550 10284 {
Azure.IoT Build 0:6ae2f7bca550 10285 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 10286 {
Azure.IoT Build 0:6ae2f7bca550 10287 target_destroy(*target_handle);
AzureIoTClient 19:000ab4e6a2c1 10288 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10289 break;
Azure.IoT Build 0:6ae2f7bca550 10290 }
Azure.IoT Build 0:6ae2f7bca550 10291 }
Azure.IoT Build 0:6ae2f7bca550 10292
Azure.IoT Build 0:6ae2f7bca550 10293 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 10294 }
Azure.IoT Build 0:6ae2f7bca550 10295 /* expiry-policy */
Azure.IoT Build 0:6ae2f7bca550 10296 item_value = amqpvalue_get_list_item(list_value, 2);
Azure.IoT Build 0:6ae2f7bca550 10297 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10298 {
Azure.IoT Build 0:6ae2f7bca550 10299 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 10300 }
Azure.IoT Build 0:6ae2f7bca550 10301 else
Azure.IoT Build 0:6ae2f7bca550 10302 {
Azure.IoT Build 0:6ae2f7bca550 10303 terminus_expiry_policy expiry_policy;
Azure.IoT Build 0:6ae2f7bca550 10304 if (amqpvalue_get_terminus_expiry_policy(item_value, &expiry_policy) != 0)
Azure.IoT Build 0:6ae2f7bca550 10305 {
Azure.IoT Build 0:6ae2f7bca550 10306 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 10307 {
Azure.IoT Build 0:6ae2f7bca550 10308 target_destroy(*target_handle);
AzureIoTClient 19:000ab4e6a2c1 10309 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10310 break;
Azure.IoT Build 0:6ae2f7bca550 10311 }
Azure.IoT Build 0:6ae2f7bca550 10312 }
Azure.IoT Build 0:6ae2f7bca550 10313
Azure.IoT Build 0:6ae2f7bca550 10314 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 10315 }
Azure.IoT Build 0:6ae2f7bca550 10316 /* timeout */
Azure.IoT Build 0:6ae2f7bca550 10317 item_value = amqpvalue_get_list_item(list_value, 3);
Azure.IoT Build 0:6ae2f7bca550 10318 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10319 {
Azure.IoT Build 0:6ae2f7bca550 10320 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 10321 }
Azure.IoT Build 0:6ae2f7bca550 10322 else
Azure.IoT Build 0:6ae2f7bca550 10323 {
Azure.IoT Build 0:6ae2f7bca550 10324 seconds timeout;
Azure.IoT Build 0:6ae2f7bca550 10325 if (amqpvalue_get_seconds(item_value, &timeout) != 0)
Azure.IoT Build 0:6ae2f7bca550 10326 {
Azure.IoT Build 0:6ae2f7bca550 10327 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 10328 {
Azure.IoT Build 0:6ae2f7bca550 10329 target_destroy(*target_handle);
AzureIoTClient 19:000ab4e6a2c1 10330 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10331 break;
Azure.IoT Build 0:6ae2f7bca550 10332 }
Azure.IoT Build 0:6ae2f7bca550 10333 }
Azure.IoT Build 0:6ae2f7bca550 10334
Azure.IoT Build 0:6ae2f7bca550 10335 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 10336 }
Azure.IoT Build 0:6ae2f7bca550 10337 /* dynamic */
Azure.IoT Build 0:6ae2f7bca550 10338 item_value = amqpvalue_get_list_item(list_value, 4);
Azure.IoT Build 0:6ae2f7bca550 10339 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10340 {
Azure.IoT Build 0:6ae2f7bca550 10341 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 10342 }
Azure.IoT Build 0:6ae2f7bca550 10343 else
Azure.IoT Build 0:6ae2f7bca550 10344 {
Azure.IoT Build 0:6ae2f7bca550 10345 bool dynamic;
Azure.IoT Build 0:6ae2f7bca550 10346 if (amqpvalue_get_boolean(item_value, &dynamic) != 0)
Azure.IoT Build 0:6ae2f7bca550 10347 {
Azure.IoT Build 0:6ae2f7bca550 10348 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 10349 {
Azure.IoT Build 0:6ae2f7bca550 10350 target_destroy(*target_handle);
AzureIoTClient 19:000ab4e6a2c1 10351 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10352 break;
Azure.IoT Build 0:6ae2f7bca550 10353 }
Azure.IoT Build 0:6ae2f7bca550 10354 }
Azure.IoT Build 0:6ae2f7bca550 10355
Azure.IoT Build 0:6ae2f7bca550 10356 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 10357 }
Azure.IoT Build 0:6ae2f7bca550 10358 /* dynamic-node-properties */
Azure.IoT Build 0:6ae2f7bca550 10359 item_value = amqpvalue_get_list_item(list_value, 5);
Azure.IoT Build 0:6ae2f7bca550 10360 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10361 {
Azure.IoT Build 0:6ae2f7bca550 10362 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 10363 }
Azure.IoT Build 0:6ae2f7bca550 10364 else
Azure.IoT Build 0:6ae2f7bca550 10365 {
Azure.IoT Build 0:6ae2f7bca550 10366 node_properties dynamic_node_properties;
Azure.IoT Build 0:6ae2f7bca550 10367 if (amqpvalue_get_node_properties(item_value, &dynamic_node_properties) != 0)
Azure.IoT Build 0:6ae2f7bca550 10368 {
Azure.IoT Build 0:6ae2f7bca550 10369 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 10370 {
Azure.IoT Build 0:6ae2f7bca550 10371 target_destroy(*target_handle);
AzureIoTClient 19:000ab4e6a2c1 10372 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10373 break;
Azure.IoT Build 0:6ae2f7bca550 10374 }
Azure.IoT Build 0:6ae2f7bca550 10375 }
Azure.IoT Build 0:6ae2f7bca550 10376
Azure.IoT Build 0:6ae2f7bca550 10377 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 10378 }
Azure.IoT Build 0:6ae2f7bca550 10379 /* capabilities */
Azure.IoT Build 0:6ae2f7bca550 10380 item_value = amqpvalue_get_list_item(list_value, 6);
Azure.IoT Build 0:6ae2f7bca550 10381 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10382 {
Azure.IoT Build 0:6ae2f7bca550 10383 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 10384 }
Azure.IoT Build 0:6ae2f7bca550 10385 else
Azure.IoT Build 0:6ae2f7bca550 10386 {
Azure.IoT Build 0:6ae2f7bca550 10387 const char* capabilities;
Azure.IoT Build 0:6ae2f7bca550 10388 AMQP_VALUE capabilities_array;
Azure.IoT Build 0:6ae2f7bca550 10389 if ((amqpvalue_get_array(item_value, &capabilities_array) != 0) &&
Azure.IoT Build 0:6ae2f7bca550 10390 (amqpvalue_get_symbol(item_value, &capabilities) != 0))
Azure.IoT Build 0:6ae2f7bca550 10391 {
Azure.IoT Build 0:6ae2f7bca550 10392 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 10393 {
Azure.IoT Build 0:6ae2f7bca550 10394 target_destroy(*target_handle);
AzureIoTClient 19:000ab4e6a2c1 10395 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10396 break;
Azure.IoT Build 0:6ae2f7bca550 10397 }
Azure.IoT Build 0:6ae2f7bca550 10398 }
Azure.IoT Build 0:6ae2f7bca550 10399
Azure.IoT Build 0:6ae2f7bca550 10400 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 10401 }
Azure.IoT Build 0:6ae2f7bca550 10402
Azure.IoT Build 0:6ae2f7bca550 10403 target_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 10404
Azure.IoT Build 0:6ae2f7bca550 10405 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10406 } while (0);
Azure.IoT Build 0:6ae2f7bca550 10407 }
Azure.IoT Build 0:6ae2f7bca550 10408 }
Azure.IoT Build 0:6ae2f7bca550 10409
Azure.IoT Build 0:6ae2f7bca550 10410 return result;
Azure.IoT Build 0:6ae2f7bca550 10411 }
Azure.IoT Build 0:6ae2f7bca550 10412
Azure.IoT Build 0:6ae2f7bca550 10413 int target_get_address(TARGET_HANDLE target, AMQP_VALUE* address_value)
Azure.IoT Build 0:6ae2f7bca550 10414 {
Azure.IoT Build 0:6ae2f7bca550 10415 int result;
Azure.IoT Build 0:6ae2f7bca550 10416
Azure.IoT Build 0:6ae2f7bca550 10417 if (target == NULL)
Azure.IoT Build 0:6ae2f7bca550 10418 {
AzureIoTClient 19:000ab4e6a2c1 10419 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10420 }
Azure.IoT Build 0:6ae2f7bca550 10421 else
Azure.IoT Build 0:6ae2f7bca550 10422 {
Azure.IoT Build 0:6ae2f7bca550 10423 TARGET_INSTANCE* target_instance = (TARGET_INSTANCE*)target;
Azure.IoT Build 0:6ae2f7bca550 10424 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(target_instance->composite_value, 0);
Azure.IoT Build 0:6ae2f7bca550 10425 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10426 {
AzureIoTClient 19:000ab4e6a2c1 10427 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10428 }
Azure.IoT Build 0:6ae2f7bca550 10429 else
Azure.IoT Build 0:6ae2f7bca550 10430 {
Azure.IoT Build 0:6ae2f7bca550 10431 *address_value = item_value;
Azure.IoT Build 0:6ae2f7bca550 10432 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10433 }
Azure.IoT Build 0:6ae2f7bca550 10434 }
Azure.IoT Build 0:6ae2f7bca550 10435
Azure.IoT Build 0:6ae2f7bca550 10436 return result;
Azure.IoT Build 0:6ae2f7bca550 10437 }
Azure.IoT Build 0:6ae2f7bca550 10438
Azure.IoT Build 0:6ae2f7bca550 10439 int target_set_address(TARGET_HANDLE target, AMQP_VALUE address_value)
Azure.IoT Build 0:6ae2f7bca550 10440 {
Azure.IoT Build 0:6ae2f7bca550 10441 int result;
Azure.IoT Build 0:6ae2f7bca550 10442
Azure.IoT Build 0:6ae2f7bca550 10443 if (target == NULL)
Azure.IoT Build 0:6ae2f7bca550 10444 {
AzureIoTClient 19:000ab4e6a2c1 10445 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10446 }
Azure.IoT Build 0:6ae2f7bca550 10447 else
Azure.IoT Build 0:6ae2f7bca550 10448 {
Azure.IoT Build 0:6ae2f7bca550 10449 TARGET_INSTANCE* target_instance = (TARGET_INSTANCE*)target;
Azure.IoT Build 0:6ae2f7bca550 10450 AMQP_VALUE address_amqp_value = amqpvalue_clone(address_value);
Azure.IoT Build 0:6ae2f7bca550 10451 if (address_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10452 {
AzureIoTClient 19:000ab4e6a2c1 10453 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10454 }
Azure.IoT Build 0:6ae2f7bca550 10455 else
Azure.IoT Build 0:6ae2f7bca550 10456 {
Azure.IoT Build 0:6ae2f7bca550 10457 if (amqpvalue_set_composite_item(target_instance->composite_value, 0, address_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 10458 {
AzureIoTClient 19:000ab4e6a2c1 10459 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10460 }
Azure.IoT Build 0:6ae2f7bca550 10461 else
Azure.IoT Build 0:6ae2f7bca550 10462 {
Azure.IoT Build 0:6ae2f7bca550 10463 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10464 }
Azure.IoT Build 0:6ae2f7bca550 10465
Azure.IoT Build 0:6ae2f7bca550 10466 amqpvalue_destroy(address_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 10467 }
Azure.IoT Build 0:6ae2f7bca550 10468 }
Azure.IoT Build 0:6ae2f7bca550 10469
Azure.IoT Build 0:6ae2f7bca550 10470 return result;
Azure.IoT Build 0:6ae2f7bca550 10471 }
Azure.IoT Build 0:6ae2f7bca550 10472
Azure.IoT Build 0:6ae2f7bca550 10473 int target_get_durable(TARGET_HANDLE target, terminus_durability* durable_value)
Azure.IoT Build 0:6ae2f7bca550 10474 {
Azure.IoT Build 0:6ae2f7bca550 10475 int result;
Azure.IoT Build 0:6ae2f7bca550 10476
Azure.IoT Build 0:6ae2f7bca550 10477 if (target == NULL)
Azure.IoT Build 0:6ae2f7bca550 10478 {
AzureIoTClient 19:000ab4e6a2c1 10479 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10480 }
Azure.IoT Build 0:6ae2f7bca550 10481 else
Azure.IoT Build 0:6ae2f7bca550 10482 {
Azure.IoT Build 0:6ae2f7bca550 10483 TARGET_INSTANCE* target_instance = (TARGET_INSTANCE*)target;
Azure.IoT Build 0:6ae2f7bca550 10484 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(target_instance->composite_value, 1);
Azure.IoT Build 0:6ae2f7bca550 10485 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10486 {
AzureIoTClient 16:22a72cf8e416 10487 *durable_value = terminus_durability_none;
AzureIoTClient 16:22a72cf8e416 10488 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10489 }
Azure.IoT Build 0:6ae2f7bca550 10490 else
Azure.IoT Build 0:6ae2f7bca550 10491 {
Azure.IoT Build 0:6ae2f7bca550 10492 if (amqpvalue_get_terminus_durability(item_value, durable_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 10493 {
AzureIoTClient 16:22a72cf8e416 10494 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 10495 {
AzureIoTClient 19:000ab4e6a2c1 10496 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 10497 }
AzureIoTClient 16:22a72cf8e416 10498 else
AzureIoTClient 16:22a72cf8e416 10499 {
AzureIoTClient 16:22a72cf8e416 10500 *durable_value = terminus_durability_none;
AzureIoTClient 16:22a72cf8e416 10501 result = 0;
AzureIoTClient 16:22a72cf8e416 10502 }
Azure.IoT Build 0:6ae2f7bca550 10503 }
Azure.IoT Build 0:6ae2f7bca550 10504 else
Azure.IoT Build 0:6ae2f7bca550 10505 {
Azure.IoT Build 0:6ae2f7bca550 10506 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10507 }
Azure.IoT Build 0:6ae2f7bca550 10508 }
Azure.IoT Build 0:6ae2f7bca550 10509 }
Azure.IoT Build 0:6ae2f7bca550 10510
Azure.IoT Build 0:6ae2f7bca550 10511 return result;
Azure.IoT Build 0:6ae2f7bca550 10512 }
Azure.IoT Build 0:6ae2f7bca550 10513
Azure.IoT Build 0:6ae2f7bca550 10514 int target_set_durable(TARGET_HANDLE target, terminus_durability durable_value)
Azure.IoT Build 0:6ae2f7bca550 10515 {
Azure.IoT Build 0:6ae2f7bca550 10516 int result;
Azure.IoT Build 0:6ae2f7bca550 10517
Azure.IoT Build 0:6ae2f7bca550 10518 if (target == NULL)
Azure.IoT Build 0:6ae2f7bca550 10519 {
AzureIoTClient 19:000ab4e6a2c1 10520 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10521 }
Azure.IoT Build 0:6ae2f7bca550 10522 else
Azure.IoT Build 0:6ae2f7bca550 10523 {
Azure.IoT Build 0:6ae2f7bca550 10524 TARGET_INSTANCE* target_instance = (TARGET_INSTANCE*)target;
Azure.IoT Build 0:6ae2f7bca550 10525 AMQP_VALUE durable_amqp_value = amqpvalue_create_terminus_durability(durable_value);
Azure.IoT Build 0:6ae2f7bca550 10526 if (durable_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10527 {
AzureIoTClient 19:000ab4e6a2c1 10528 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10529 }
Azure.IoT Build 0:6ae2f7bca550 10530 else
Azure.IoT Build 0:6ae2f7bca550 10531 {
Azure.IoT Build 0:6ae2f7bca550 10532 if (amqpvalue_set_composite_item(target_instance->composite_value, 1, durable_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 10533 {
AzureIoTClient 19:000ab4e6a2c1 10534 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10535 }
Azure.IoT Build 0:6ae2f7bca550 10536 else
Azure.IoT Build 0:6ae2f7bca550 10537 {
Azure.IoT Build 0:6ae2f7bca550 10538 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10539 }
Azure.IoT Build 0:6ae2f7bca550 10540
Azure.IoT Build 0:6ae2f7bca550 10541 amqpvalue_destroy(durable_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 10542 }
Azure.IoT Build 0:6ae2f7bca550 10543 }
Azure.IoT Build 0:6ae2f7bca550 10544
Azure.IoT Build 0:6ae2f7bca550 10545 return result;
Azure.IoT Build 0:6ae2f7bca550 10546 }
Azure.IoT Build 0:6ae2f7bca550 10547
Azure.IoT Build 0:6ae2f7bca550 10548 int target_get_expiry_policy(TARGET_HANDLE target, terminus_expiry_policy* expiry_policy_value)
Azure.IoT Build 0:6ae2f7bca550 10549 {
Azure.IoT Build 0:6ae2f7bca550 10550 int result;
Azure.IoT Build 0:6ae2f7bca550 10551
Azure.IoT Build 0:6ae2f7bca550 10552 if (target == NULL)
Azure.IoT Build 0:6ae2f7bca550 10553 {
AzureIoTClient 19:000ab4e6a2c1 10554 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10555 }
Azure.IoT Build 0:6ae2f7bca550 10556 else
Azure.IoT Build 0:6ae2f7bca550 10557 {
Azure.IoT Build 0:6ae2f7bca550 10558 TARGET_INSTANCE* target_instance = (TARGET_INSTANCE*)target;
Azure.IoT Build 0:6ae2f7bca550 10559 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(target_instance->composite_value, 2);
Azure.IoT Build 0:6ae2f7bca550 10560 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10561 {
AzureIoTClient 16:22a72cf8e416 10562 *expiry_policy_value = terminus_expiry_policy_session_end;
AzureIoTClient 16:22a72cf8e416 10563 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10564 }
Azure.IoT Build 0:6ae2f7bca550 10565 else
Azure.IoT Build 0:6ae2f7bca550 10566 {
Azure.IoT Build 0:6ae2f7bca550 10567 if (amqpvalue_get_terminus_expiry_policy(item_value, expiry_policy_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 10568 {
AzureIoTClient 16:22a72cf8e416 10569 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 10570 {
AzureIoTClient 19:000ab4e6a2c1 10571 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 10572 }
AzureIoTClient 16:22a72cf8e416 10573 else
AzureIoTClient 16:22a72cf8e416 10574 {
AzureIoTClient 16:22a72cf8e416 10575 *expiry_policy_value = terminus_expiry_policy_session_end;
AzureIoTClient 16:22a72cf8e416 10576 result = 0;
AzureIoTClient 16:22a72cf8e416 10577 }
Azure.IoT Build 0:6ae2f7bca550 10578 }
Azure.IoT Build 0:6ae2f7bca550 10579 else
Azure.IoT Build 0:6ae2f7bca550 10580 {
Azure.IoT Build 0:6ae2f7bca550 10581 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10582 }
Azure.IoT Build 0:6ae2f7bca550 10583 }
Azure.IoT Build 0:6ae2f7bca550 10584 }
Azure.IoT Build 0:6ae2f7bca550 10585
Azure.IoT Build 0:6ae2f7bca550 10586 return result;
Azure.IoT Build 0:6ae2f7bca550 10587 }
Azure.IoT Build 0:6ae2f7bca550 10588
Azure.IoT Build 0:6ae2f7bca550 10589 int target_set_expiry_policy(TARGET_HANDLE target, terminus_expiry_policy expiry_policy_value)
Azure.IoT Build 0:6ae2f7bca550 10590 {
Azure.IoT Build 0:6ae2f7bca550 10591 int result;
Azure.IoT Build 0:6ae2f7bca550 10592
Azure.IoT Build 0:6ae2f7bca550 10593 if (target == NULL)
Azure.IoT Build 0:6ae2f7bca550 10594 {
AzureIoTClient 19:000ab4e6a2c1 10595 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10596 }
Azure.IoT Build 0:6ae2f7bca550 10597 else
Azure.IoT Build 0:6ae2f7bca550 10598 {
Azure.IoT Build 0:6ae2f7bca550 10599 TARGET_INSTANCE* target_instance = (TARGET_INSTANCE*)target;
Azure.IoT Build 0:6ae2f7bca550 10600 AMQP_VALUE expiry_policy_amqp_value = amqpvalue_create_terminus_expiry_policy(expiry_policy_value);
Azure.IoT Build 0:6ae2f7bca550 10601 if (expiry_policy_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10602 {
AzureIoTClient 19:000ab4e6a2c1 10603 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10604 }
Azure.IoT Build 0:6ae2f7bca550 10605 else
Azure.IoT Build 0:6ae2f7bca550 10606 {
Azure.IoT Build 0:6ae2f7bca550 10607 if (amqpvalue_set_composite_item(target_instance->composite_value, 2, expiry_policy_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 10608 {
AzureIoTClient 19:000ab4e6a2c1 10609 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10610 }
Azure.IoT Build 0:6ae2f7bca550 10611 else
Azure.IoT Build 0:6ae2f7bca550 10612 {
Azure.IoT Build 0:6ae2f7bca550 10613 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10614 }
Azure.IoT Build 0:6ae2f7bca550 10615
Azure.IoT Build 0:6ae2f7bca550 10616 amqpvalue_destroy(expiry_policy_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 10617 }
Azure.IoT Build 0:6ae2f7bca550 10618 }
Azure.IoT Build 0:6ae2f7bca550 10619
Azure.IoT Build 0:6ae2f7bca550 10620 return result;
Azure.IoT Build 0:6ae2f7bca550 10621 }
Azure.IoT Build 0:6ae2f7bca550 10622
Azure.IoT Build 0:6ae2f7bca550 10623 int target_get_timeout(TARGET_HANDLE target, seconds* timeout_value)
Azure.IoT Build 0:6ae2f7bca550 10624 {
Azure.IoT Build 0:6ae2f7bca550 10625 int result;
Azure.IoT Build 0:6ae2f7bca550 10626
Azure.IoT Build 0:6ae2f7bca550 10627 if (target == NULL)
Azure.IoT Build 0:6ae2f7bca550 10628 {
AzureIoTClient 19:000ab4e6a2c1 10629 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10630 }
Azure.IoT Build 0:6ae2f7bca550 10631 else
Azure.IoT Build 0:6ae2f7bca550 10632 {
Azure.IoT Build 0:6ae2f7bca550 10633 TARGET_INSTANCE* target_instance = (TARGET_INSTANCE*)target;
Azure.IoT Build 0:6ae2f7bca550 10634 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(target_instance->composite_value, 3);
Azure.IoT Build 0:6ae2f7bca550 10635 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10636 {
AzureIoTClient 16:22a72cf8e416 10637 *timeout_value = 0;
AzureIoTClient 16:22a72cf8e416 10638 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10639 }
Azure.IoT Build 0:6ae2f7bca550 10640 else
Azure.IoT Build 0:6ae2f7bca550 10641 {
Azure.IoT Build 0:6ae2f7bca550 10642 if (amqpvalue_get_seconds(item_value, timeout_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 10643 {
AzureIoTClient 16:22a72cf8e416 10644 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 10645 {
AzureIoTClient 19:000ab4e6a2c1 10646 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 10647 }
AzureIoTClient 16:22a72cf8e416 10648 else
AzureIoTClient 16:22a72cf8e416 10649 {
AzureIoTClient 16:22a72cf8e416 10650 *timeout_value = 0;
AzureIoTClient 16:22a72cf8e416 10651 result = 0;
AzureIoTClient 16:22a72cf8e416 10652 }
Azure.IoT Build 0:6ae2f7bca550 10653 }
Azure.IoT Build 0:6ae2f7bca550 10654 else
Azure.IoT Build 0:6ae2f7bca550 10655 {
Azure.IoT Build 0:6ae2f7bca550 10656 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10657 }
Azure.IoT Build 0:6ae2f7bca550 10658 }
Azure.IoT Build 0:6ae2f7bca550 10659 }
Azure.IoT Build 0:6ae2f7bca550 10660
Azure.IoT Build 0:6ae2f7bca550 10661 return result;
Azure.IoT Build 0:6ae2f7bca550 10662 }
Azure.IoT Build 0:6ae2f7bca550 10663
Azure.IoT Build 0:6ae2f7bca550 10664 int target_set_timeout(TARGET_HANDLE target, seconds timeout_value)
Azure.IoT Build 0:6ae2f7bca550 10665 {
Azure.IoT Build 0:6ae2f7bca550 10666 int result;
Azure.IoT Build 0:6ae2f7bca550 10667
Azure.IoT Build 0:6ae2f7bca550 10668 if (target == NULL)
Azure.IoT Build 0:6ae2f7bca550 10669 {
AzureIoTClient 19:000ab4e6a2c1 10670 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10671 }
Azure.IoT Build 0:6ae2f7bca550 10672 else
Azure.IoT Build 0:6ae2f7bca550 10673 {
Azure.IoT Build 0:6ae2f7bca550 10674 TARGET_INSTANCE* target_instance = (TARGET_INSTANCE*)target;
Azure.IoT Build 0:6ae2f7bca550 10675 AMQP_VALUE timeout_amqp_value = amqpvalue_create_seconds(timeout_value);
Azure.IoT Build 0:6ae2f7bca550 10676 if (timeout_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10677 {
AzureIoTClient 19:000ab4e6a2c1 10678 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10679 }
Azure.IoT Build 0:6ae2f7bca550 10680 else
Azure.IoT Build 0:6ae2f7bca550 10681 {
Azure.IoT Build 0:6ae2f7bca550 10682 if (amqpvalue_set_composite_item(target_instance->composite_value, 3, timeout_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 10683 {
AzureIoTClient 19:000ab4e6a2c1 10684 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10685 }
Azure.IoT Build 0:6ae2f7bca550 10686 else
Azure.IoT Build 0:6ae2f7bca550 10687 {
Azure.IoT Build 0:6ae2f7bca550 10688 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10689 }
Azure.IoT Build 0:6ae2f7bca550 10690
Azure.IoT Build 0:6ae2f7bca550 10691 amqpvalue_destroy(timeout_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 10692 }
Azure.IoT Build 0:6ae2f7bca550 10693 }
Azure.IoT Build 0:6ae2f7bca550 10694
Azure.IoT Build 0:6ae2f7bca550 10695 return result;
Azure.IoT Build 0:6ae2f7bca550 10696 }
Azure.IoT Build 0:6ae2f7bca550 10697
Azure.IoT Build 0:6ae2f7bca550 10698 int target_get_dynamic(TARGET_HANDLE target, bool* dynamic_value)
Azure.IoT Build 0:6ae2f7bca550 10699 {
Azure.IoT Build 0:6ae2f7bca550 10700 int result;
Azure.IoT Build 0:6ae2f7bca550 10701
Azure.IoT Build 0:6ae2f7bca550 10702 if (target == NULL)
Azure.IoT Build 0:6ae2f7bca550 10703 {
AzureIoTClient 19:000ab4e6a2c1 10704 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10705 }
Azure.IoT Build 0:6ae2f7bca550 10706 else
Azure.IoT Build 0:6ae2f7bca550 10707 {
Azure.IoT Build 0:6ae2f7bca550 10708 TARGET_INSTANCE* target_instance = (TARGET_INSTANCE*)target;
Azure.IoT Build 0:6ae2f7bca550 10709 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(target_instance->composite_value, 4);
Azure.IoT Build 0:6ae2f7bca550 10710 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10711 {
AzureIoTClient 16:22a72cf8e416 10712 *dynamic_value = false;
AzureIoTClient 16:22a72cf8e416 10713 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10714 }
Azure.IoT Build 0:6ae2f7bca550 10715 else
Azure.IoT Build 0:6ae2f7bca550 10716 {
Azure.IoT Build 0:6ae2f7bca550 10717 if (amqpvalue_get_boolean(item_value, dynamic_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 10718 {
AzureIoTClient 16:22a72cf8e416 10719 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 10720 {
AzureIoTClient 19:000ab4e6a2c1 10721 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 10722 }
AzureIoTClient 16:22a72cf8e416 10723 else
AzureIoTClient 16:22a72cf8e416 10724 {
AzureIoTClient 16:22a72cf8e416 10725 *dynamic_value = false;
AzureIoTClient 16:22a72cf8e416 10726 result = 0;
AzureIoTClient 16:22a72cf8e416 10727 }
Azure.IoT Build 0:6ae2f7bca550 10728 }
Azure.IoT Build 0:6ae2f7bca550 10729 else
Azure.IoT Build 0:6ae2f7bca550 10730 {
Azure.IoT Build 0:6ae2f7bca550 10731 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10732 }
Azure.IoT Build 0:6ae2f7bca550 10733 }
Azure.IoT Build 0:6ae2f7bca550 10734 }
Azure.IoT Build 0:6ae2f7bca550 10735
Azure.IoT Build 0:6ae2f7bca550 10736 return result;
Azure.IoT Build 0:6ae2f7bca550 10737 }
Azure.IoT Build 0:6ae2f7bca550 10738
Azure.IoT Build 0:6ae2f7bca550 10739 int target_set_dynamic(TARGET_HANDLE target, bool dynamic_value)
Azure.IoT Build 0:6ae2f7bca550 10740 {
Azure.IoT Build 0:6ae2f7bca550 10741 int result;
Azure.IoT Build 0:6ae2f7bca550 10742
Azure.IoT Build 0:6ae2f7bca550 10743 if (target == NULL)
Azure.IoT Build 0:6ae2f7bca550 10744 {
AzureIoTClient 19:000ab4e6a2c1 10745 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10746 }
Azure.IoT Build 0:6ae2f7bca550 10747 else
Azure.IoT Build 0:6ae2f7bca550 10748 {
Azure.IoT Build 0:6ae2f7bca550 10749 TARGET_INSTANCE* target_instance = (TARGET_INSTANCE*)target;
Azure.IoT Build 0:6ae2f7bca550 10750 AMQP_VALUE dynamic_amqp_value = amqpvalue_create_boolean(dynamic_value);
Azure.IoT Build 0:6ae2f7bca550 10751 if (dynamic_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10752 {
AzureIoTClient 19:000ab4e6a2c1 10753 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10754 }
Azure.IoT Build 0:6ae2f7bca550 10755 else
Azure.IoT Build 0:6ae2f7bca550 10756 {
Azure.IoT Build 0:6ae2f7bca550 10757 if (amqpvalue_set_composite_item(target_instance->composite_value, 4, dynamic_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 10758 {
AzureIoTClient 19:000ab4e6a2c1 10759 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10760 }
Azure.IoT Build 0:6ae2f7bca550 10761 else
Azure.IoT Build 0:6ae2f7bca550 10762 {
Azure.IoT Build 0:6ae2f7bca550 10763 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10764 }
Azure.IoT Build 0:6ae2f7bca550 10765
Azure.IoT Build 0:6ae2f7bca550 10766 amqpvalue_destroy(dynamic_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 10767 }
Azure.IoT Build 0:6ae2f7bca550 10768 }
Azure.IoT Build 0:6ae2f7bca550 10769
Azure.IoT Build 0:6ae2f7bca550 10770 return result;
Azure.IoT Build 0:6ae2f7bca550 10771 }
Azure.IoT Build 0:6ae2f7bca550 10772
Azure.IoT Build 0:6ae2f7bca550 10773 int target_get_dynamic_node_properties(TARGET_HANDLE target, node_properties* dynamic_node_properties_value)
Azure.IoT Build 0:6ae2f7bca550 10774 {
Azure.IoT Build 0:6ae2f7bca550 10775 int result;
Azure.IoT Build 0:6ae2f7bca550 10776
Azure.IoT Build 0:6ae2f7bca550 10777 if (target == NULL)
Azure.IoT Build 0:6ae2f7bca550 10778 {
AzureIoTClient 19:000ab4e6a2c1 10779 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10780 }
Azure.IoT Build 0:6ae2f7bca550 10781 else
Azure.IoT Build 0:6ae2f7bca550 10782 {
Azure.IoT Build 0:6ae2f7bca550 10783 TARGET_INSTANCE* target_instance = (TARGET_INSTANCE*)target;
Azure.IoT Build 0:6ae2f7bca550 10784 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(target_instance->composite_value, 5);
Azure.IoT Build 0:6ae2f7bca550 10785 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10786 {
AzureIoTClient 19:000ab4e6a2c1 10787 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10788 }
Azure.IoT Build 0:6ae2f7bca550 10789 else
Azure.IoT Build 0:6ae2f7bca550 10790 {
Azure.IoT Build 0:6ae2f7bca550 10791 if (amqpvalue_get_node_properties(item_value, dynamic_node_properties_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 10792 {
AzureIoTClient 19:000ab4e6a2c1 10793 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10794 }
Azure.IoT Build 0:6ae2f7bca550 10795 else
Azure.IoT Build 0:6ae2f7bca550 10796 {
Azure.IoT Build 0:6ae2f7bca550 10797 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10798 }
Azure.IoT Build 0:6ae2f7bca550 10799 }
Azure.IoT Build 0:6ae2f7bca550 10800 }
Azure.IoT Build 0:6ae2f7bca550 10801
Azure.IoT Build 0:6ae2f7bca550 10802 return result;
Azure.IoT Build 0:6ae2f7bca550 10803 }
Azure.IoT Build 0:6ae2f7bca550 10804
Azure.IoT Build 0:6ae2f7bca550 10805 int target_set_dynamic_node_properties(TARGET_HANDLE target, node_properties dynamic_node_properties_value)
Azure.IoT Build 0:6ae2f7bca550 10806 {
Azure.IoT Build 0:6ae2f7bca550 10807 int result;
Azure.IoT Build 0:6ae2f7bca550 10808
Azure.IoT Build 0:6ae2f7bca550 10809 if (target == NULL)
Azure.IoT Build 0:6ae2f7bca550 10810 {
AzureIoTClient 19:000ab4e6a2c1 10811 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10812 }
Azure.IoT Build 0:6ae2f7bca550 10813 else
Azure.IoT Build 0:6ae2f7bca550 10814 {
Azure.IoT Build 0:6ae2f7bca550 10815 TARGET_INSTANCE* target_instance = (TARGET_INSTANCE*)target;
Azure.IoT Build 0:6ae2f7bca550 10816 AMQP_VALUE dynamic_node_properties_amqp_value = amqpvalue_create_node_properties(dynamic_node_properties_value);
Azure.IoT Build 0:6ae2f7bca550 10817 if (dynamic_node_properties_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10818 {
AzureIoTClient 19:000ab4e6a2c1 10819 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10820 }
Azure.IoT Build 0:6ae2f7bca550 10821 else
Azure.IoT Build 0:6ae2f7bca550 10822 {
Azure.IoT Build 0:6ae2f7bca550 10823 if (amqpvalue_set_composite_item(target_instance->composite_value, 5, dynamic_node_properties_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 10824 {
AzureIoTClient 19:000ab4e6a2c1 10825 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10826 }
Azure.IoT Build 0:6ae2f7bca550 10827 else
Azure.IoT Build 0:6ae2f7bca550 10828 {
Azure.IoT Build 0:6ae2f7bca550 10829 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10830 }
Azure.IoT Build 0:6ae2f7bca550 10831
Azure.IoT Build 0:6ae2f7bca550 10832 amqpvalue_destroy(dynamic_node_properties_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 10833 }
Azure.IoT Build 0:6ae2f7bca550 10834 }
Azure.IoT Build 0:6ae2f7bca550 10835
Azure.IoT Build 0:6ae2f7bca550 10836 return result;
Azure.IoT Build 0:6ae2f7bca550 10837 }
Azure.IoT Build 0:6ae2f7bca550 10838
Azure.IoT Build 0:6ae2f7bca550 10839 int target_get_capabilities(TARGET_HANDLE target, AMQP_VALUE* capabilities_value)
Azure.IoT Build 0:6ae2f7bca550 10840 {
Azure.IoT Build 0:6ae2f7bca550 10841 int result;
Azure.IoT Build 0:6ae2f7bca550 10842
Azure.IoT Build 0:6ae2f7bca550 10843 if (target == NULL)
Azure.IoT Build 0:6ae2f7bca550 10844 {
AzureIoTClient 19:000ab4e6a2c1 10845 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10846 }
Azure.IoT Build 0:6ae2f7bca550 10847 else
Azure.IoT Build 0:6ae2f7bca550 10848 {
Azure.IoT Build 0:6ae2f7bca550 10849 TARGET_INSTANCE* target_instance = (TARGET_INSTANCE*)target;
Azure.IoT Build 0:6ae2f7bca550 10850 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(target_instance->composite_value, 6);
Azure.IoT Build 0:6ae2f7bca550 10851 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10852 {
AzureIoTClient 19:000ab4e6a2c1 10853 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10854 }
Azure.IoT Build 0:6ae2f7bca550 10855 else
Azure.IoT Build 0:6ae2f7bca550 10856 {
Azure.IoT Build 0:6ae2f7bca550 10857 if (amqpvalue_get_array(item_value, capabilities_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 10858 {
AzureIoTClient 19:000ab4e6a2c1 10859 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10860 }
Azure.IoT Build 0:6ae2f7bca550 10861 else
Azure.IoT Build 0:6ae2f7bca550 10862 {
Azure.IoT Build 0:6ae2f7bca550 10863 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10864 }
Azure.IoT Build 0:6ae2f7bca550 10865 }
Azure.IoT Build 0:6ae2f7bca550 10866 }
Azure.IoT Build 0:6ae2f7bca550 10867
Azure.IoT Build 0:6ae2f7bca550 10868 return result;
Azure.IoT Build 0:6ae2f7bca550 10869 }
Azure.IoT Build 0:6ae2f7bca550 10870
Azure.IoT Build 0:6ae2f7bca550 10871 int target_set_capabilities(TARGET_HANDLE target, AMQP_VALUE capabilities_value)
Azure.IoT Build 0:6ae2f7bca550 10872 {
Azure.IoT Build 0:6ae2f7bca550 10873 int result;
Azure.IoT Build 0:6ae2f7bca550 10874
Azure.IoT Build 0:6ae2f7bca550 10875 if (target == NULL)
Azure.IoT Build 0:6ae2f7bca550 10876 {
AzureIoTClient 19:000ab4e6a2c1 10877 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10878 }
Azure.IoT Build 0:6ae2f7bca550 10879 else
Azure.IoT Build 0:6ae2f7bca550 10880 {
Azure.IoT Build 0:6ae2f7bca550 10881 TARGET_INSTANCE* target_instance = (TARGET_INSTANCE*)target;
Azure.IoT Build 0:6ae2f7bca550 10882 AMQP_VALUE capabilities_amqp_value = amqpvalue_clone(capabilities_value);
Azure.IoT Build 0:6ae2f7bca550 10883 if (capabilities_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10884 {
AzureIoTClient 19:000ab4e6a2c1 10885 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10886 }
Azure.IoT Build 0:6ae2f7bca550 10887 else
Azure.IoT Build 0:6ae2f7bca550 10888 {
Azure.IoT Build 0:6ae2f7bca550 10889 if (amqpvalue_set_composite_item(target_instance->composite_value, 6, capabilities_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 10890 {
AzureIoTClient 19:000ab4e6a2c1 10891 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 10892 }
Azure.IoT Build 0:6ae2f7bca550 10893 else
Azure.IoT Build 0:6ae2f7bca550 10894 {
Azure.IoT Build 0:6ae2f7bca550 10895 result = 0;
Azure.IoT Build 0:6ae2f7bca550 10896 }
Azure.IoT Build 0:6ae2f7bca550 10897
Azure.IoT Build 0:6ae2f7bca550 10898 amqpvalue_destroy(capabilities_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 10899 }
Azure.IoT Build 0:6ae2f7bca550 10900 }
Azure.IoT Build 0:6ae2f7bca550 10901
Azure.IoT Build 0:6ae2f7bca550 10902 return result;
Azure.IoT Build 0:6ae2f7bca550 10903 }
Azure.IoT Build 0:6ae2f7bca550 10904
Azure.IoT Build 0:6ae2f7bca550 10905
Azure.IoT Build 0:6ae2f7bca550 10906 /* annotations */
Azure.IoT Build 0:6ae2f7bca550 10907
Azure.IoT Build 0:6ae2f7bca550 10908 AMQP_VALUE amqpvalue_create_annotations(AMQP_VALUE value)
Azure.IoT Build 0:6ae2f7bca550 10909 {
Azure.IoT Build 0:6ae2f7bca550 10910 return amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 10911 }
Azure.IoT Build 0:6ae2f7bca550 10912
Azure.IoT Build 0:6ae2f7bca550 10913 /* message-id-ulong */
Azure.IoT Build 0:6ae2f7bca550 10914
Azure.IoT Build 0:6ae2f7bca550 10915 AMQP_VALUE amqpvalue_create_message_id_ulong(message_id_ulong value)
Azure.IoT Build 0:6ae2f7bca550 10916 {
Azure.IoT Build 0:6ae2f7bca550 10917 return amqpvalue_create_ulong(value);
Azure.IoT Build 0:6ae2f7bca550 10918 }
Azure.IoT Build 0:6ae2f7bca550 10919
Azure.IoT Build 0:6ae2f7bca550 10920 /* message-id-uuid */
Azure.IoT Build 0:6ae2f7bca550 10921
Azure.IoT Build 0:6ae2f7bca550 10922 AMQP_VALUE amqpvalue_create_message_id_uuid(message_id_uuid value)
Azure.IoT Build 0:6ae2f7bca550 10923 {
Azure.IoT Build 0:6ae2f7bca550 10924 return amqpvalue_create_uuid(value);
Azure.IoT Build 0:6ae2f7bca550 10925 }
Azure.IoT Build 0:6ae2f7bca550 10926
Azure.IoT Build 0:6ae2f7bca550 10927 /* message-id-binary */
Azure.IoT Build 0:6ae2f7bca550 10928
Azure.IoT Build 0:6ae2f7bca550 10929 AMQP_VALUE amqpvalue_create_message_id_binary(message_id_binary value)
Azure.IoT Build 0:6ae2f7bca550 10930 {
Azure.IoT Build 0:6ae2f7bca550 10931 return amqpvalue_create_binary(value);
Azure.IoT Build 0:6ae2f7bca550 10932 }
Azure.IoT Build 0:6ae2f7bca550 10933
Azure.IoT Build 0:6ae2f7bca550 10934 /* message-id-string */
Azure.IoT Build 0:6ae2f7bca550 10935
Azure.IoT Build 0:6ae2f7bca550 10936 AMQP_VALUE amqpvalue_create_message_id_string(message_id_string value)
Azure.IoT Build 0:6ae2f7bca550 10937 {
Azure.IoT Build 0:6ae2f7bca550 10938 return amqpvalue_create_string(value);
Azure.IoT Build 0:6ae2f7bca550 10939 }
Azure.IoT Build 0:6ae2f7bca550 10940
Azure.IoT Build 0:6ae2f7bca550 10941 /* address-string */
Azure.IoT Build 0:6ae2f7bca550 10942
Azure.IoT Build 0:6ae2f7bca550 10943 AMQP_VALUE amqpvalue_create_address_string(address_string value)
Azure.IoT Build 0:6ae2f7bca550 10944 {
Azure.IoT Build 0:6ae2f7bca550 10945 return amqpvalue_create_string(value);
Azure.IoT Build 0:6ae2f7bca550 10946 }
Azure.IoT Build 0:6ae2f7bca550 10947
Azure.IoT Build 0:6ae2f7bca550 10948 /* header */
Azure.IoT Build 0:6ae2f7bca550 10949
Azure.IoT Build 0:6ae2f7bca550 10950 typedef struct HEADER_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 10951 {
Azure.IoT Build 0:6ae2f7bca550 10952 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 10953 } HEADER_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 10954
Azure.IoT Build 0:6ae2f7bca550 10955 static HEADER_HANDLE header_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 10956 {
Azure.IoT Build 0:6ae2f7bca550 10957 HEADER_INSTANCE* header_instance = (HEADER_INSTANCE*)amqpalloc_malloc(sizeof(HEADER_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 10958 if (header_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 10959 {
Azure.IoT Build 0:6ae2f7bca550 10960 header_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 10961 }
Azure.IoT Build 0:6ae2f7bca550 10962
Azure.IoT Build 0:6ae2f7bca550 10963 return header_instance;
Azure.IoT Build 0:6ae2f7bca550 10964 }
Azure.IoT Build 0:6ae2f7bca550 10965
Azure.IoT Build 0:6ae2f7bca550 10966 HEADER_HANDLE header_create(void)
Azure.IoT Build 0:6ae2f7bca550 10967 {
Azure.IoT Build 0:6ae2f7bca550 10968 HEADER_INSTANCE* header_instance = (HEADER_INSTANCE*)amqpalloc_malloc(sizeof(HEADER_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 10969 if (header_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 10970 {
Azure.IoT Build 0:6ae2f7bca550 10971 header_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(112);
Azure.IoT Build 0:6ae2f7bca550 10972 if (header_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10973 {
Azure.IoT Build 0:6ae2f7bca550 10974 amqpalloc_free(header_instance);
Azure.IoT Build 0:6ae2f7bca550 10975 header_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 10976 }
Azure.IoT Build 0:6ae2f7bca550 10977 }
Azure.IoT Build 0:6ae2f7bca550 10978
Azure.IoT Build 0:6ae2f7bca550 10979 return header_instance;
Azure.IoT Build 0:6ae2f7bca550 10980 }
Azure.IoT Build 0:6ae2f7bca550 10981
Azure.IoT Build 0:6ae2f7bca550 10982 HEADER_HANDLE header_clone(HEADER_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 10983 {
Azure.IoT Build 0:6ae2f7bca550 10984 HEADER_INSTANCE* header_instance = (HEADER_INSTANCE*)amqpalloc_malloc(sizeof(HEADER_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 10985 if (header_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 10986 {
Azure.IoT Build 0:6ae2f7bca550 10987 header_instance->composite_value = amqpvalue_clone(((HEADER_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 10988 if (header_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 10989 {
Azure.IoT Build 0:6ae2f7bca550 10990 amqpalloc_free(header_instance);
Azure.IoT Build 0:6ae2f7bca550 10991 header_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 10992 }
Azure.IoT Build 0:6ae2f7bca550 10993 }
Azure.IoT Build 0:6ae2f7bca550 10994
Azure.IoT Build 0:6ae2f7bca550 10995 return header_instance;
Azure.IoT Build 0:6ae2f7bca550 10996 }
Azure.IoT Build 0:6ae2f7bca550 10997
Azure.IoT Build 0:6ae2f7bca550 10998 void header_destroy(HEADER_HANDLE header)
Azure.IoT Build 0:6ae2f7bca550 10999 {
Azure.IoT Build 0:6ae2f7bca550 11000 if (header != NULL)
Azure.IoT Build 0:6ae2f7bca550 11001 {
Azure.IoT Build 0:6ae2f7bca550 11002 HEADER_INSTANCE* header_instance = (HEADER_INSTANCE*)header;
Azure.IoT Build 0:6ae2f7bca550 11003 amqpvalue_destroy(header_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 11004 amqpalloc_free(header_instance);
Azure.IoT Build 0:6ae2f7bca550 11005 }
Azure.IoT Build 0:6ae2f7bca550 11006 }
Azure.IoT Build 0:6ae2f7bca550 11007
Azure.IoT Build 0:6ae2f7bca550 11008 AMQP_VALUE amqpvalue_create_header(HEADER_HANDLE header)
Azure.IoT Build 0:6ae2f7bca550 11009 {
Azure.IoT Build 0:6ae2f7bca550 11010 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 11011
Azure.IoT Build 0:6ae2f7bca550 11012 if (header == NULL)
Azure.IoT Build 0:6ae2f7bca550 11013 {
Azure.IoT Build 0:6ae2f7bca550 11014 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 11015 }
Azure.IoT Build 0:6ae2f7bca550 11016 else
Azure.IoT Build 0:6ae2f7bca550 11017 {
Azure.IoT Build 0:6ae2f7bca550 11018 HEADER_INSTANCE* header_instance = (HEADER_INSTANCE*)header;
Azure.IoT Build 0:6ae2f7bca550 11019 result = amqpvalue_clone(header_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 11020 }
Azure.IoT Build 0:6ae2f7bca550 11021
Azure.IoT Build 0:6ae2f7bca550 11022 return result;
Azure.IoT Build 0:6ae2f7bca550 11023 }
Azure.IoT Build 0:6ae2f7bca550 11024
Azure.IoT Build 0:6ae2f7bca550 11025 bool is_header_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 11026 {
Azure.IoT Build 0:6ae2f7bca550 11027 bool result;
Azure.IoT Build 0:6ae2f7bca550 11028
Azure.IoT Build 0:6ae2f7bca550 11029 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 11030 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 11031 (descriptor_ulong == 112))
Azure.IoT Build 0:6ae2f7bca550 11032 {
Azure.IoT Build 0:6ae2f7bca550 11033 result = true;
Azure.IoT Build 0:6ae2f7bca550 11034 }
Azure.IoT Build 0:6ae2f7bca550 11035 else
Azure.IoT Build 0:6ae2f7bca550 11036 {
Azure.IoT Build 0:6ae2f7bca550 11037 result = false;
Azure.IoT Build 0:6ae2f7bca550 11038 }
Azure.IoT Build 0:6ae2f7bca550 11039
Azure.IoT Build 0:6ae2f7bca550 11040 return result;
Azure.IoT Build 0:6ae2f7bca550 11041 }
Azure.IoT Build 0:6ae2f7bca550 11042
Azure.IoT Build 0:6ae2f7bca550 11043
Azure.IoT Build 0:6ae2f7bca550 11044 int amqpvalue_get_header(AMQP_VALUE value, HEADER_HANDLE* header_handle)
Azure.IoT Build 0:6ae2f7bca550 11045 {
Azure.IoT Build 0:6ae2f7bca550 11046 int result;
Azure.IoT Build 0:6ae2f7bca550 11047 HEADER_INSTANCE* header_instance = (HEADER_INSTANCE*)header_create_internal();
Azure.IoT Build 0:6ae2f7bca550 11048 *header_handle = header_instance;
Azure.IoT Build 0:6ae2f7bca550 11049 if (*header_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 11050 {
AzureIoTClient 19:000ab4e6a2c1 11051 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11052 }
Azure.IoT Build 0:6ae2f7bca550 11053 else
Azure.IoT Build 0:6ae2f7bca550 11054 {
Azure.IoT Build 0:6ae2f7bca550 11055 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 11056 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11057 {
Azure.IoT Build 0:6ae2f7bca550 11058 header_destroy(*header_handle);
AzureIoTClient 19:000ab4e6a2c1 11059 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11060 }
Azure.IoT Build 0:6ae2f7bca550 11061 else
Azure.IoT Build 0:6ae2f7bca550 11062 {
Azure.IoT Build 0:6ae2f7bca550 11063 do
Azure.IoT Build 0:6ae2f7bca550 11064 {
Azure.IoT Build 0:6ae2f7bca550 11065 AMQP_VALUE item_value;
Azure.IoT Build 0:6ae2f7bca550 11066 /* durable */
Azure.IoT Build 0:6ae2f7bca550 11067 item_value = amqpvalue_get_list_item(list_value, 0);
Azure.IoT Build 0:6ae2f7bca550 11068 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11069 {
Azure.IoT Build 0:6ae2f7bca550 11070 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 11071 }
Azure.IoT Build 0:6ae2f7bca550 11072 else
Azure.IoT Build 0:6ae2f7bca550 11073 {
Azure.IoT Build 0:6ae2f7bca550 11074 bool durable;
Azure.IoT Build 0:6ae2f7bca550 11075 if (amqpvalue_get_boolean(item_value, &durable) != 0)
Azure.IoT Build 0:6ae2f7bca550 11076 {
Azure.IoT Build 0:6ae2f7bca550 11077 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 11078 {
Azure.IoT Build 0:6ae2f7bca550 11079 header_destroy(*header_handle);
AzureIoTClient 19:000ab4e6a2c1 11080 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11081 break;
Azure.IoT Build 0:6ae2f7bca550 11082 }
Azure.IoT Build 0:6ae2f7bca550 11083 }
Azure.IoT Build 0:6ae2f7bca550 11084
Azure.IoT Build 0:6ae2f7bca550 11085 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 11086 }
Azure.IoT Build 0:6ae2f7bca550 11087 /* priority */
Azure.IoT Build 0:6ae2f7bca550 11088 item_value = amqpvalue_get_list_item(list_value, 1);
Azure.IoT Build 0:6ae2f7bca550 11089 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11090 {
Azure.IoT Build 0:6ae2f7bca550 11091 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 11092 }
Azure.IoT Build 0:6ae2f7bca550 11093 else
Azure.IoT Build 0:6ae2f7bca550 11094 {
Azure.IoT Build 0:6ae2f7bca550 11095 uint8_t priority;
Azure.IoT Build 0:6ae2f7bca550 11096 if (amqpvalue_get_ubyte(item_value, &priority) != 0)
Azure.IoT Build 0:6ae2f7bca550 11097 {
Azure.IoT Build 0:6ae2f7bca550 11098 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 11099 {
Azure.IoT Build 0:6ae2f7bca550 11100 header_destroy(*header_handle);
AzureIoTClient 19:000ab4e6a2c1 11101 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11102 break;
Azure.IoT Build 0:6ae2f7bca550 11103 }
Azure.IoT Build 0:6ae2f7bca550 11104 }
Azure.IoT Build 0:6ae2f7bca550 11105
Azure.IoT Build 0:6ae2f7bca550 11106 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 11107 }
Azure.IoT Build 0:6ae2f7bca550 11108 /* ttl */
Azure.IoT Build 0:6ae2f7bca550 11109 item_value = amqpvalue_get_list_item(list_value, 2);
Azure.IoT Build 0:6ae2f7bca550 11110 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11111 {
Azure.IoT Build 0:6ae2f7bca550 11112 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 11113 }
Azure.IoT Build 0:6ae2f7bca550 11114 else
Azure.IoT Build 0:6ae2f7bca550 11115 {
Azure.IoT Build 0:6ae2f7bca550 11116 milliseconds ttl;
Azure.IoT Build 0:6ae2f7bca550 11117 if (amqpvalue_get_milliseconds(item_value, &ttl) != 0)
Azure.IoT Build 0:6ae2f7bca550 11118 {
Azure.IoT Build 0:6ae2f7bca550 11119 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 11120 {
Azure.IoT Build 0:6ae2f7bca550 11121 header_destroy(*header_handle);
AzureIoTClient 19:000ab4e6a2c1 11122 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11123 break;
Azure.IoT Build 0:6ae2f7bca550 11124 }
Azure.IoT Build 0:6ae2f7bca550 11125 }
Azure.IoT Build 0:6ae2f7bca550 11126
Azure.IoT Build 0:6ae2f7bca550 11127 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 11128 }
Azure.IoT Build 0:6ae2f7bca550 11129 /* first-acquirer */
Azure.IoT Build 0:6ae2f7bca550 11130 item_value = amqpvalue_get_list_item(list_value, 3);
Azure.IoT Build 0:6ae2f7bca550 11131 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11132 {
Azure.IoT Build 0:6ae2f7bca550 11133 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 11134 }
Azure.IoT Build 0:6ae2f7bca550 11135 else
Azure.IoT Build 0:6ae2f7bca550 11136 {
Azure.IoT Build 0:6ae2f7bca550 11137 bool first_acquirer;
Azure.IoT Build 0:6ae2f7bca550 11138 if (amqpvalue_get_boolean(item_value, &first_acquirer) != 0)
Azure.IoT Build 0:6ae2f7bca550 11139 {
Azure.IoT Build 0:6ae2f7bca550 11140 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 11141 {
Azure.IoT Build 0:6ae2f7bca550 11142 header_destroy(*header_handle);
AzureIoTClient 19:000ab4e6a2c1 11143 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11144 break;
Azure.IoT Build 0:6ae2f7bca550 11145 }
Azure.IoT Build 0:6ae2f7bca550 11146 }
Azure.IoT Build 0:6ae2f7bca550 11147
Azure.IoT Build 0:6ae2f7bca550 11148 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 11149 }
Azure.IoT Build 0:6ae2f7bca550 11150 /* delivery-count */
Azure.IoT Build 0:6ae2f7bca550 11151 item_value = amqpvalue_get_list_item(list_value, 4);
Azure.IoT Build 0:6ae2f7bca550 11152 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11153 {
Azure.IoT Build 0:6ae2f7bca550 11154 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 11155 }
Azure.IoT Build 0:6ae2f7bca550 11156 else
Azure.IoT Build 0:6ae2f7bca550 11157 {
Azure.IoT Build 0:6ae2f7bca550 11158 uint32_t delivery_count;
Azure.IoT Build 0:6ae2f7bca550 11159 if (amqpvalue_get_uint(item_value, &delivery_count) != 0)
Azure.IoT Build 0:6ae2f7bca550 11160 {
Azure.IoT Build 0:6ae2f7bca550 11161 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 11162 {
Azure.IoT Build 0:6ae2f7bca550 11163 header_destroy(*header_handle);
AzureIoTClient 19:000ab4e6a2c1 11164 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11165 break;
Azure.IoT Build 0:6ae2f7bca550 11166 }
Azure.IoT Build 0:6ae2f7bca550 11167 }
Azure.IoT Build 0:6ae2f7bca550 11168
Azure.IoT Build 0:6ae2f7bca550 11169 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 11170 }
Azure.IoT Build 0:6ae2f7bca550 11171
Azure.IoT Build 0:6ae2f7bca550 11172 header_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 11173
Azure.IoT Build 0:6ae2f7bca550 11174 result = 0;
Azure.IoT Build 0:6ae2f7bca550 11175 } while (0);
Azure.IoT Build 0:6ae2f7bca550 11176 }
Azure.IoT Build 0:6ae2f7bca550 11177 }
Azure.IoT Build 0:6ae2f7bca550 11178
Azure.IoT Build 0:6ae2f7bca550 11179 return result;
Azure.IoT Build 0:6ae2f7bca550 11180 }
Azure.IoT Build 0:6ae2f7bca550 11181
Azure.IoT Build 0:6ae2f7bca550 11182 int header_get_durable(HEADER_HANDLE header, bool* durable_value)
Azure.IoT Build 0:6ae2f7bca550 11183 {
Azure.IoT Build 0:6ae2f7bca550 11184 int result;
Azure.IoT Build 0:6ae2f7bca550 11185
Azure.IoT Build 0:6ae2f7bca550 11186 if (header == NULL)
Azure.IoT Build 0:6ae2f7bca550 11187 {
AzureIoTClient 19:000ab4e6a2c1 11188 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11189 }
Azure.IoT Build 0:6ae2f7bca550 11190 else
Azure.IoT Build 0:6ae2f7bca550 11191 {
Azure.IoT Build 0:6ae2f7bca550 11192 HEADER_INSTANCE* header_instance = (HEADER_INSTANCE*)header;
Azure.IoT Build 0:6ae2f7bca550 11193 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(header_instance->composite_value, 0);
Azure.IoT Build 0:6ae2f7bca550 11194 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11195 {
AzureIoTClient 16:22a72cf8e416 11196 *durable_value = false;
AzureIoTClient 16:22a72cf8e416 11197 result = 0;
Azure.IoT Build 0:6ae2f7bca550 11198 }
Azure.IoT Build 0:6ae2f7bca550 11199 else
Azure.IoT Build 0:6ae2f7bca550 11200 {
Azure.IoT Build 0:6ae2f7bca550 11201 if (amqpvalue_get_boolean(item_value, durable_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 11202 {
AzureIoTClient 16:22a72cf8e416 11203 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 11204 {
AzureIoTClient 19:000ab4e6a2c1 11205 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 11206 }
AzureIoTClient 16:22a72cf8e416 11207 else
AzureIoTClient 16:22a72cf8e416 11208 {
AzureIoTClient 16:22a72cf8e416 11209 *durable_value = false;
AzureIoTClient 16:22a72cf8e416 11210 result = 0;
AzureIoTClient 16:22a72cf8e416 11211 }
Azure.IoT Build 0:6ae2f7bca550 11212 }
Azure.IoT Build 0:6ae2f7bca550 11213 else
Azure.IoT Build 0:6ae2f7bca550 11214 {
Azure.IoT Build 0:6ae2f7bca550 11215 result = 0;
Azure.IoT Build 0:6ae2f7bca550 11216 }
Azure.IoT Build 0:6ae2f7bca550 11217 }
Azure.IoT Build 0:6ae2f7bca550 11218 }
Azure.IoT Build 0:6ae2f7bca550 11219
Azure.IoT Build 0:6ae2f7bca550 11220 return result;
Azure.IoT Build 0:6ae2f7bca550 11221 }
Azure.IoT Build 0:6ae2f7bca550 11222
Azure.IoT Build 0:6ae2f7bca550 11223 int header_set_durable(HEADER_HANDLE header, bool durable_value)
Azure.IoT Build 0:6ae2f7bca550 11224 {
Azure.IoT Build 0:6ae2f7bca550 11225 int result;
Azure.IoT Build 0:6ae2f7bca550 11226
Azure.IoT Build 0:6ae2f7bca550 11227 if (header == NULL)
Azure.IoT Build 0:6ae2f7bca550 11228 {
AzureIoTClient 19:000ab4e6a2c1 11229 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11230 }
Azure.IoT Build 0:6ae2f7bca550 11231 else
Azure.IoT Build 0:6ae2f7bca550 11232 {
Azure.IoT Build 0:6ae2f7bca550 11233 HEADER_INSTANCE* header_instance = (HEADER_INSTANCE*)header;
Azure.IoT Build 0:6ae2f7bca550 11234 AMQP_VALUE durable_amqp_value = amqpvalue_create_boolean(durable_value);
Azure.IoT Build 0:6ae2f7bca550 11235 if (durable_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11236 {
AzureIoTClient 19:000ab4e6a2c1 11237 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11238 }
Azure.IoT Build 0:6ae2f7bca550 11239 else
Azure.IoT Build 0:6ae2f7bca550 11240 {
Azure.IoT Build 0:6ae2f7bca550 11241 if (amqpvalue_set_composite_item(header_instance->composite_value, 0, durable_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 11242 {
AzureIoTClient 19:000ab4e6a2c1 11243 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11244 }
Azure.IoT Build 0:6ae2f7bca550 11245 else
Azure.IoT Build 0:6ae2f7bca550 11246 {
Azure.IoT Build 0:6ae2f7bca550 11247 result = 0;
Azure.IoT Build 0:6ae2f7bca550 11248 }
Azure.IoT Build 0:6ae2f7bca550 11249
Azure.IoT Build 0:6ae2f7bca550 11250 amqpvalue_destroy(durable_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 11251 }
Azure.IoT Build 0:6ae2f7bca550 11252 }
Azure.IoT Build 0:6ae2f7bca550 11253
Azure.IoT Build 0:6ae2f7bca550 11254 return result;
Azure.IoT Build 0:6ae2f7bca550 11255 }
Azure.IoT Build 0:6ae2f7bca550 11256
Azure.IoT Build 0:6ae2f7bca550 11257 int header_get_priority(HEADER_HANDLE header, uint8_t* priority_value)
Azure.IoT Build 0:6ae2f7bca550 11258 {
Azure.IoT Build 0:6ae2f7bca550 11259 int result;
Azure.IoT Build 0:6ae2f7bca550 11260
Azure.IoT Build 0:6ae2f7bca550 11261 if (header == NULL)
Azure.IoT Build 0:6ae2f7bca550 11262 {
AzureIoTClient 19:000ab4e6a2c1 11263 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11264 }
Azure.IoT Build 0:6ae2f7bca550 11265 else
Azure.IoT Build 0:6ae2f7bca550 11266 {
Azure.IoT Build 0:6ae2f7bca550 11267 HEADER_INSTANCE* header_instance = (HEADER_INSTANCE*)header;
Azure.IoT Build 0:6ae2f7bca550 11268 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(header_instance->composite_value, 1);
Azure.IoT Build 0:6ae2f7bca550 11269 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11270 {
AzureIoTClient 16:22a72cf8e416 11271 *priority_value = 4;
AzureIoTClient 16:22a72cf8e416 11272 result = 0;
Azure.IoT Build 0:6ae2f7bca550 11273 }
Azure.IoT Build 0:6ae2f7bca550 11274 else
Azure.IoT Build 0:6ae2f7bca550 11275 {
Azure.IoT Build 0:6ae2f7bca550 11276 if (amqpvalue_get_ubyte(item_value, priority_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 11277 {
AzureIoTClient 16:22a72cf8e416 11278 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 11279 {
AzureIoTClient 19:000ab4e6a2c1 11280 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 11281 }
AzureIoTClient 16:22a72cf8e416 11282 else
AzureIoTClient 16:22a72cf8e416 11283 {
AzureIoTClient 16:22a72cf8e416 11284 *priority_value = 4;
AzureIoTClient 16:22a72cf8e416 11285 result = 0;
AzureIoTClient 16:22a72cf8e416 11286 }
Azure.IoT Build 0:6ae2f7bca550 11287 }
Azure.IoT Build 0:6ae2f7bca550 11288 else
Azure.IoT Build 0:6ae2f7bca550 11289 {
Azure.IoT Build 0:6ae2f7bca550 11290 result = 0;
Azure.IoT Build 0:6ae2f7bca550 11291 }
Azure.IoT Build 0:6ae2f7bca550 11292 }
Azure.IoT Build 0:6ae2f7bca550 11293 }
Azure.IoT Build 0:6ae2f7bca550 11294
Azure.IoT Build 0:6ae2f7bca550 11295 return result;
Azure.IoT Build 0:6ae2f7bca550 11296 }
Azure.IoT Build 0:6ae2f7bca550 11297
Azure.IoT Build 0:6ae2f7bca550 11298 int header_set_priority(HEADER_HANDLE header, uint8_t priority_value)
Azure.IoT Build 0:6ae2f7bca550 11299 {
Azure.IoT Build 0:6ae2f7bca550 11300 int result;
Azure.IoT Build 0:6ae2f7bca550 11301
Azure.IoT Build 0:6ae2f7bca550 11302 if (header == NULL)
Azure.IoT Build 0:6ae2f7bca550 11303 {
AzureIoTClient 19:000ab4e6a2c1 11304 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11305 }
Azure.IoT Build 0:6ae2f7bca550 11306 else
Azure.IoT Build 0:6ae2f7bca550 11307 {
Azure.IoT Build 0:6ae2f7bca550 11308 HEADER_INSTANCE* header_instance = (HEADER_INSTANCE*)header;
Azure.IoT Build 0:6ae2f7bca550 11309 AMQP_VALUE priority_amqp_value = amqpvalue_create_ubyte(priority_value);
Azure.IoT Build 0:6ae2f7bca550 11310 if (priority_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11311 {
AzureIoTClient 19:000ab4e6a2c1 11312 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11313 }
Azure.IoT Build 0:6ae2f7bca550 11314 else
Azure.IoT Build 0:6ae2f7bca550 11315 {
Azure.IoT Build 0:6ae2f7bca550 11316 if (amqpvalue_set_composite_item(header_instance->composite_value, 1, priority_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 11317 {
AzureIoTClient 19:000ab4e6a2c1 11318 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11319 }
Azure.IoT Build 0:6ae2f7bca550 11320 else
Azure.IoT Build 0:6ae2f7bca550 11321 {
Azure.IoT Build 0:6ae2f7bca550 11322 result = 0;
Azure.IoT Build 0:6ae2f7bca550 11323 }
Azure.IoT Build 0:6ae2f7bca550 11324
Azure.IoT Build 0:6ae2f7bca550 11325 amqpvalue_destroy(priority_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 11326 }
Azure.IoT Build 0:6ae2f7bca550 11327 }
Azure.IoT Build 0:6ae2f7bca550 11328
Azure.IoT Build 0:6ae2f7bca550 11329 return result;
Azure.IoT Build 0:6ae2f7bca550 11330 }
Azure.IoT Build 0:6ae2f7bca550 11331
Azure.IoT Build 0:6ae2f7bca550 11332 int header_get_ttl(HEADER_HANDLE header, milliseconds* ttl_value)
Azure.IoT Build 0:6ae2f7bca550 11333 {
Azure.IoT Build 0:6ae2f7bca550 11334 int result;
Azure.IoT Build 0:6ae2f7bca550 11335
Azure.IoT Build 0:6ae2f7bca550 11336 if (header == NULL)
Azure.IoT Build 0:6ae2f7bca550 11337 {
AzureIoTClient 19:000ab4e6a2c1 11338 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11339 }
Azure.IoT Build 0:6ae2f7bca550 11340 else
Azure.IoT Build 0:6ae2f7bca550 11341 {
Azure.IoT Build 0:6ae2f7bca550 11342 HEADER_INSTANCE* header_instance = (HEADER_INSTANCE*)header;
Azure.IoT Build 0:6ae2f7bca550 11343 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(header_instance->composite_value, 2);
Azure.IoT Build 0:6ae2f7bca550 11344 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11345 {
AzureIoTClient 19:000ab4e6a2c1 11346 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11347 }
Azure.IoT Build 0:6ae2f7bca550 11348 else
Azure.IoT Build 0:6ae2f7bca550 11349 {
Azure.IoT Build 0:6ae2f7bca550 11350 if (amqpvalue_get_milliseconds(item_value, ttl_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 11351 {
AzureIoTClient 19:000ab4e6a2c1 11352 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11353 }
Azure.IoT Build 0:6ae2f7bca550 11354 else
Azure.IoT Build 0:6ae2f7bca550 11355 {
Azure.IoT Build 0:6ae2f7bca550 11356 result = 0;
Azure.IoT Build 0:6ae2f7bca550 11357 }
Azure.IoT Build 0:6ae2f7bca550 11358 }
Azure.IoT Build 0:6ae2f7bca550 11359 }
Azure.IoT Build 0:6ae2f7bca550 11360
Azure.IoT Build 0:6ae2f7bca550 11361 return result;
Azure.IoT Build 0:6ae2f7bca550 11362 }
Azure.IoT Build 0:6ae2f7bca550 11363
Azure.IoT Build 0:6ae2f7bca550 11364 int header_set_ttl(HEADER_HANDLE header, milliseconds ttl_value)
Azure.IoT Build 0:6ae2f7bca550 11365 {
Azure.IoT Build 0:6ae2f7bca550 11366 int result;
Azure.IoT Build 0:6ae2f7bca550 11367
Azure.IoT Build 0:6ae2f7bca550 11368 if (header == NULL)
Azure.IoT Build 0:6ae2f7bca550 11369 {
AzureIoTClient 19:000ab4e6a2c1 11370 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11371 }
Azure.IoT Build 0:6ae2f7bca550 11372 else
Azure.IoT Build 0:6ae2f7bca550 11373 {
Azure.IoT Build 0:6ae2f7bca550 11374 HEADER_INSTANCE* header_instance = (HEADER_INSTANCE*)header;
Azure.IoT Build 0:6ae2f7bca550 11375 AMQP_VALUE ttl_amqp_value = amqpvalue_create_milliseconds(ttl_value);
Azure.IoT Build 0:6ae2f7bca550 11376 if (ttl_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11377 {
AzureIoTClient 19:000ab4e6a2c1 11378 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11379 }
Azure.IoT Build 0:6ae2f7bca550 11380 else
Azure.IoT Build 0:6ae2f7bca550 11381 {
Azure.IoT Build 0:6ae2f7bca550 11382 if (amqpvalue_set_composite_item(header_instance->composite_value, 2, ttl_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 11383 {
AzureIoTClient 19:000ab4e6a2c1 11384 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11385 }
Azure.IoT Build 0:6ae2f7bca550 11386 else
Azure.IoT Build 0:6ae2f7bca550 11387 {
Azure.IoT Build 0:6ae2f7bca550 11388 result = 0;
Azure.IoT Build 0:6ae2f7bca550 11389 }
Azure.IoT Build 0:6ae2f7bca550 11390
Azure.IoT Build 0:6ae2f7bca550 11391 amqpvalue_destroy(ttl_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 11392 }
Azure.IoT Build 0:6ae2f7bca550 11393 }
Azure.IoT Build 0:6ae2f7bca550 11394
Azure.IoT Build 0:6ae2f7bca550 11395 return result;
Azure.IoT Build 0:6ae2f7bca550 11396 }
Azure.IoT Build 0:6ae2f7bca550 11397
Azure.IoT Build 0:6ae2f7bca550 11398 int header_get_first_acquirer(HEADER_HANDLE header, bool* first_acquirer_value)
Azure.IoT Build 0:6ae2f7bca550 11399 {
Azure.IoT Build 0:6ae2f7bca550 11400 int result;
Azure.IoT Build 0:6ae2f7bca550 11401
Azure.IoT Build 0:6ae2f7bca550 11402 if (header == NULL)
Azure.IoT Build 0:6ae2f7bca550 11403 {
AzureIoTClient 19:000ab4e6a2c1 11404 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11405 }
Azure.IoT Build 0:6ae2f7bca550 11406 else
Azure.IoT Build 0:6ae2f7bca550 11407 {
Azure.IoT Build 0:6ae2f7bca550 11408 HEADER_INSTANCE* header_instance = (HEADER_INSTANCE*)header;
Azure.IoT Build 0:6ae2f7bca550 11409 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(header_instance->composite_value, 3);
Azure.IoT Build 0:6ae2f7bca550 11410 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11411 {
AzureIoTClient 16:22a72cf8e416 11412 *first_acquirer_value = false;
AzureIoTClient 16:22a72cf8e416 11413 result = 0;
Azure.IoT Build 0:6ae2f7bca550 11414 }
Azure.IoT Build 0:6ae2f7bca550 11415 else
Azure.IoT Build 0:6ae2f7bca550 11416 {
Azure.IoT Build 0:6ae2f7bca550 11417 if (amqpvalue_get_boolean(item_value, first_acquirer_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 11418 {
AzureIoTClient 16:22a72cf8e416 11419 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 11420 {
AzureIoTClient 19:000ab4e6a2c1 11421 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 11422 }
AzureIoTClient 16:22a72cf8e416 11423 else
AzureIoTClient 16:22a72cf8e416 11424 {
AzureIoTClient 16:22a72cf8e416 11425 *first_acquirer_value = false;
AzureIoTClient 16:22a72cf8e416 11426 result = 0;
AzureIoTClient 16:22a72cf8e416 11427 }
Azure.IoT Build 0:6ae2f7bca550 11428 }
Azure.IoT Build 0:6ae2f7bca550 11429 else
Azure.IoT Build 0:6ae2f7bca550 11430 {
Azure.IoT Build 0:6ae2f7bca550 11431 result = 0;
Azure.IoT Build 0:6ae2f7bca550 11432 }
Azure.IoT Build 0:6ae2f7bca550 11433 }
Azure.IoT Build 0:6ae2f7bca550 11434 }
Azure.IoT Build 0:6ae2f7bca550 11435
Azure.IoT Build 0:6ae2f7bca550 11436 return result;
Azure.IoT Build 0:6ae2f7bca550 11437 }
Azure.IoT Build 0:6ae2f7bca550 11438
Azure.IoT Build 0:6ae2f7bca550 11439 int header_set_first_acquirer(HEADER_HANDLE header, bool first_acquirer_value)
Azure.IoT Build 0:6ae2f7bca550 11440 {
Azure.IoT Build 0:6ae2f7bca550 11441 int result;
Azure.IoT Build 0:6ae2f7bca550 11442
Azure.IoT Build 0:6ae2f7bca550 11443 if (header == NULL)
Azure.IoT Build 0:6ae2f7bca550 11444 {
AzureIoTClient 19:000ab4e6a2c1 11445 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11446 }
Azure.IoT Build 0:6ae2f7bca550 11447 else
Azure.IoT Build 0:6ae2f7bca550 11448 {
Azure.IoT Build 0:6ae2f7bca550 11449 HEADER_INSTANCE* header_instance = (HEADER_INSTANCE*)header;
Azure.IoT Build 0:6ae2f7bca550 11450 AMQP_VALUE first_acquirer_amqp_value = amqpvalue_create_boolean(first_acquirer_value);
Azure.IoT Build 0:6ae2f7bca550 11451 if (first_acquirer_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11452 {
AzureIoTClient 19:000ab4e6a2c1 11453 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11454 }
Azure.IoT Build 0:6ae2f7bca550 11455 else
Azure.IoT Build 0:6ae2f7bca550 11456 {
Azure.IoT Build 0:6ae2f7bca550 11457 if (amqpvalue_set_composite_item(header_instance->composite_value, 3, first_acquirer_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 11458 {
AzureIoTClient 19:000ab4e6a2c1 11459 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11460 }
Azure.IoT Build 0:6ae2f7bca550 11461 else
Azure.IoT Build 0:6ae2f7bca550 11462 {
Azure.IoT Build 0:6ae2f7bca550 11463 result = 0;
Azure.IoT Build 0:6ae2f7bca550 11464 }
Azure.IoT Build 0:6ae2f7bca550 11465
Azure.IoT Build 0:6ae2f7bca550 11466 amqpvalue_destroy(first_acquirer_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 11467 }
Azure.IoT Build 0:6ae2f7bca550 11468 }
Azure.IoT Build 0:6ae2f7bca550 11469
Azure.IoT Build 0:6ae2f7bca550 11470 return result;
Azure.IoT Build 0:6ae2f7bca550 11471 }
Azure.IoT Build 0:6ae2f7bca550 11472
Azure.IoT Build 0:6ae2f7bca550 11473 int header_get_delivery_count(HEADER_HANDLE header, uint32_t* delivery_count_value)
Azure.IoT Build 0:6ae2f7bca550 11474 {
Azure.IoT Build 0:6ae2f7bca550 11475 int result;
Azure.IoT Build 0:6ae2f7bca550 11476
Azure.IoT Build 0:6ae2f7bca550 11477 if (header == NULL)
Azure.IoT Build 0:6ae2f7bca550 11478 {
AzureIoTClient 19:000ab4e6a2c1 11479 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11480 }
Azure.IoT Build 0:6ae2f7bca550 11481 else
Azure.IoT Build 0:6ae2f7bca550 11482 {
Azure.IoT Build 0:6ae2f7bca550 11483 HEADER_INSTANCE* header_instance = (HEADER_INSTANCE*)header;
Azure.IoT Build 0:6ae2f7bca550 11484 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(header_instance->composite_value, 4);
Azure.IoT Build 0:6ae2f7bca550 11485 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11486 {
AzureIoTClient 16:22a72cf8e416 11487 *delivery_count_value = 0;
AzureIoTClient 16:22a72cf8e416 11488 result = 0;
Azure.IoT Build 0:6ae2f7bca550 11489 }
Azure.IoT Build 0:6ae2f7bca550 11490 else
Azure.IoT Build 0:6ae2f7bca550 11491 {
Azure.IoT Build 0:6ae2f7bca550 11492 if (amqpvalue_get_uint(item_value, delivery_count_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 11493 {
AzureIoTClient 16:22a72cf8e416 11494 if (amqpvalue_get_type(item_value) == AMQP_TYPE_NULL)
AzureIoTClient 16:22a72cf8e416 11495 {
AzureIoTClient 19:000ab4e6a2c1 11496 result = __FAILURE__;
AzureIoTClient 16:22a72cf8e416 11497 }
AzureIoTClient 16:22a72cf8e416 11498 else
AzureIoTClient 16:22a72cf8e416 11499 {
AzureIoTClient 16:22a72cf8e416 11500 *delivery_count_value = 0;
AzureIoTClient 16:22a72cf8e416 11501 result = 0;
AzureIoTClient 16:22a72cf8e416 11502 }
Azure.IoT Build 0:6ae2f7bca550 11503 }
Azure.IoT Build 0:6ae2f7bca550 11504 else
Azure.IoT Build 0:6ae2f7bca550 11505 {
Azure.IoT Build 0:6ae2f7bca550 11506 result = 0;
Azure.IoT Build 0:6ae2f7bca550 11507 }
Azure.IoT Build 0:6ae2f7bca550 11508 }
Azure.IoT Build 0:6ae2f7bca550 11509 }
Azure.IoT Build 0:6ae2f7bca550 11510
Azure.IoT Build 0:6ae2f7bca550 11511 return result;
Azure.IoT Build 0:6ae2f7bca550 11512 }
Azure.IoT Build 0:6ae2f7bca550 11513
Azure.IoT Build 0:6ae2f7bca550 11514 int header_set_delivery_count(HEADER_HANDLE header, uint32_t delivery_count_value)
Azure.IoT Build 0:6ae2f7bca550 11515 {
Azure.IoT Build 0:6ae2f7bca550 11516 int result;
Azure.IoT Build 0:6ae2f7bca550 11517
Azure.IoT Build 0:6ae2f7bca550 11518 if (header == NULL)
Azure.IoT Build 0:6ae2f7bca550 11519 {
AzureIoTClient 19:000ab4e6a2c1 11520 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11521 }
Azure.IoT Build 0:6ae2f7bca550 11522 else
Azure.IoT Build 0:6ae2f7bca550 11523 {
Azure.IoT Build 0:6ae2f7bca550 11524 HEADER_INSTANCE* header_instance = (HEADER_INSTANCE*)header;
Azure.IoT Build 0:6ae2f7bca550 11525 AMQP_VALUE delivery_count_amqp_value = amqpvalue_create_uint(delivery_count_value);
Azure.IoT Build 0:6ae2f7bca550 11526 if (delivery_count_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11527 {
AzureIoTClient 19:000ab4e6a2c1 11528 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11529 }
Azure.IoT Build 0:6ae2f7bca550 11530 else
Azure.IoT Build 0:6ae2f7bca550 11531 {
Azure.IoT Build 0:6ae2f7bca550 11532 if (amqpvalue_set_composite_item(header_instance->composite_value, 4, delivery_count_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 11533 {
AzureIoTClient 19:000ab4e6a2c1 11534 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11535 }
Azure.IoT Build 0:6ae2f7bca550 11536 else
Azure.IoT Build 0:6ae2f7bca550 11537 {
Azure.IoT Build 0:6ae2f7bca550 11538 result = 0;
Azure.IoT Build 0:6ae2f7bca550 11539 }
Azure.IoT Build 0:6ae2f7bca550 11540
Azure.IoT Build 0:6ae2f7bca550 11541 amqpvalue_destroy(delivery_count_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 11542 }
Azure.IoT Build 0:6ae2f7bca550 11543 }
Azure.IoT Build 0:6ae2f7bca550 11544
Azure.IoT Build 0:6ae2f7bca550 11545 return result;
Azure.IoT Build 0:6ae2f7bca550 11546 }
Azure.IoT Build 0:6ae2f7bca550 11547
Azure.IoT Build 0:6ae2f7bca550 11548
Azure.IoT Build 0:6ae2f7bca550 11549 /* delivery-annotations */
Azure.IoT Build 0:6ae2f7bca550 11550
Azure.IoT Build 0:6ae2f7bca550 11551 AMQP_VALUE amqpvalue_create_delivery_annotations(delivery_annotations value)
Azure.IoT Build 0:6ae2f7bca550 11552 {
Azure.IoT Build 0:6ae2f7bca550 11553 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 11554 AMQP_VALUE described_value = amqpvalue_create_annotations(value);
Azure.IoT Build 0:6ae2f7bca550 11555 if (described_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11556 {
Azure.IoT Build 0:6ae2f7bca550 11557 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 11558 }
Azure.IoT Build 0:6ae2f7bca550 11559 else
Azure.IoT Build 0:6ae2f7bca550 11560 {
Azure.IoT Build 0:6ae2f7bca550 11561 AMQP_VALUE descriptor = amqpvalue_create_ulong(113);
Azure.IoT Build 0:6ae2f7bca550 11562 if (descriptor == NULL)
Azure.IoT Build 0:6ae2f7bca550 11563 {
Azure.IoT Build 0:6ae2f7bca550 11564 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 11565 }
Azure.IoT Build 0:6ae2f7bca550 11566 else
Azure.IoT Build 0:6ae2f7bca550 11567 {
Azure.IoT Build 0:6ae2f7bca550 11568 result = amqpvalue_create_described(amqpvalue_clone(descriptor), amqpvalue_clone(described_value));
Azure.IoT Build 0:6ae2f7bca550 11569
Azure.IoT Build 0:6ae2f7bca550 11570 amqpvalue_destroy(descriptor);
Azure.IoT Build 0:6ae2f7bca550 11571 }
Azure.IoT Build 0:6ae2f7bca550 11572
Azure.IoT Build 0:6ae2f7bca550 11573 amqpvalue_destroy(described_value);
Azure.IoT Build 0:6ae2f7bca550 11574 }
Azure.IoT Build 0:6ae2f7bca550 11575
Azure.IoT Build 0:6ae2f7bca550 11576 return result;
Azure.IoT Build 0:6ae2f7bca550 11577 }
Azure.IoT Build 0:6ae2f7bca550 11578
Azure.IoT Build 0:6ae2f7bca550 11579 bool is_delivery_annotations_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 11580 {
Azure.IoT Build 0:6ae2f7bca550 11581 bool result;
Azure.IoT Build 0:6ae2f7bca550 11582
Azure.IoT Build 0:6ae2f7bca550 11583 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 11584 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 11585 (descriptor_ulong == 113))
Azure.IoT Build 0:6ae2f7bca550 11586 {
Azure.IoT Build 0:6ae2f7bca550 11587 result = true;
Azure.IoT Build 0:6ae2f7bca550 11588 }
Azure.IoT Build 0:6ae2f7bca550 11589 else
Azure.IoT Build 0:6ae2f7bca550 11590 {
Azure.IoT Build 0:6ae2f7bca550 11591 result = false;
Azure.IoT Build 0:6ae2f7bca550 11592 }
Azure.IoT Build 0:6ae2f7bca550 11593
Azure.IoT Build 0:6ae2f7bca550 11594 return result;
Azure.IoT Build 0:6ae2f7bca550 11595 }
Azure.IoT Build 0:6ae2f7bca550 11596
Azure.IoT Build 0:6ae2f7bca550 11597 /* message-annotations */
Azure.IoT Build 0:6ae2f7bca550 11598
Azure.IoT Build 0:6ae2f7bca550 11599 AMQP_VALUE amqpvalue_create_message_annotations(message_annotations value)
Azure.IoT Build 0:6ae2f7bca550 11600 {
Azure.IoT Build 0:6ae2f7bca550 11601 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 11602 AMQP_VALUE described_value = amqpvalue_create_annotations(value);
Azure.IoT Build 0:6ae2f7bca550 11603 if (described_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11604 {
Azure.IoT Build 0:6ae2f7bca550 11605 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 11606 }
Azure.IoT Build 0:6ae2f7bca550 11607 else
Azure.IoT Build 0:6ae2f7bca550 11608 {
Azure.IoT Build 0:6ae2f7bca550 11609 AMQP_VALUE descriptor = amqpvalue_create_ulong(114);
Azure.IoT Build 0:6ae2f7bca550 11610 if (descriptor == NULL)
Azure.IoT Build 0:6ae2f7bca550 11611 {
Azure.IoT Build 0:6ae2f7bca550 11612 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 11613 }
Azure.IoT Build 0:6ae2f7bca550 11614 else
Azure.IoT Build 0:6ae2f7bca550 11615 {
Azure.IoT Build 0:6ae2f7bca550 11616 result = amqpvalue_create_described(amqpvalue_clone(descriptor), amqpvalue_clone(described_value));
Azure.IoT Build 0:6ae2f7bca550 11617
Azure.IoT Build 0:6ae2f7bca550 11618 amqpvalue_destroy(descriptor);
Azure.IoT Build 0:6ae2f7bca550 11619 }
Azure.IoT Build 0:6ae2f7bca550 11620
Azure.IoT Build 0:6ae2f7bca550 11621 amqpvalue_destroy(described_value);
Azure.IoT Build 0:6ae2f7bca550 11622 }
Azure.IoT Build 0:6ae2f7bca550 11623
Azure.IoT Build 0:6ae2f7bca550 11624 return result;
Azure.IoT Build 0:6ae2f7bca550 11625 }
Azure.IoT Build 0:6ae2f7bca550 11626
Azure.IoT Build 0:6ae2f7bca550 11627 bool is_message_annotations_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 11628 {
Azure.IoT Build 0:6ae2f7bca550 11629 bool result;
Azure.IoT Build 0:6ae2f7bca550 11630
Azure.IoT Build 0:6ae2f7bca550 11631 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 11632 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 11633 (descriptor_ulong == 114))
Azure.IoT Build 0:6ae2f7bca550 11634 {
Azure.IoT Build 0:6ae2f7bca550 11635 result = true;
Azure.IoT Build 0:6ae2f7bca550 11636 }
Azure.IoT Build 0:6ae2f7bca550 11637 else
Azure.IoT Build 0:6ae2f7bca550 11638 {
Azure.IoT Build 0:6ae2f7bca550 11639 result = false;
Azure.IoT Build 0:6ae2f7bca550 11640 }
Azure.IoT Build 0:6ae2f7bca550 11641
Azure.IoT Build 0:6ae2f7bca550 11642 return result;
Azure.IoT Build 0:6ae2f7bca550 11643 }
Azure.IoT Build 0:6ae2f7bca550 11644
Azure.IoT Build 0:6ae2f7bca550 11645 /* application-properties */
Azure.IoT Build 0:6ae2f7bca550 11646
Azure.IoT Build 0:6ae2f7bca550 11647 AMQP_VALUE amqpvalue_create_application_properties(AMQP_VALUE value)
Azure.IoT Build 0:6ae2f7bca550 11648 {
Azure.IoT Build 0:6ae2f7bca550 11649 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 11650 AMQP_VALUE described_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 11651 if (described_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11652 {
Azure.IoT Build 0:6ae2f7bca550 11653 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 11654 }
Azure.IoT Build 0:6ae2f7bca550 11655 else
Azure.IoT Build 0:6ae2f7bca550 11656 {
Azure.IoT Build 0:6ae2f7bca550 11657 AMQP_VALUE descriptor = amqpvalue_create_ulong(116);
Azure.IoT Build 0:6ae2f7bca550 11658 if (descriptor == NULL)
Azure.IoT Build 0:6ae2f7bca550 11659 {
Azure.IoT Build 0:6ae2f7bca550 11660 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 11661 }
Azure.IoT Build 0:6ae2f7bca550 11662 else
Azure.IoT Build 0:6ae2f7bca550 11663 {
Azure.IoT Build 0:6ae2f7bca550 11664 result = amqpvalue_create_described(amqpvalue_clone(descriptor), amqpvalue_clone(described_value));
Azure.IoT Build 0:6ae2f7bca550 11665
Azure.IoT Build 0:6ae2f7bca550 11666 amqpvalue_destroy(descriptor);
Azure.IoT Build 0:6ae2f7bca550 11667 }
Azure.IoT Build 0:6ae2f7bca550 11668
Azure.IoT Build 0:6ae2f7bca550 11669 amqpvalue_destroy(described_value);
Azure.IoT Build 0:6ae2f7bca550 11670 }
Azure.IoT Build 0:6ae2f7bca550 11671
Azure.IoT Build 0:6ae2f7bca550 11672 return result;
Azure.IoT Build 0:6ae2f7bca550 11673 }
Azure.IoT Build 0:6ae2f7bca550 11674
Azure.IoT Build 0:6ae2f7bca550 11675 bool is_application_properties_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 11676 {
Azure.IoT Build 0:6ae2f7bca550 11677 bool result;
Azure.IoT Build 0:6ae2f7bca550 11678
Azure.IoT Build 0:6ae2f7bca550 11679 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 11680 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 11681 (descriptor_ulong == 116))
Azure.IoT Build 0:6ae2f7bca550 11682 {
Azure.IoT Build 0:6ae2f7bca550 11683 result = true;
Azure.IoT Build 0:6ae2f7bca550 11684 }
Azure.IoT Build 0:6ae2f7bca550 11685 else
Azure.IoT Build 0:6ae2f7bca550 11686 {
Azure.IoT Build 0:6ae2f7bca550 11687 result = false;
Azure.IoT Build 0:6ae2f7bca550 11688 }
Azure.IoT Build 0:6ae2f7bca550 11689
Azure.IoT Build 0:6ae2f7bca550 11690 return result;
Azure.IoT Build 0:6ae2f7bca550 11691 }
Azure.IoT Build 0:6ae2f7bca550 11692
Azure.IoT Build 0:6ae2f7bca550 11693 /* data */
Azure.IoT Build 0:6ae2f7bca550 11694
Azure.IoT Build 0:6ae2f7bca550 11695 AMQP_VALUE amqpvalue_create_data(data value)
Azure.IoT Build 0:6ae2f7bca550 11696 {
Azure.IoT Build 0:6ae2f7bca550 11697 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 11698 AMQP_VALUE described_value = amqpvalue_create_binary(value);
Azure.IoT Build 0:6ae2f7bca550 11699 if (described_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11700 {
Azure.IoT Build 0:6ae2f7bca550 11701 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 11702 }
Azure.IoT Build 0:6ae2f7bca550 11703 else
Azure.IoT Build 0:6ae2f7bca550 11704 {
Azure.IoT Build 0:6ae2f7bca550 11705 AMQP_VALUE descriptor = amqpvalue_create_ulong(117);
Azure.IoT Build 0:6ae2f7bca550 11706 if (descriptor == NULL)
Azure.IoT Build 0:6ae2f7bca550 11707 {
Azure.IoT Build 0:6ae2f7bca550 11708 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 11709 }
Azure.IoT Build 0:6ae2f7bca550 11710 else
Azure.IoT Build 0:6ae2f7bca550 11711 {
Azure.IoT Build 0:6ae2f7bca550 11712 result = amqpvalue_create_described(amqpvalue_clone(descriptor), amqpvalue_clone(described_value));
Azure.IoT Build 0:6ae2f7bca550 11713
Azure.IoT Build 0:6ae2f7bca550 11714 amqpvalue_destroy(descriptor);
Azure.IoT Build 0:6ae2f7bca550 11715 }
Azure.IoT Build 0:6ae2f7bca550 11716
Azure.IoT Build 0:6ae2f7bca550 11717 amqpvalue_destroy(described_value);
Azure.IoT Build 0:6ae2f7bca550 11718 }
Azure.IoT Build 0:6ae2f7bca550 11719
Azure.IoT Build 0:6ae2f7bca550 11720 return result;
Azure.IoT Build 0:6ae2f7bca550 11721 }
Azure.IoT Build 0:6ae2f7bca550 11722
Azure.IoT Build 0:6ae2f7bca550 11723 bool is_data_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 11724 {
Azure.IoT Build 0:6ae2f7bca550 11725 bool result;
Azure.IoT Build 0:6ae2f7bca550 11726
Azure.IoT Build 0:6ae2f7bca550 11727 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 11728 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 11729 (descriptor_ulong == 117))
Azure.IoT Build 0:6ae2f7bca550 11730 {
Azure.IoT Build 0:6ae2f7bca550 11731 result = true;
Azure.IoT Build 0:6ae2f7bca550 11732 }
Azure.IoT Build 0:6ae2f7bca550 11733 else
Azure.IoT Build 0:6ae2f7bca550 11734 {
Azure.IoT Build 0:6ae2f7bca550 11735 result = false;
Azure.IoT Build 0:6ae2f7bca550 11736 }
Azure.IoT Build 0:6ae2f7bca550 11737
Azure.IoT Build 0:6ae2f7bca550 11738 return result;
Azure.IoT Build 0:6ae2f7bca550 11739 }
Azure.IoT Build 0:6ae2f7bca550 11740
Azure.IoT Build 0:6ae2f7bca550 11741 /* amqp-sequence */
Azure.IoT Build 0:6ae2f7bca550 11742
Azure.IoT Build 0:6ae2f7bca550 11743 AMQP_VALUE amqpvalue_create_amqp_sequence(AMQP_VALUE value)
Azure.IoT Build 0:6ae2f7bca550 11744 {
Azure.IoT Build 0:6ae2f7bca550 11745 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 11746 AMQP_VALUE described_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 11747 if (described_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11748 {
Azure.IoT Build 0:6ae2f7bca550 11749 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 11750 }
Azure.IoT Build 0:6ae2f7bca550 11751 else
Azure.IoT Build 0:6ae2f7bca550 11752 {
Azure.IoT Build 0:6ae2f7bca550 11753 AMQP_VALUE descriptor = amqpvalue_create_ulong(118);
Azure.IoT Build 0:6ae2f7bca550 11754 if (descriptor == NULL)
Azure.IoT Build 0:6ae2f7bca550 11755 {
Azure.IoT Build 0:6ae2f7bca550 11756 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 11757 }
Azure.IoT Build 0:6ae2f7bca550 11758 else
Azure.IoT Build 0:6ae2f7bca550 11759 {
Azure.IoT Build 0:6ae2f7bca550 11760 result = amqpvalue_create_described(amqpvalue_clone(descriptor), amqpvalue_clone(described_value));
Azure.IoT Build 0:6ae2f7bca550 11761
Azure.IoT Build 0:6ae2f7bca550 11762 amqpvalue_destroy(descriptor);
Azure.IoT Build 0:6ae2f7bca550 11763 }
Azure.IoT Build 0:6ae2f7bca550 11764
Azure.IoT Build 0:6ae2f7bca550 11765 amqpvalue_destroy(described_value);
Azure.IoT Build 0:6ae2f7bca550 11766 }
Azure.IoT Build 0:6ae2f7bca550 11767
Azure.IoT Build 0:6ae2f7bca550 11768 return result;
Azure.IoT Build 0:6ae2f7bca550 11769 }
Azure.IoT Build 0:6ae2f7bca550 11770
Azure.IoT Build 0:6ae2f7bca550 11771 bool is_amqp_sequence_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 11772 {
Azure.IoT Build 0:6ae2f7bca550 11773 bool result;
Azure.IoT Build 0:6ae2f7bca550 11774
Azure.IoT Build 0:6ae2f7bca550 11775 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 11776 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 11777 (descriptor_ulong == 118))
Azure.IoT Build 0:6ae2f7bca550 11778 {
Azure.IoT Build 0:6ae2f7bca550 11779 result = true;
Azure.IoT Build 0:6ae2f7bca550 11780 }
Azure.IoT Build 0:6ae2f7bca550 11781 else
Azure.IoT Build 0:6ae2f7bca550 11782 {
Azure.IoT Build 0:6ae2f7bca550 11783 result = false;
Azure.IoT Build 0:6ae2f7bca550 11784 }
Azure.IoT Build 0:6ae2f7bca550 11785
Azure.IoT Build 0:6ae2f7bca550 11786 return result;
Azure.IoT Build 0:6ae2f7bca550 11787 }
Azure.IoT Build 0:6ae2f7bca550 11788
Azure.IoT Build 0:6ae2f7bca550 11789 /* amqp-value */
Azure.IoT Build 0:6ae2f7bca550 11790
Azure.IoT Build 0:6ae2f7bca550 11791 AMQP_VALUE amqpvalue_create_amqp_value(AMQP_VALUE value)
Azure.IoT Build 0:6ae2f7bca550 11792 {
Azure.IoT Build 0:6ae2f7bca550 11793 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 11794 AMQP_VALUE described_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 11795 if (described_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11796 {
Azure.IoT Build 0:6ae2f7bca550 11797 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 11798 }
Azure.IoT Build 0:6ae2f7bca550 11799 else
Azure.IoT Build 0:6ae2f7bca550 11800 {
Azure.IoT Build 0:6ae2f7bca550 11801 AMQP_VALUE descriptor = amqpvalue_create_ulong(119);
Azure.IoT Build 0:6ae2f7bca550 11802 if (descriptor == NULL)
Azure.IoT Build 0:6ae2f7bca550 11803 {
Azure.IoT Build 0:6ae2f7bca550 11804 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 11805 }
Azure.IoT Build 0:6ae2f7bca550 11806 else
Azure.IoT Build 0:6ae2f7bca550 11807 {
Azure.IoT Build 0:6ae2f7bca550 11808 result = amqpvalue_create_described(amqpvalue_clone(descriptor), amqpvalue_clone(described_value));
Azure.IoT Build 0:6ae2f7bca550 11809
Azure.IoT Build 0:6ae2f7bca550 11810 amqpvalue_destroy(descriptor);
Azure.IoT Build 0:6ae2f7bca550 11811 }
Azure.IoT Build 0:6ae2f7bca550 11812
Azure.IoT Build 0:6ae2f7bca550 11813 amqpvalue_destroy(described_value);
Azure.IoT Build 0:6ae2f7bca550 11814 }
Azure.IoT Build 0:6ae2f7bca550 11815
Azure.IoT Build 0:6ae2f7bca550 11816 return result;
Azure.IoT Build 0:6ae2f7bca550 11817 }
Azure.IoT Build 0:6ae2f7bca550 11818
Azure.IoT Build 0:6ae2f7bca550 11819 bool is_amqp_value_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 11820 {
Azure.IoT Build 0:6ae2f7bca550 11821 bool result;
Azure.IoT Build 0:6ae2f7bca550 11822
Azure.IoT Build 0:6ae2f7bca550 11823 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 11824 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 11825 (descriptor_ulong == 119))
Azure.IoT Build 0:6ae2f7bca550 11826 {
Azure.IoT Build 0:6ae2f7bca550 11827 result = true;
Azure.IoT Build 0:6ae2f7bca550 11828 }
Azure.IoT Build 0:6ae2f7bca550 11829 else
Azure.IoT Build 0:6ae2f7bca550 11830 {
Azure.IoT Build 0:6ae2f7bca550 11831 result = false;
Azure.IoT Build 0:6ae2f7bca550 11832 }
Azure.IoT Build 0:6ae2f7bca550 11833
Azure.IoT Build 0:6ae2f7bca550 11834 return result;
Azure.IoT Build 0:6ae2f7bca550 11835 }
Azure.IoT Build 0:6ae2f7bca550 11836
Azure.IoT Build 0:6ae2f7bca550 11837 /* footer */
Azure.IoT Build 0:6ae2f7bca550 11838
Azure.IoT Build 0:6ae2f7bca550 11839 AMQP_VALUE amqpvalue_create_footer(footer value)
Azure.IoT Build 0:6ae2f7bca550 11840 {
Azure.IoT Build 0:6ae2f7bca550 11841 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 11842 AMQP_VALUE described_value = amqpvalue_create_annotations(value);
Azure.IoT Build 0:6ae2f7bca550 11843 if (described_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11844 {
Azure.IoT Build 0:6ae2f7bca550 11845 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 11846 }
Azure.IoT Build 0:6ae2f7bca550 11847 else
Azure.IoT Build 0:6ae2f7bca550 11848 {
Azure.IoT Build 0:6ae2f7bca550 11849 AMQP_VALUE descriptor = amqpvalue_create_ulong(120);
Azure.IoT Build 0:6ae2f7bca550 11850 if (descriptor == NULL)
Azure.IoT Build 0:6ae2f7bca550 11851 {
Azure.IoT Build 0:6ae2f7bca550 11852 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 11853 }
Azure.IoT Build 0:6ae2f7bca550 11854 else
Azure.IoT Build 0:6ae2f7bca550 11855 {
Azure.IoT Build 0:6ae2f7bca550 11856 result = amqpvalue_create_described(amqpvalue_clone(descriptor), amqpvalue_clone(described_value));
Azure.IoT Build 0:6ae2f7bca550 11857
Azure.IoT Build 0:6ae2f7bca550 11858 amqpvalue_destroy(descriptor);
Azure.IoT Build 0:6ae2f7bca550 11859 }
Azure.IoT Build 0:6ae2f7bca550 11860
Azure.IoT Build 0:6ae2f7bca550 11861 amqpvalue_destroy(described_value);
Azure.IoT Build 0:6ae2f7bca550 11862 }
Azure.IoT Build 0:6ae2f7bca550 11863
Azure.IoT Build 0:6ae2f7bca550 11864 return result;
Azure.IoT Build 0:6ae2f7bca550 11865 }
Azure.IoT Build 0:6ae2f7bca550 11866
Azure.IoT Build 0:6ae2f7bca550 11867 bool is_footer_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 11868 {
Azure.IoT Build 0:6ae2f7bca550 11869 bool result;
Azure.IoT Build 0:6ae2f7bca550 11870
Azure.IoT Build 0:6ae2f7bca550 11871 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 11872 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 11873 (descriptor_ulong == 120))
Azure.IoT Build 0:6ae2f7bca550 11874 {
Azure.IoT Build 0:6ae2f7bca550 11875 result = true;
Azure.IoT Build 0:6ae2f7bca550 11876 }
Azure.IoT Build 0:6ae2f7bca550 11877 else
Azure.IoT Build 0:6ae2f7bca550 11878 {
Azure.IoT Build 0:6ae2f7bca550 11879 result = false;
Azure.IoT Build 0:6ae2f7bca550 11880 }
Azure.IoT Build 0:6ae2f7bca550 11881
Azure.IoT Build 0:6ae2f7bca550 11882 return result;
Azure.IoT Build 0:6ae2f7bca550 11883 }
Azure.IoT Build 0:6ae2f7bca550 11884
Azure.IoT Build 0:6ae2f7bca550 11885 /* properties */
Azure.IoT Build 0:6ae2f7bca550 11886
Azure.IoT Build 0:6ae2f7bca550 11887 typedef struct PROPERTIES_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 11888 {
Azure.IoT Build 0:6ae2f7bca550 11889 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 11890 } PROPERTIES_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 11891
Azure.IoT Build 0:6ae2f7bca550 11892 static PROPERTIES_HANDLE properties_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 11893 {
Azure.IoT Build 0:6ae2f7bca550 11894 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)amqpalloc_malloc(sizeof(PROPERTIES_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 11895 if (properties_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 11896 {
Azure.IoT Build 0:6ae2f7bca550 11897 properties_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 11898 }
Azure.IoT Build 0:6ae2f7bca550 11899
Azure.IoT Build 0:6ae2f7bca550 11900 return properties_instance;
Azure.IoT Build 0:6ae2f7bca550 11901 }
Azure.IoT Build 0:6ae2f7bca550 11902
Azure.IoT Build 0:6ae2f7bca550 11903 PROPERTIES_HANDLE properties_create(void)
Azure.IoT Build 0:6ae2f7bca550 11904 {
Azure.IoT Build 0:6ae2f7bca550 11905 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)amqpalloc_malloc(sizeof(PROPERTIES_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 11906 if (properties_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 11907 {
Azure.IoT Build 0:6ae2f7bca550 11908 properties_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(115);
Azure.IoT Build 0:6ae2f7bca550 11909 if (properties_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11910 {
Azure.IoT Build 0:6ae2f7bca550 11911 amqpalloc_free(properties_instance);
Azure.IoT Build 0:6ae2f7bca550 11912 properties_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 11913 }
Azure.IoT Build 0:6ae2f7bca550 11914 }
Azure.IoT Build 0:6ae2f7bca550 11915
Azure.IoT Build 0:6ae2f7bca550 11916 return properties_instance;
Azure.IoT Build 0:6ae2f7bca550 11917 }
Azure.IoT Build 0:6ae2f7bca550 11918
Azure.IoT Build 0:6ae2f7bca550 11919 PROPERTIES_HANDLE properties_clone(PROPERTIES_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 11920 {
Azure.IoT Build 0:6ae2f7bca550 11921 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)amqpalloc_malloc(sizeof(PROPERTIES_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 11922 if (properties_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 11923 {
Azure.IoT Build 0:6ae2f7bca550 11924 properties_instance->composite_value = amqpvalue_clone(((PROPERTIES_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 11925 if (properties_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11926 {
Azure.IoT Build 0:6ae2f7bca550 11927 amqpalloc_free(properties_instance);
Azure.IoT Build 0:6ae2f7bca550 11928 properties_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 11929 }
Azure.IoT Build 0:6ae2f7bca550 11930 }
Azure.IoT Build 0:6ae2f7bca550 11931
Azure.IoT Build 0:6ae2f7bca550 11932 return properties_instance;
Azure.IoT Build 0:6ae2f7bca550 11933 }
Azure.IoT Build 0:6ae2f7bca550 11934
Azure.IoT Build 0:6ae2f7bca550 11935 void properties_destroy(PROPERTIES_HANDLE properties)
Azure.IoT Build 0:6ae2f7bca550 11936 {
Azure.IoT Build 0:6ae2f7bca550 11937 if (properties != NULL)
Azure.IoT Build 0:6ae2f7bca550 11938 {
Azure.IoT Build 0:6ae2f7bca550 11939 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 11940 amqpvalue_destroy(properties_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 11941 amqpalloc_free(properties_instance);
Azure.IoT Build 0:6ae2f7bca550 11942 }
Azure.IoT Build 0:6ae2f7bca550 11943 }
Azure.IoT Build 0:6ae2f7bca550 11944
Azure.IoT Build 0:6ae2f7bca550 11945 AMQP_VALUE amqpvalue_create_properties(PROPERTIES_HANDLE properties)
Azure.IoT Build 0:6ae2f7bca550 11946 {
Azure.IoT Build 0:6ae2f7bca550 11947 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 11948
Azure.IoT Build 0:6ae2f7bca550 11949 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 11950 {
Azure.IoT Build 0:6ae2f7bca550 11951 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 11952 }
Azure.IoT Build 0:6ae2f7bca550 11953 else
Azure.IoT Build 0:6ae2f7bca550 11954 {
Azure.IoT Build 0:6ae2f7bca550 11955 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 11956 result = amqpvalue_clone(properties_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 11957 }
Azure.IoT Build 0:6ae2f7bca550 11958
Azure.IoT Build 0:6ae2f7bca550 11959 return result;
Azure.IoT Build 0:6ae2f7bca550 11960 }
Azure.IoT Build 0:6ae2f7bca550 11961
Azure.IoT Build 0:6ae2f7bca550 11962 bool is_properties_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 11963 {
Azure.IoT Build 0:6ae2f7bca550 11964 bool result;
Azure.IoT Build 0:6ae2f7bca550 11965
Azure.IoT Build 0:6ae2f7bca550 11966 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 11967 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 11968 (descriptor_ulong == 115))
Azure.IoT Build 0:6ae2f7bca550 11969 {
Azure.IoT Build 0:6ae2f7bca550 11970 result = true;
Azure.IoT Build 0:6ae2f7bca550 11971 }
Azure.IoT Build 0:6ae2f7bca550 11972 else
Azure.IoT Build 0:6ae2f7bca550 11973 {
Azure.IoT Build 0:6ae2f7bca550 11974 result = false;
Azure.IoT Build 0:6ae2f7bca550 11975 }
Azure.IoT Build 0:6ae2f7bca550 11976
Azure.IoT Build 0:6ae2f7bca550 11977 return result;
Azure.IoT Build 0:6ae2f7bca550 11978 }
Azure.IoT Build 0:6ae2f7bca550 11979
Azure.IoT Build 0:6ae2f7bca550 11980
Azure.IoT Build 0:6ae2f7bca550 11981 int amqpvalue_get_properties(AMQP_VALUE value, PROPERTIES_HANDLE* properties_handle)
Azure.IoT Build 0:6ae2f7bca550 11982 {
Azure.IoT Build 0:6ae2f7bca550 11983 int result;
Azure.IoT Build 0:6ae2f7bca550 11984 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties_create_internal();
Azure.IoT Build 0:6ae2f7bca550 11985 *properties_handle = properties_instance;
Azure.IoT Build 0:6ae2f7bca550 11986 if (*properties_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 11987 {
AzureIoTClient 19:000ab4e6a2c1 11988 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11989 }
Azure.IoT Build 0:6ae2f7bca550 11990 else
Azure.IoT Build 0:6ae2f7bca550 11991 {
Azure.IoT Build 0:6ae2f7bca550 11992 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 11993 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 11994 {
Azure.IoT Build 0:6ae2f7bca550 11995 properties_destroy(*properties_handle);
AzureIoTClient 19:000ab4e6a2c1 11996 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 11997 }
Azure.IoT Build 0:6ae2f7bca550 11998 else
Azure.IoT Build 0:6ae2f7bca550 11999 {
Azure.IoT Build 0:6ae2f7bca550 12000 do
Azure.IoT Build 0:6ae2f7bca550 12001 {
Azure.IoT Build 0:6ae2f7bca550 12002 AMQP_VALUE item_value;
Azure.IoT Build 0:6ae2f7bca550 12003 /* message-id */
Azure.IoT Build 0:6ae2f7bca550 12004 item_value = amqpvalue_get_list_item(list_value, 0);
Azure.IoT Build 0:6ae2f7bca550 12005 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12006 {
Azure.IoT Build 0:6ae2f7bca550 12007 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 12008 }
Azure.IoT Build 0:6ae2f7bca550 12009 else
Azure.IoT Build 0:6ae2f7bca550 12010 {
Azure.IoT Build 0:6ae2f7bca550 12011 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 12012 }
Azure.IoT Build 0:6ae2f7bca550 12013 /* user-id */
Azure.IoT Build 0:6ae2f7bca550 12014 item_value = amqpvalue_get_list_item(list_value, 1);
Azure.IoT Build 0:6ae2f7bca550 12015 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12016 {
Azure.IoT Build 0:6ae2f7bca550 12017 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 12018 }
Azure.IoT Build 0:6ae2f7bca550 12019 else
Azure.IoT Build 0:6ae2f7bca550 12020 {
Azure.IoT Build 0:6ae2f7bca550 12021 amqp_binary user_id;
Azure.IoT Build 0:6ae2f7bca550 12022 if (amqpvalue_get_binary(item_value, &user_id) != 0)
Azure.IoT Build 0:6ae2f7bca550 12023 {
Azure.IoT Build 0:6ae2f7bca550 12024 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 12025 {
Azure.IoT Build 0:6ae2f7bca550 12026 properties_destroy(*properties_handle);
AzureIoTClient 19:000ab4e6a2c1 12027 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12028 break;
Azure.IoT Build 0:6ae2f7bca550 12029 }
Azure.IoT Build 0:6ae2f7bca550 12030 }
Azure.IoT Build 0:6ae2f7bca550 12031
Azure.IoT Build 0:6ae2f7bca550 12032 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 12033 }
Azure.IoT Build 0:6ae2f7bca550 12034 /* to */
Azure.IoT Build 0:6ae2f7bca550 12035 item_value = amqpvalue_get_list_item(list_value, 2);
Azure.IoT Build 0:6ae2f7bca550 12036 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12037 {
Azure.IoT Build 0:6ae2f7bca550 12038 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 12039 }
Azure.IoT Build 0:6ae2f7bca550 12040 else
Azure.IoT Build 0:6ae2f7bca550 12041 {
Azure.IoT Build 0:6ae2f7bca550 12042 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 12043 }
Azure.IoT Build 0:6ae2f7bca550 12044 /* subject */
Azure.IoT Build 0:6ae2f7bca550 12045 item_value = amqpvalue_get_list_item(list_value, 3);
Azure.IoT Build 0:6ae2f7bca550 12046 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12047 {
Azure.IoT Build 0:6ae2f7bca550 12048 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 12049 }
Azure.IoT Build 0:6ae2f7bca550 12050 else
Azure.IoT Build 0:6ae2f7bca550 12051 {
Azure.IoT Build 0:6ae2f7bca550 12052 const char* subject;
Azure.IoT Build 0:6ae2f7bca550 12053 if (amqpvalue_get_string(item_value, &subject) != 0)
Azure.IoT Build 0:6ae2f7bca550 12054 {
Azure.IoT Build 0:6ae2f7bca550 12055 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 12056 {
Azure.IoT Build 0:6ae2f7bca550 12057 properties_destroy(*properties_handle);
AzureIoTClient 19:000ab4e6a2c1 12058 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12059 break;
Azure.IoT Build 0:6ae2f7bca550 12060 }
Azure.IoT Build 0:6ae2f7bca550 12061 }
Azure.IoT Build 0:6ae2f7bca550 12062
Azure.IoT Build 0:6ae2f7bca550 12063 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 12064 }
Azure.IoT Build 0:6ae2f7bca550 12065 /* reply-to */
Azure.IoT Build 0:6ae2f7bca550 12066 item_value = amqpvalue_get_list_item(list_value, 4);
Azure.IoT Build 0:6ae2f7bca550 12067 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12068 {
Azure.IoT Build 0:6ae2f7bca550 12069 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 12070 }
Azure.IoT Build 0:6ae2f7bca550 12071 else
Azure.IoT Build 0:6ae2f7bca550 12072 {
Azure.IoT Build 0:6ae2f7bca550 12073 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 12074 }
Azure.IoT Build 0:6ae2f7bca550 12075 /* correlation-id */
Azure.IoT Build 0:6ae2f7bca550 12076 item_value = amqpvalue_get_list_item(list_value, 5);
Azure.IoT Build 0:6ae2f7bca550 12077 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12078 {
Azure.IoT Build 0:6ae2f7bca550 12079 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 12080 }
Azure.IoT Build 0:6ae2f7bca550 12081 else
Azure.IoT Build 0:6ae2f7bca550 12082 {
Azure.IoT Build 0:6ae2f7bca550 12083 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 12084 }
Azure.IoT Build 0:6ae2f7bca550 12085 /* content-type */
Azure.IoT Build 0:6ae2f7bca550 12086 item_value = amqpvalue_get_list_item(list_value, 6);
Azure.IoT Build 0:6ae2f7bca550 12087 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12088 {
Azure.IoT Build 0:6ae2f7bca550 12089 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 12090 }
Azure.IoT Build 0:6ae2f7bca550 12091 else
Azure.IoT Build 0:6ae2f7bca550 12092 {
Azure.IoT Build 0:6ae2f7bca550 12093 const char* content_type;
Azure.IoT Build 0:6ae2f7bca550 12094 if (amqpvalue_get_symbol(item_value, &content_type) != 0)
Azure.IoT Build 0:6ae2f7bca550 12095 {
Azure.IoT Build 0:6ae2f7bca550 12096 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 12097 {
Azure.IoT Build 0:6ae2f7bca550 12098 properties_destroy(*properties_handle);
AzureIoTClient 19:000ab4e6a2c1 12099 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12100 break;
Azure.IoT Build 0:6ae2f7bca550 12101 }
Azure.IoT Build 0:6ae2f7bca550 12102 }
Azure.IoT Build 0:6ae2f7bca550 12103
Azure.IoT Build 0:6ae2f7bca550 12104 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 12105 }
Azure.IoT Build 0:6ae2f7bca550 12106 /* content-encoding */
Azure.IoT Build 0:6ae2f7bca550 12107 item_value = amqpvalue_get_list_item(list_value, 7);
Azure.IoT Build 0:6ae2f7bca550 12108 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12109 {
Azure.IoT Build 0:6ae2f7bca550 12110 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 12111 }
Azure.IoT Build 0:6ae2f7bca550 12112 else
Azure.IoT Build 0:6ae2f7bca550 12113 {
Azure.IoT Build 0:6ae2f7bca550 12114 const char* content_encoding;
Azure.IoT Build 0:6ae2f7bca550 12115 if (amqpvalue_get_symbol(item_value, &content_encoding) != 0)
Azure.IoT Build 0:6ae2f7bca550 12116 {
Azure.IoT Build 0:6ae2f7bca550 12117 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 12118 {
Azure.IoT Build 0:6ae2f7bca550 12119 properties_destroy(*properties_handle);
AzureIoTClient 19:000ab4e6a2c1 12120 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12121 break;
Azure.IoT Build 0:6ae2f7bca550 12122 }
Azure.IoT Build 0:6ae2f7bca550 12123 }
Azure.IoT Build 0:6ae2f7bca550 12124
Azure.IoT Build 0:6ae2f7bca550 12125 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 12126 }
Azure.IoT Build 0:6ae2f7bca550 12127 /* absolute-expiry-time */
Azure.IoT Build 0:6ae2f7bca550 12128 item_value = amqpvalue_get_list_item(list_value, 8);
Azure.IoT Build 0:6ae2f7bca550 12129 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12130 {
Azure.IoT Build 0:6ae2f7bca550 12131 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 12132 }
Azure.IoT Build 0:6ae2f7bca550 12133 else
Azure.IoT Build 0:6ae2f7bca550 12134 {
Azure.IoT Build 0:6ae2f7bca550 12135 timestamp absolute_expiry_time;
Azure.IoT Build 0:6ae2f7bca550 12136 if (amqpvalue_get_timestamp(item_value, &absolute_expiry_time) != 0)
Azure.IoT Build 0:6ae2f7bca550 12137 {
Azure.IoT Build 0:6ae2f7bca550 12138 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 12139 {
Azure.IoT Build 0:6ae2f7bca550 12140 properties_destroy(*properties_handle);
AzureIoTClient 19:000ab4e6a2c1 12141 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12142 break;
Azure.IoT Build 0:6ae2f7bca550 12143 }
Azure.IoT Build 0:6ae2f7bca550 12144 }
Azure.IoT Build 0:6ae2f7bca550 12145
Azure.IoT Build 0:6ae2f7bca550 12146 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 12147 }
Azure.IoT Build 0:6ae2f7bca550 12148 /* creation-time */
Azure.IoT Build 0:6ae2f7bca550 12149 item_value = amqpvalue_get_list_item(list_value, 9);
Azure.IoT Build 0:6ae2f7bca550 12150 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12151 {
Azure.IoT Build 0:6ae2f7bca550 12152 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 12153 }
Azure.IoT Build 0:6ae2f7bca550 12154 else
Azure.IoT Build 0:6ae2f7bca550 12155 {
Azure.IoT Build 0:6ae2f7bca550 12156 timestamp creation_time;
Azure.IoT Build 0:6ae2f7bca550 12157 if (amqpvalue_get_timestamp(item_value, &creation_time) != 0)
Azure.IoT Build 0:6ae2f7bca550 12158 {
Azure.IoT Build 0:6ae2f7bca550 12159 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 12160 {
Azure.IoT Build 0:6ae2f7bca550 12161 properties_destroy(*properties_handle);
AzureIoTClient 19:000ab4e6a2c1 12162 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12163 break;
Azure.IoT Build 0:6ae2f7bca550 12164 }
Azure.IoT Build 0:6ae2f7bca550 12165 }
Azure.IoT Build 0:6ae2f7bca550 12166
Azure.IoT Build 0:6ae2f7bca550 12167 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 12168 }
Azure.IoT Build 0:6ae2f7bca550 12169 /* group-id */
Azure.IoT Build 0:6ae2f7bca550 12170 item_value = amqpvalue_get_list_item(list_value, 10);
Azure.IoT Build 0:6ae2f7bca550 12171 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12172 {
Azure.IoT Build 0:6ae2f7bca550 12173 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 12174 }
Azure.IoT Build 0:6ae2f7bca550 12175 else
Azure.IoT Build 0:6ae2f7bca550 12176 {
Azure.IoT Build 0:6ae2f7bca550 12177 const char* group_id;
Azure.IoT Build 0:6ae2f7bca550 12178 if (amqpvalue_get_string(item_value, &group_id) != 0)
Azure.IoT Build 0:6ae2f7bca550 12179 {
Azure.IoT Build 0:6ae2f7bca550 12180 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 12181 {
Azure.IoT Build 0:6ae2f7bca550 12182 properties_destroy(*properties_handle);
AzureIoTClient 19:000ab4e6a2c1 12183 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12184 break;
Azure.IoT Build 0:6ae2f7bca550 12185 }
Azure.IoT Build 0:6ae2f7bca550 12186 }
Azure.IoT Build 0:6ae2f7bca550 12187
Azure.IoT Build 0:6ae2f7bca550 12188 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 12189 }
Azure.IoT Build 0:6ae2f7bca550 12190 /* group-sequence */
Azure.IoT Build 0:6ae2f7bca550 12191 item_value = amqpvalue_get_list_item(list_value, 11);
Azure.IoT Build 0:6ae2f7bca550 12192 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12193 {
Azure.IoT Build 0:6ae2f7bca550 12194 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 12195 }
Azure.IoT Build 0:6ae2f7bca550 12196 else
Azure.IoT Build 0:6ae2f7bca550 12197 {
Azure.IoT Build 0:6ae2f7bca550 12198 sequence_no group_sequence;
Azure.IoT Build 0:6ae2f7bca550 12199 if (amqpvalue_get_sequence_no(item_value, &group_sequence) != 0)
Azure.IoT Build 0:6ae2f7bca550 12200 {
Azure.IoT Build 0:6ae2f7bca550 12201 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 12202 {
Azure.IoT Build 0:6ae2f7bca550 12203 properties_destroy(*properties_handle);
AzureIoTClient 19:000ab4e6a2c1 12204 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12205 break;
Azure.IoT Build 0:6ae2f7bca550 12206 }
Azure.IoT Build 0:6ae2f7bca550 12207 }
Azure.IoT Build 0:6ae2f7bca550 12208
Azure.IoT Build 0:6ae2f7bca550 12209 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 12210 }
Azure.IoT Build 0:6ae2f7bca550 12211 /* reply-to-group-id */
Azure.IoT Build 0:6ae2f7bca550 12212 item_value = amqpvalue_get_list_item(list_value, 12);
Azure.IoT Build 0:6ae2f7bca550 12213 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12214 {
Azure.IoT Build 0:6ae2f7bca550 12215 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 12216 }
Azure.IoT Build 0:6ae2f7bca550 12217 else
Azure.IoT Build 0:6ae2f7bca550 12218 {
Azure.IoT Build 0:6ae2f7bca550 12219 const char* reply_to_group_id;
Azure.IoT Build 0:6ae2f7bca550 12220 if (amqpvalue_get_string(item_value, &reply_to_group_id) != 0)
Azure.IoT Build 0:6ae2f7bca550 12221 {
Azure.IoT Build 0:6ae2f7bca550 12222 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 12223 {
Azure.IoT Build 0:6ae2f7bca550 12224 properties_destroy(*properties_handle);
AzureIoTClient 19:000ab4e6a2c1 12225 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12226 break;
Azure.IoT Build 0:6ae2f7bca550 12227 }
Azure.IoT Build 0:6ae2f7bca550 12228 }
Azure.IoT Build 0:6ae2f7bca550 12229
Azure.IoT Build 0:6ae2f7bca550 12230 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 12231 }
Azure.IoT Build 0:6ae2f7bca550 12232
Azure.IoT Build 0:6ae2f7bca550 12233 properties_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 12234
Azure.IoT Build 0:6ae2f7bca550 12235 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12236 } while (0);
Azure.IoT Build 0:6ae2f7bca550 12237 }
Azure.IoT Build 0:6ae2f7bca550 12238 }
Azure.IoT Build 0:6ae2f7bca550 12239
Azure.IoT Build 0:6ae2f7bca550 12240 return result;
Azure.IoT Build 0:6ae2f7bca550 12241 }
Azure.IoT Build 0:6ae2f7bca550 12242
Azure.IoT Build 0:6ae2f7bca550 12243 int properties_get_message_id(PROPERTIES_HANDLE properties, AMQP_VALUE* message_id_value)
Azure.IoT Build 0:6ae2f7bca550 12244 {
Azure.IoT Build 0:6ae2f7bca550 12245 int result;
Azure.IoT Build 0:6ae2f7bca550 12246
Azure.IoT Build 0:6ae2f7bca550 12247 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12248 {
AzureIoTClient 19:000ab4e6a2c1 12249 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12250 }
Azure.IoT Build 0:6ae2f7bca550 12251 else
Azure.IoT Build 0:6ae2f7bca550 12252 {
Azure.IoT Build 0:6ae2f7bca550 12253 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12254 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(properties_instance->composite_value, 0);
Azure.IoT Build 0:6ae2f7bca550 12255 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12256 {
AzureIoTClient 19:000ab4e6a2c1 12257 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12258 }
Azure.IoT Build 0:6ae2f7bca550 12259 else
Azure.IoT Build 0:6ae2f7bca550 12260 {
Azure.IoT Build 0:6ae2f7bca550 12261 *message_id_value = item_value;
Azure.IoT Build 0:6ae2f7bca550 12262 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12263 }
Azure.IoT Build 0:6ae2f7bca550 12264 }
Azure.IoT Build 0:6ae2f7bca550 12265
Azure.IoT Build 0:6ae2f7bca550 12266 return result;
Azure.IoT Build 0:6ae2f7bca550 12267 }
Azure.IoT Build 0:6ae2f7bca550 12268
Azure.IoT Build 0:6ae2f7bca550 12269 int properties_set_message_id(PROPERTIES_HANDLE properties, AMQP_VALUE message_id_value)
Azure.IoT Build 0:6ae2f7bca550 12270 {
Azure.IoT Build 0:6ae2f7bca550 12271 int result;
Azure.IoT Build 0:6ae2f7bca550 12272
Azure.IoT Build 0:6ae2f7bca550 12273 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12274 {
AzureIoTClient 19:000ab4e6a2c1 12275 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12276 }
Azure.IoT Build 0:6ae2f7bca550 12277 else
Azure.IoT Build 0:6ae2f7bca550 12278 {
Azure.IoT Build 0:6ae2f7bca550 12279 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12280 AMQP_VALUE message_id_amqp_value = amqpvalue_clone(message_id_value);
Azure.IoT Build 0:6ae2f7bca550 12281 if (message_id_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12282 {
AzureIoTClient 19:000ab4e6a2c1 12283 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12284 }
Azure.IoT Build 0:6ae2f7bca550 12285 else
Azure.IoT Build 0:6ae2f7bca550 12286 {
Azure.IoT Build 0:6ae2f7bca550 12287 if (amqpvalue_set_composite_item(properties_instance->composite_value, 0, message_id_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 12288 {
AzureIoTClient 19:000ab4e6a2c1 12289 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12290 }
Azure.IoT Build 0:6ae2f7bca550 12291 else
Azure.IoT Build 0:6ae2f7bca550 12292 {
Azure.IoT Build 0:6ae2f7bca550 12293 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12294 }
Azure.IoT Build 0:6ae2f7bca550 12295
Azure.IoT Build 0:6ae2f7bca550 12296 amqpvalue_destroy(message_id_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 12297 }
Azure.IoT Build 0:6ae2f7bca550 12298 }
Azure.IoT Build 0:6ae2f7bca550 12299
Azure.IoT Build 0:6ae2f7bca550 12300 return result;
Azure.IoT Build 0:6ae2f7bca550 12301 }
Azure.IoT Build 0:6ae2f7bca550 12302
Azure.IoT Build 0:6ae2f7bca550 12303 int properties_get_user_id(PROPERTIES_HANDLE properties, amqp_binary* user_id_value)
Azure.IoT Build 0:6ae2f7bca550 12304 {
Azure.IoT Build 0:6ae2f7bca550 12305 int result;
Azure.IoT Build 0:6ae2f7bca550 12306
Azure.IoT Build 0:6ae2f7bca550 12307 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12308 {
AzureIoTClient 19:000ab4e6a2c1 12309 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12310 }
Azure.IoT Build 0:6ae2f7bca550 12311 else
Azure.IoT Build 0:6ae2f7bca550 12312 {
Azure.IoT Build 0:6ae2f7bca550 12313 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12314 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(properties_instance->composite_value, 1);
Azure.IoT Build 0:6ae2f7bca550 12315 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12316 {
AzureIoTClient 19:000ab4e6a2c1 12317 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12318 }
Azure.IoT Build 0:6ae2f7bca550 12319 else
Azure.IoT Build 0:6ae2f7bca550 12320 {
Azure.IoT Build 0:6ae2f7bca550 12321 if (amqpvalue_get_binary(item_value, user_id_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 12322 {
AzureIoTClient 19:000ab4e6a2c1 12323 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12324 }
Azure.IoT Build 0:6ae2f7bca550 12325 else
Azure.IoT Build 0:6ae2f7bca550 12326 {
Azure.IoT Build 0:6ae2f7bca550 12327 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12328 }
Azure.IoT Build 0:6ae2f7bca550 12329 }
Azure.IoT Build 0:6ae2f7bca550 12330 }
Azure.IoT Build 0:6ae2f7bca550 12331
Azure.IoT Build 0:6ae2f7bca550 12332 return result;
Azure.IoT Build 0:6ae2f7bca550 12333 }
Azure.IoT Build 0:6ae2f7bca550 12334
Azure.IoT Build 0:6ae2f7bca550 12335 int properties_set_user_id(PROPERTIES_HANDLE properties, amqp_binary user_id_value)
Azure.IoT Build 0:6ae2f7bca550 12336 {
Azure.IoT Build 0:6ae2f7bca550 12337 int result;
Azure.IoT Build 0:6ae2f7bca550 12338
Azure.IoT Build 0:6ae2f7bca550 12339 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12340 {
AzureIoTClient 19:000ab4e6a2c1 12341 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12342 }
Azure.IoT Build 0:6ae2f7bca550 12343 else
Azure.IoT Build 0:6ae2f7bca550 12344 {
Azure.IoT Build 0:6ae2f7bca550 12345 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12346 AMQP_VALUE user_id_amqp_value = amqpvalue_create_binary(user_id_value);
Azure.IoT Build 0:6ae2f7bca550 12347 if (user_id_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12348 {
AzureIoTClient 19:000ab4e6a2c1 12349 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12350 }
Azure.IoT Build 0:6ae2f7bca550 12351 else
Azure.IoT Build 0:6ae2f7bca550 12352 {
Azure.IoT Build 0:6ae2f7bca550 12353 if (amqpvalue_set_composite_item(properties_instance->composite_value, 1, user_id_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 12354 {
AzureIoTClient 19:000ab4e6a2c1 12355 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12356 }
Azure.IoT Build 0:6ae2f7bca550 12357 else
Azure.IoT Build 0:6ae2f7bca550 12358 {
Azure.IoT Build 0:6ae2f7bca550 12359 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12360 }
Azure.IoT Build 0:6ae2f7bca550 12361
Azure.IoT Build 0:6ae2f7bca550 12362 amqpvalue_destroy(user_id_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 12363 }
Azure.IoT Build 0:6ae2f7bca550 12364 }
Azure.IoT Build 0:6ae2f7bca550 12365
Azure.IoT Build 0:6ae2f7bca550 12366 return result;
Azure.IoT Build 0:6ae2f7bca550 12367 }
Azure.IoT Build 0:6ae2f7bca550 12368
Azure.IoT Build 0:6ae2f7bca550 12369 int properties_get_to(PROPERTIES_HANDLE properties, AMQP_VALUE* to_value)
Azure.IoT Build 0:6ae2f7bca550 12370 {
Azure.IoT Build 0:6ae2f7bca550 12371 int result;
Azure.IoT Build 0:6ae2f7bca550 12372
Azure.IoT Build 0:6ae2f7bca550 12373 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12374 {
AzureIoTClient 19:000ab4e6a2c1 12375 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12376 }
Azure.IoT Build 0:6ae2f7bca550 12377 else
Azure.IoT Build 0:6ae2f7bca550 12378 {
Azure.IoT Build 0:6ae2f7bca550 12379 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12380 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(properties_instance->composite_value, 2);
Azure.IoT Build 0:6ae2f7bca550 12381 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12382 {
AzureIoTClient 19:000ab4e6a2c1 12383 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12384 }
Azure.IoT Build 0:6ae2f7bca550 12385 else
Azure.IoT Build 0:6ae2f7bca550 12386 {
Azure.IoT Build 0:6ae2f7bca550 12387 *to_value = item_value;
Azure.IoT Build 0:6ae2f7bca550 12388 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12389 }
Azure.IoT Build 0:6ae2f7bca550 12390 }
Azure.IoT Build 0:6ae2f7bca550 12391
Azure.IoT Build 0:6ae2f7bca550 12392 return result;
Azure.IoT Build 0:6ae2f7bca550 12393 }
Azure.IoT Build 0:6ae2f7bca550 12394
Azure.IoT Build 0:6ae2f7bca550 12395 int properties_set_to(PROPERTIES_HANDLE properties, AMQP_VALUE to_value)
Azure.IoT Build 0:6ae2f7bca550 12396 {
Azure.IoT Build 0:6ae2f7bca550 12397 int result;
Azure.IoT Build 0:6ae2f7bca550 12398
Azure.IoT Build 0:6ae2f7bca550 12399 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12400 {
AzureIoTClient 19:000ab4e6a2c1 12401 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12402 }
Azure.IoT Build 0:6ae2f7bca550 12403 else
Azure.IoT Build 0:6ae2f7bca550 12404 {
Azure.IoT Build 0:6ae2f7bca550 12405 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12406 AMQP_VALUE to_amqp_value = amqpvalue_clone(to_value);
Azure.IoT Build 0:6ae2f7bca550 12407 if (to_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12408 {
AzureIoTClient 19:000ab4e6a2c1 12409 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12410 }
Azure.IoT Build 0:6ae2f7bca550 12411 else
Azure.IoT Build 0:6ae2f7bca550 12412 {
Azure.IoT Build 0:6ae2f7bca550 12413 if (amqpvalue_set_composite_item(properties_instance->composite_value, 2, to_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 12414 {
AzureIoTClient 19:000ab4e6a2c1 12415 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12416 }
Azure.IoT Build 0:6ae2f7bca550 12417 else
Azure.IoT Build 0:6ae2f7bca550 12418 {
Azure.IoT Build 0:6ae2f7bca550 12419 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12420 }
Azure.IoT Build 0:6ae2f7bca550 12421
Azure.IoT Build 0:6ae2f7bca550 12422 amqpvalue_destroy(to_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 12423 }
Azure.IoT Build 0:6ae2f7bca550 12424 }
Azure.IoT Build 0:6ae2f7bca550 12425
Azure.IoT Build 0:6ae2f7bca550 12426 return result;
Azure.IoT Build 0:6ae2f7bca550 12427 }
Azure.IoT Build 0:6ae2f7bca550 12428
Azure.IoT Build 0:6ae2f7bca550 12429 int properties_get_subject(PROPERTIES_HANDLE properties, const char** subject_value)
Azure.IoT Build 0:6ae2f7bca550 12430 {
Azure.IoT Build 0:6ae2f7bca550 12431 int result;
Azure.IoT Build 0:6ae2f7bca550 12432
Azure.IoT Build 0:6ae2f7bca550 12433 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12434 {
AzureIoTClient 19:000ab4e6a2c1 12435 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12436 }
Azure.IoT Build 0:6ae2f7bca550 12437 else
Azure.IoT Build 0:6ae2f7bca550 12438 {
Azure.IoT Build 0:6ae2f7bca550 12439 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12440 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(properties_instance->composite_value, 3);
Azure.IoT Build 0:6ae2f7bca550 12441 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12442 {
AzureIoTClient 19:000ab4e6a2c1 12443 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12444 }
Azure.IoT Build 0:6ae2f7bca550 12445 else
Azure.IoT Build 0:6ae2f7bca550 12446 {
Azure.IoT Build 0:6ae2f7bca550 12447 if (amqpvalue_get_string(item_value, subject_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 12448 {
AzureIoTClient 19:000ab4e6a2c1 12449 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12450 }
Azure.IoT Build 0:6ae2f7bca550 12451 else
Azure.IoT Build 0:6ae2f7bca550 12452 {
Azure.IoT Build 0:6ae2f7bca550 12453 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12454 }
Azure.IoT Build 0:6ae2f7bca550 12455 }
Azure.IoT Build 0:6ae2f7bca550 12456 }
Azure.IoT Build 0:6ae2f7bca550 12457
Azure.IoT Build 0:6ae2f7bca550 12458 return result;
Azure.IoT Build 0:6ae2f7bca550 12459 }
Azure.IoT Build 0:6ae2f7bca550 12460
Azure.IoT Build 0:6ae2f7bca550 12461 int properties_set_subject(PROPERTIES_HANDLE properties, const char* subject_value)
Azure.IoT Build 0:6ae2f7bca550 12462 {
Azure.IoT Build 0:6ae2f7bca550 12463 int result;
Azure.IoT Build 0:6ae2f7bca550 12464
Azure.IoT Build 0:6ae2f7bca550 12465 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12466 {
AzureIoTClient 19:000ab4e6a2c1 12467 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12468 }
Azure.IoT Build 0:6ae2f7bca550 12469 else
Azure.IoT Build 0:6ae2f7bca550 12470 {
Azure.IoT Build 0:6ae2f7bca550 12471 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12472 AMQP_VALUE subject_amqp_value = amqpvalue_create_string(subject_value);
Azure.IoT Build 0:6ae2f7bca550 12473 if (subject_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12474 {
AzureIoTClient 19:000ab4e6a2c1 12475 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12476 }
Azure.IoT Build 0:6ae2f7bca550 12477 else
Azure.IoT Build 0:6ae2f7bca550 12478 {
Azure.IoT Build 0:6ae2f7bca550 12479 if (amqpvalue_set_composite_item(properties_instance->composite_value, 3, subject_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 12480 {
AzureIoTClient 19:000ab4e6a2c1 12481 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12482 }
Azure.IoT Build 0:6ae2f7bca550 12483 else
Azure.IoT Build 0:6ae2f7bca550 12484 {
Azure.IoT Build 0:6ae2f7bca550 12485 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12486 }
Azure.IoT Build 0:6ae2f7bca550 12487
Azure.IoT Build 0:6ae2f7bca550 12488 amqpvalue_destroy(subject_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 12489 }
Azure.IoT Build 0:6ae2f7bca550 12490 }
Azure.IoT Build 0:6ae2f7bca550 12491
Azure.IoT Build 0:6ae2f7bca550 12492 return result;
Azure.IoT Build 0:6ae2f7bca550 12493 }
Azure.IoT Build 0:6ae2f7bca550 12494
Azure.IoT Build 0:6ae2f7bca550 12495 int properties_get_reply_to(PROPERTIES_HANDLE properties, AMQP_VALUE* reply_to_value)
Azure.IoT Build 0:6ae2f7bca550 12496 {
Azure.IoT Build 0:6ae2f7bca550 12497 int result;
Azure.IoT Build 0:6ae2f7bca550 12498
Azure.IoT Build 0:6ae2f7bca550 12499 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12500 {
AzureIoTClient 19:000ab4e6a2c1 12501 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12502 }
Azure.IoT Build 0:6ae2f7bca550 12503 else
Azure.IoT Build 0:6ae2f7bca550 12504 {
Azure.IoT Build 0:6ae2f7bca550 12505 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12506 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(properties_instance->composite_value, 4);
Azure.IoT Build 0:6ae2f7bca550 12507 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12508 {
AzureIoTClient 19:000ab4e6a2c1 12509 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12510 }
Azure.IoT Build 0:6ae2f7bca550 12511 else
Azure.IoT Build 0:6ae2f7bca550 12512 {
Azure.IoT Build 0:6ae2f7bca550 12513 *reply_to_value = item_value;
Azure.IoT Build 0:6ae2f7bca550 12514 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12515 }
Azure.IoT Build 0:6ae2f7bca550 12516 }
Azure.IoT Build 0:6ae2f7bca550 12517
Azure.IoT Build 0:6ae2f7bca550 12518 return result;
Azure.IoT Build 0:6ae2f7bca550 12519 }
Azure.IoT Build 0:6ae2f7bca550 12520
Azure.IoT Build 0:6ae2f7bca550 12521 int properties_set_reply_to(PROPERTIES_HANDLE properties, AMQP_VALUE reply_to_value)
Azure.IoT Build 0:6ae2f7bca550 12522 {
Azure.IoT Build 0:6ae2f7bca550 12523 int result;
Azure.IoT Build 0:6ae2f7bca550 12524
Azure.IoT Build 0:6ae2f7bca550 12525 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12526 {
AzureIoTClient 19:000ab4e6a2c1 12527 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12528 }
Azure.IoT Build 0:6ae2f7bca550 12529 else
Azure.IoT Build 0:6ae2f7bca550 12530 {
Azure.IoT Build 0:6ae2f7bca550 12531 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12532 AMQP_VALUE reply_to_amqp_value = amqpvalue_clone(reply_to_value);
Azure.IoT Build 0:6ae2f7bca550 12533 if (reply_to_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12534 {
AzureIoTClient 19:000ab4e6a2c1 12535 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12536 }
Azure.IoT Build 0:6ae2f7bca550 12537 else
Azure.IoT Build 0:6ae2f7bca550 12538 {
Azure.IoT Build 0:6ae2f7bca550 12539 if (amqpvalue_set_composite_item(properties_instance->composite_value, 4, reply_to_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 12540 {
AzureIoTClient 19:000ab4e6a2c1 12541 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12542 }
Azure.IoT Build 0:6ae2f7bca550 12543 else
Azure.IoT Build 0:6ae2f7bca550 12544 {
Azure.IoT Build 0:6ae2f7bca550 12545 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12546 }
Azure.IoT Build 0:6ae2f7bca550 12547
Azure.IoT Build 0:6ae2f7bca550 12548 amqpvalue_destroy(reply_to_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 12549 }
Azure.IoT Build 0:6ae2f7bca550 12550 }
Azure.IoT Build 0:6ae2f7bca550 12551
Azure.IoT Build 0:6ae2f7bca550 12552 return result;
Azure.IoT Build 0:6ae2f7bca550 12553 }
Azure.IoT Build 0:6ae2f7bca550 12554
Azure.IoT Build 0:6ae2f7bca550 12555 int properties_get_correlation_id(PROPERTIES_HANDLE properties, AMQP_VALUE* correlation_id_value)
Azure.IoT Build 0:6ae2f7bca550 12556 {
Azure.IoT Build 0:6ae2f7bca550 12557 int result;
Azure.IoT Build 0:6ae2f7bca550 12558
Azure.IoT Build 0:6ae2f7bca550 12559 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12560 {
AzureIoTClient 19:000ab4e6a2c1 12561 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12562 }
Azure.IoT Build 0:6ae2f7bca550 12563 else
Azure.IoT Build 0:6ae2f7bca550 12564 {
Azure.IoT Build 0:6ae2f7bca550 12565 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12566 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(properties_instance->composite_value, 5);
Azure.IoT Build 0:6ae2f7bca550 12567 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12568 {
AzureIoTClient 19:000ab4e6a2c1 12569 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12570 }
Azure.IoT Build 0:6ae2f7bca550 12571 else
Azure.IoT Build 0:6ae2f7bca550 12572 {
Azure.IoT Build 0:6ae2f7bca550 12573 *correlation_id_value = item_value;
Azure.IoT Build 0:6ae2f7bca550 12574 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12575 }
Azure.IoT Build 0:6ae2f7bca550 12576 }
Azure.IoT Build 0:6ae2f7bca550 12577
Azure.IoT Build 0:6ae2f7bca550 12578 return result;
Azure.IoT Build 0:6ae2f7bca550 12579 }
Azure.IoT Build 0:6ae2f7bca550 12580
Azure.IoT Build 0:6ae2f7bca550 12581 int properties_set_correlation_id(PROPERTIES_HANDLE properties, AMQP_VALUE correlation_id_value)
Azure.IoT Build 0:6ae2f7bca550 12582 {
Azure.IoT Build 0:6ae2f7bca550 12583 int result;
Azure.IoT Build 0:6ae2f7bca550 12584
Azure.IoT Build 0:6ae2f7bca550 12585 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12586 {
AzureIoTClient 19:000ab4e6a2c1 12587 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12588 }
Azure.IoT Build 0:6ae2f7bca550 12589 else
Azure.IoT Build 0:6ae2f7bca550 12590 {
Azure.IoT Build 0:6ae2f7bca550 12591 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12592 AMQP_VALUE correlation_id_amqp_value = amqpvalue_clone(correlation_id_value);
Azure.IoT Build 0:6ae2f7bca550 12593 if (correlation_id_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12594 {
AzureIoTClient 19:000ab4e6a2c1 12595 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12596 }
Azure.IoT Build 0:6ae2f7bca550 12597 else
Azure.IoT Build 0:6ae2f7bca550 12598 {
Azure.IoT Build 0:6ae2f7bca550 12599 if (amqpvalue_set_composite_item(properties_instance->composite_value, 5, correlation_id_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 12600 {
AzureIoTClient 19:000ab4e6a2c1 12601 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12602 }
Azure.IoT Build 0:6ae2f7bca550 12603 else
Azure.IoT Build 0:6ae2f7bca550 12604 {
Azure.IoT Build 0:6ae2f7bca550 12605 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12606 }
Azure.IoT Build 0:6ae2f7bca550 12607
Azure.IoT Build 0:6ae2f7bca550 12608 amqpvalue_destroy(correlation_id_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 12609 }
Azure.IoT Build 0:6ae2f7bca550 12610 }
Azure.IoT Build 0:6ae2f7bca550 12611
Azure.IoT Build 0:6ae2f7bca550 12612 return result;
Azure.IoT Build 0:6ae2f7bca550 12613 }
Azure.IoT Build 0:6ae2f7bca550 12614
Azure.IoT Build 0:6ae2f7bca550 12615 int properties_get_content_type(PROPERTIES_HANDLE properties, const char** content_type_value)
Azure.IoT Build 0:6ae2f7bca550 12616 {
Azure.IoT Build 0:6ae2f7bca550 12617 int result;
Azure.IoT Build 0:6ae2f7bca550 12618
Azure.IoT Build 0:6ae2f7bca550 12619 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12620 {
AzureIoTClient 19:000ab4e6a2c1 12621 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12622 }
Azure.IoT Build 0:6ae2f7bca550 12623 else
Azure.IoT Build 0:6ae2f7bca550 12624 {
Azure.IoT Build 0:6ae2f7bca550 12625 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12626 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(properties_instance->composite_value, 6);
Azure.IoT Build 0:6ae2f7bca550 12627 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12628 {
AzureIoTClient 19:000ab4e6a2c1 12629 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12630 }
Azure.IoT Build 0:6ae2f7bca550 12631 else
Azure.IoT Build 0:6ae2f7bca550 12632 {
Azure.IoT Build 0:6ae2f7bca550 12633 if (amqpvalue_get_symbol(item_value, content_type_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 12634 {
AzureIoTClient 19:000ab4e6a2c1 12635 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12636 }
Azure.IoT Build 0:6ae2f7bca550 12637 else
Azure.IoT Build 0:6ae2f7bca550 12638 {
Azure.IoT Build 0:6ae2f7bca550 12639 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12640 }
Azure.IoT Build 0:6ae2f7bca550 12641 }
Azure.IoT Build 0:6ae2f7bca550 12642 }
Azure.IoT Build 0:6ae2f7bca550 12643
Azure.IoT Build 0:6ae2f7bca550 12644 return result;
Azure.IoT Build 0:6ae2f7bca550 12645 }
Azure.IoT Build 0:6ae2f7bca550 12646
Azure.IoT Build 0:6ae2f7bca550 12647 int properties_set_content_type(PROPERTIES_HANDLE properties, const char* content_type_value)
Azure.IoT Build 0:6ae2f7bca550 12648 {
Azure.IoT Build 0:6ae2f7bca550 12649 int result;
Azure.IoT Build 0:6ae2f7bca550 12650
Azure.IoT Build 0:6ae2f7bca550 12651 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12652 {
AzureIoTClient 19:000ab4e6a2c1 12653 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12654 }
Azure.IoT Build 0:6ae2f7bca550 12655 else
Azure.IoT Build 0:6ae2f7bca550 12656 {
Azure.IoT Build 0:6ae2f7bca550 12657 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12658 AMQP_VALUE content_type_amqp_value = amqpvalue_create_symbol(content_type_value);
Azure.IoT Build 0:6ae2f7bca550 12659 if (content_type_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12660 {
AzureIoTClient 19:000ab4e6a2c1 12661 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12662 }
Azure.IoT Build 0:6ae2f7bca550 12663 else
Azure.IoT Build 0:6ae2f7bca550 12664 {
Azure.IoT Build 0:6ae2f7bca550 12665 if (amqpvalue_set_composite_item(properties_instance->composite_value, 6, content_type_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 12666 {
AzureIoTClient 19:000ab4e6a2c1 12667 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12668 }
Azure.IoT Build 0:6ae2f7bca550 12669 else
Azure.IoT Build 0:6ae2f7bca550 12670 {
Azure.IoT Build 0:6ae2f7bca550 12671 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12672 }
Azure.IoT Build 0:6ae2f7bca550 12673
Azure.IoT Build 0:6ae2f7bca550 12674 amqpvalue_destroy(content_type_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 12675 }
Azure.IoT Build 0:6ae2f7bca550 12676 }
Azure.IoT Build 0:6ae2f7bca550 12677
Azure.IoT Build 0:6ae2f7bca550 12678 return result;
Azure.IoT Build 0:6ae2f7bca550 12679 }
Azure.IoT Build 0:6ae2f7bca550 12680
Azure.IoT Build 0:6ae2f7bca550 12681 int properties_get_content_encoding(PROPERTIES_HANDLE properties, const char** content_encoding_value)
Azure.IoT Build 0:6ae2f7bca550 12682 {
Azure.IoT Build 0:6ae2f7bca550 12683 int result;
Azure.IoT Build 0:6ae2f7bca550 12684
Azure.IoT Build 0:6ae2f7bca550 12685 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12686 {
AzureIoTClient 19:000ab4e6a2c1 12687 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12688 }
Azure.IoT Build 0:6ae2f7bca550 12689 else
Azure.IoT Build 0:6ae2f7bca550 12690 {
Azure.IoT Build 0:6ae2f7bca550 12691 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12692 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(properties_instance->composite_value, 7);
Azure.IoT Build 0:6ae2f7bca550 12693 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12694 {
AzureIoTClient 19:000ab4e6a2c1 12695 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12696 }
Azure.IoT Build 0:6ae2f7bca550 12697 else
Azure.IoT Build 0:6ae2f7bca550 12698 {
Azure.IoT Build 0:6ae2f7bca550 12699 if (amqpvalue_get_symbol(item_value, content_encoding_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 12700 {
AzureIoTClient 19:000ab4e6a2c1 12701 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12702 }
Azure.IoT Build 0:6ae2f7bca550 12703 else
Azure.IoT Build 0:6ae2f7bca550 12704 {
Azure.IoT Build 0:6ae2f7bca550 12705 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12706 }
Azure.IoT Build 0:6ae2f7bca550 12707 }
Azure.IoT Build 0:6ae2f7bca550 12708 }
Azure.IoT Build 0:6ae2f7bca550 12709
Azure.IoT Build 0:6ae2f7bca550 12710 return result;
Azure.IoT Build 0:6ae2f7bca550 12711 }
Azure.IoT Build 0:6ae2f7bca550 12712
Azure.IoT Build 0:6ae2f7bca550 12713 int properties_set_content_encoding(PROPERTIES_HANDLE properties, const char* content_encoding_value)
Azure.IoT Build 0:6ae2f7bca550 12714 {
Azure.IoT Build 0:6ae2f7bca550 12715 int result;
Azure.IoT Build 0:6ae2f7bca550 12716
Azure.IoT Build 0:6ae2f7bca550 12717 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12718 {
AzureIoTClient 19:000ab4e6a2c1 12719 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12720 }
Azure.IoT Build 0:6ae2f7bca550 12721 else
Azure.IoT Build 0:6ae2f7bca550 12722 {
Azure.IoT Build 0:6ae2f7bca550 12723 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12724 AMQP_VALUE content_encoding_amqp_value = amqpvalue_create_symbol(content_encoding_value);
Azure.IoT Build 0:6ae2f7bca550 12725 if (content_encoding_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12726 {
AzureIoTClient 19:000ab4e6a2c1 12727 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12728 }
Azure.IoT Build 0:6ae2f7bca550 12729 else
Azure.IoT Build 0:6ae2f7bca550 12730 {
Azure.IoT Build 0:6ae2f7bca550 12731 if (amqpvalue_set_composite_item(properties_instance->composite_value, 7, content_encoding_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 12732 {
AzureIoTClient 19:000ab4e6a2c1 12733 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12734 }
Azure.IoT Build 0:6ae2f7bca550 12735 else
Azure.IoT Build 0:6ae2f7bca550 12736 {
Azure.IoT Build 0:6ae2f7bca550 12737 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12738 }
Azure.IoT Build 0:6ae2f7bca550 12739
Azure.IoT Build 0:6ae2f7bca550 12740 amqpvalue_destroy(content_encoding_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 12741 }
Azure.IoT Build 0:6ae2f7bca550 12742 }
Azure.IoT Build 0:6ae2f7bca550 12743
Azure.IoT Build 0:6ae2f7bca550 12744 return result;
Azure.IoT Build 0:6ae2f7bca550 12745 }
Azure.IoT Build 0:6ae2f7bca550 12746
Azure.IoT Build 0:6ae2f7bca550 12747 int properties_get_absolute_expiry_time(PROPERTIES_HANDLE properties, timestamp* absolute_expiry_time_value)
Azure.IoT Build 0:6ae2f7bca550 12748 {
Azure.IoT Build 0:6ae2f7bca550 12749 int result;
Azure.IoT Build 0:6ae2f7bca550 12750
Azure.IoT Build 0:6ae2f7bca550 12751 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12752 {
AzureIoTClient 19:000ab4e6a2c1 12753 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12754 }
Azure.IoT Build 0:6ae2f7bca550 12755 else
Azure.IoT Build 0:6ae2f7bca550 12756 {
Azure.IoT Build 0:6ae2f7bca550 12757 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12758 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(properties_instance->composite_value, 8);
Azure.IoT Build 0:6ae2f7bca550 12759 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12760 {
AzureIoTClient 19:000ab4e6a2c1 12761 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12762 }
Azure.IoT Build 0:6ae2f7bca550 12763 else
Azure.IoT Build 0:6ae2f7bca550 12764 {
Azure.IoT Build 0:6ae2f7bca550 12765 if (amqpvalue_get_timestamp(item_value, absolute_expiry_time_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 12766 {
AzureIoTClient 19:000ab4e6a2c1 12767 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12768 }
Azure.IoT Build 0:6ae2f7bca550 12769 else
Azure.IoT Build 0:6ae2f7bca550 12770 {
Azure.IoT Build 0:6ae2f7bca550 12771 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12772 }
Azure.IoT Build 0:6ae2f7bca550 12773 }
Azure.IoT Build 0:6ae2f7bca550 12774 }
Azure.IoT Build 0:6ae2f7bca550 12775
Azure.IoT Build 0:6ae2f7bca550 12776 return result;
Azure.IoT Build 0:6ae2f7bca550 12777 }
Azure.IoT Build 0:6ae2f7bca550 12778
Azure.IoT Build 0:6ae2f7bca550 12779 int properties_set_absolute_expiry_time(PROPERTIES_HANDLE properties, timestamp absolute_expiry_time_value)
Azure.IoT Build 0:6ae2f7bca550 12780 {
Azure.IoT Build 0:6ae2f7bca550 12781 int result;
Azure.IoT Build 0:6ae2f7bca550 12782
Azure.IoT Build 0:6ae2f7bca550 12783 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12784 {
AzureIoTClient 19:000ab4e6a2c1 12785 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12786 }
Azure.IoT Build 0:6ae2f7bca550 12787 else
Azure.IoT Build 0:6ae2f7bca550 12788 {
Azure.IoT Build 0:6ae2f7bca550 12789 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12790 AMQP_VALUE absolute_expiry_time_amqp_value = amqpvalue_create_timestamp(absolute_expiry_time_value);
Azure.IoT Build 0:6ae2f7bca550 12791 if (absolute_expiry_time_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12792 {
AzureIoTClient 19:000ab4e6a2c1 12793 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12794 }
Azure.IoT Build 0:6ae2f7bca550 12795 else
Azure.IoT Build 0:6ae2f7bca550 12796 {
Azure.IoT Build 0:6ae2f7bca550 12797 if (amqpvalue_set_composite_item(properties_instance->composite_value, 8, absolute_expiry_time_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 12798 {
AzureIoTClient 19:000ab4e6a2c1 12799 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12800 }
Azure.IoT Build 0:6ae2f7bca550 12801 else
Azure.IoT Build 0:6ae2f7bca550 12802 {
Azure.IoT Build 0:6ae2f7bca550 12803 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12804 }
Azure.IoT Build 0:6ae2f7bca550 12805
Azure.IoT Build 0:6ae2f7bca550 12806 amqpvalue_destroy(absolute_expiry_time_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 12807 }
Azure.IoT Build 0:6ae2f7bca550 12808 }
Azure.IoT Build 0:6ae2f7bca550 12809
Azure.IoT Build 0:6ae2f7bca550 12810 return result;
Azure.IoT Build 0:6ae2f7bca550 12811 }
Azure.IoT Build 0:6ae2f7bca550 12812
Azure.IoT Build 0:6ae2f7bca550 12813 int properties_get_creation_time(PROPERTIES_HANDLE properties, timestamp* creation_time_value)
Azure.IoT Build 0:6ae2f7bca550 12814 {
Azure.IoT Build 0:6ae2f7bca550 12815 int result;
Azure.IoT Build 0:6ae2f7bca550 12816
Azure.IoT Build 0:6ae2f7bca550 12817 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12818 {
AzureIoTClient 19:000ab4e6a2c1 12819 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12820 }
Azure.IoT Build 0:6ae2f7bca550 12821 else
Azure.IoT Build 0:6ae2f7bca550 12822 {
Azure.IoT Build 0:6ae2f7bca550 12823 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12824 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(properties_instance->composite_value, 9);
Azure.IoT Build 0:6ae2f7bca550 12825 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12826 {
AzureIoTClient 19:000ab4e6a2c1 12827 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12828 }
Azure.IoT Build 0:6ae2f7bca550 12829 else
Azure.IoT Build 0:6ae2f7bca550 12830 {
Azure.IoT Build 0:6ae2f7bca550 12831 if (amqpvalue_get_timestamp(item_value, creation_time_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 12832 {
AzureIoTClient 19:000ab4e6a2c1 12833 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12834 }
Azure.IoT Build 0:6ae2f7bca550 12835 else
Azure.IoT Build 0:6ae2f7bca550 12836 {
Azure.IoT Build 0:6ae2f7bca550 12837 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12838 }
Azure.IoT Build 0:6ae2f7bca550 12839 }
Azure.IoT Build 0:6ae2f7bca550 12840 }
Azure.IoT Build 0:6ae2f7bca550 12841
Azure.IoT Build 0:6ae2f7bca550 12842 return result;
Azure.IoT Build 0:6ae2f7bca550 12843 }
Azure.IoT Build 0:6ae2f7bca550 12844
Azure.IoT Build 0:6ae2f7bca550 12845 int properties_set_creation_time(PROPERTIES_HANDLE properties, timestamp creation_time_value)
Azure.IoT Build 0:6ae2f7bca550 12846 {
Azure.IoT Build 0:6ae2f7bca550 12847 int result;
Azure.IoT Build 0:6ae2f7bca550 12848
Azure.IoT Build 0:6ae2f7bca550 12849 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12850 {
AzureIoTClient 19:000ab4e6a2c1 12851 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12852 }
Azure.IoT Build 0:6ae2f7bca550 12853 else
Azure.IoT Build 0:6ae2f7bca550 12854 {
Azure.IoT Build 0:6ae2f7bca550 12855 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12856 AMQP_VALUE creation_time_amqp_value = amqpvalue_create_timestamp(creation_time_value);
Azure.IoT Build 0:6ae2f7bca550 12857 if (creation_time_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12858 {
AzureIoTClient 19:000ab4e6a2c1 12859 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12860 }
Azure.IoT Build 0:6ae2f7bca550 12861 else
Azure.IoT Build 0:6ae2f7bca550 12862 {
Azure.IoT Build 0:6ae2f7bca550 12863 if (amqpvalue_set_composite_item(properties_instance->composite_value, 9, creation_time_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 12864 {
AzureIoTClient 19:000ab4e6a2c1 12865 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12866 }
Azure.IoT Build 0:6ae2f7bca550 12867 else
Azure.IoT Build 0:6ae2f7bca550 12868 {
Azure.IoT Build 0:6ae2f7bca550 12869 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12870 }
Azure.IoT Build 0:6ae2f7bca550 12871
Azure.IoT Build 0:6ae2f7bca550 12872 amqpvalue_destroy(creation_time_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 12873 }
Azure.IoT Build 0:6ae2f7bca550 12874 }
Azure.IoT Build 0:6ae2f7bca550 12875
Azure.IoT Build 0:6ae2f7bca550 12876 return result;
Azure.IoT Build 0:6ae2f7bca550 12877 }
Azure.IoT Build 0:6ae2f7bca550 12878
Azure.IoT Build 0:6ae2f7bca550 12879 int properties_get_group_id(PROPERTIES_HANDLE properties, const char** group_id_value)
Azure.IoT Build 0:6ae2f7bca550 12880 {
Azure.IoT Build 0:6ae2f7bca550 12881 int result;
Azure.IoT Build 0:6ae2f7bca550 12882
Azure.IoT Build 0:6ae2f7bca550 12883 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12884 {
AzureIoTClient 19:000ab4e6a2c1 12885 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12886 }
Azure.IoT Build 0:6ae2f7bca550 12887 else
Azure.IoT Build 0:6ae2f7bca550 12888 {
Azure.IoT Build 0:6ae2f7bca550 12889 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12890 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(properties_instance->composite_value, 10);
Azure.IoT Build 0:6ae2f7bca550 12891 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12892 {
AzureIoTClient 19:000ab4e6a2c1 12893 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12894 }
Azure.IoT Build 0:6ae2f7bca550 12895 else
Azure.IoT Build 0:6ae2f7bca550 12896 {
Azure.IoT Build 0:6ae2f7bca550 12897 if (amqpvalue_get_string(item_value, group_id_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 12898 {
AzureIoTClient 19:000ab4e6a2c1 12899 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12900 }
Azure.IoT Build 0:6ae2f7bca550 12901 else
Azure.IoT Build 0:6ae2f7bca550 12902 {
Azure.IoT Build 0:6ae2f7bca550 12903 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12904 }
Azure.IoT Build 0:6ae2f7bca550 12905 }
Azure.IoT Build 0:6ae2f7bca550 12906 }
Azure.IoT Build 0:6ae2f7bca550 12907
Azure.IoT Build 0:6ae2f7bca550 12908 return result;
Azure.IoT Build 0:6ae2f7bca550 12909 }
Azure.IoT Build 0:6ae2f7bca550 12910
Azure.IoT Build 0:6ae2f7bca550 12911 int properties_set_group_id(PROPERTIES_HANDLE properties, const char* group_id_value)
Azure.IoT Build 0:6ae2f7bca550 12912 {
Azure.IoT Build 0:6ae2f7bca550 12913 int result;
Azure.IoT Build 0:6ae2f7bca550 12914
Azure.IoT Build 0:6ae2f7bca550 12915 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12916 {
AzureIoTClient 19:000ab4e6a2c1 12917 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12918 }
Azure.IoT Build 0:6ae2f7bca550 12919 else
Azure.IoT Build 0:6ae2f7bca550 12920 {
Azure.IoT Build 0:6ae2f7bca550 12921 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12922 AMQP_VALUE group_id_amqp_value = amqpvalue_create_string(group_id_value);
Azure.IoT Build 0:6ae2f7bca550 12923 if (group_id_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12924 {
AzureIoTClient 19:000ab4e6a2c1 12925 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12926 }
Azure.IoT Build 0:6ae2f7bca550 12927 else
Azure.IoT Build 0:6ae2f7bca550 12928 {
Azure.IoT Build 0:6ae2f7bca550 12929 if (amqpvalue_set_composite_item(properties_instance->composite_value, 10, group_id_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 12930 {
AzureIoTClient 19:000ab4e6a2c1 12931 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12932 }
Azure.IoT Build 0:6ae2f7bca550 12933 else
Azure.IoT Build 0:6ae2f7bca550 12934 {
Azure.IoT Build 0:6ae2f7bca550 12935 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12936 }
Azure.IoT Build 0:6ae2f7bca550 12937
Azure.IoT Build 0:6ae2f7bca550 12938 amqpvalue_destroy(group_id_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 12939 }
Azure.IoT Build 0:6ae2f7bca550 12940 }
Azure.IoT Build 0:6ae2f7bca550 12941
Azure.IoT Build 0:6ae2f7bca550 12942 return result;
Azure.IoT Build 0:6ae2f7bca550 12943 }
Azure.IoT Build 0:6ae2f7bca550 12944
Azure.IoT Build 0:6ae2f7bca550 12945 int properties_get_group_sequence(PROPERTIES_HANDLE properties, sequence_no* group_sequence_value)
Azure.IoT Build 0:6ae2f7bca550 12946 {
Azure.IoT Build 0:6ae2f7bca550 12947 int result;
Azure.IoT Build 0:6ae2f7bca550 12948
Azure.IoT Build 0:6ae2f7bca550 12949 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12950 {
AzureIoTClient 19:000ab4e6a2c1 12951 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12952 }
Azure.IoT Build 0:6ae2f7bca550 12953 else
Azure.IoT Build 0:6ae2f7bca550 12954 {
Azure.IoT Build 0:6ae2f7bca550 12955 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12956 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(properties_instance->composite_value, 11);
Azure.IoT Build 0:6ae2f7bca550 12957 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12958 {
AzureIoTClient 19:000ab4e6a2c1 12959 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12960 }
Azure.IoT Build 0:6ae2f7bca550 12961 else
Azure.IoT Build 0:6ae2f7bca550 12962 {
Azure.IoT Build 0:6ae2f7bca550 12963 if (amqpvalue_get_sequence_no(item_value, group_sequence_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 12964 {
AzureIoTClient 19:000ab4e6a2c1 12965 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12966 }
Azure.IoT Build 0:6ae2f7bca550 12967 else
Azure.IoT Build 0:6ae2f7bca550 12968 {
Azure.IoT Build 0:6ae2f7bca550 12969 result = 0;
Azure.IoT Build 0:6ae2f7bca550 12970 }
Azure.IoT Build 0:6ae2f7bca550 12971 }
Azure.IoT Build 0:6ae2f7bca550 12972 }
Azure.IoT Build 0:6ae2f7bca550 12973
Azure.IoT Build 0:6ae2f7bca550 12974 return result;
Azure.IoT Build 0:6ae2f7bca550 12975 }
Azure.IoT Build 0:6ae2f7bca550 12976
Azure.IoT Build 0:6ae2f7bca550 12977 int properties_set_group_sequence(PROPERTIES_HANDLE properties, sequence_no group_sequence_value)
Azure.IoT Build 0:6ae2f7bca550 12978 {
Azure.IoT Build 0:6ae2f7bca550 12979 int result;
Azure.IoT Build 0:6ae2f7bca550 12980
Azure.IoT Build 0:6ae2f7bca550 12981 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 12982 {
AzureIoTClient 19:000ab4e6a2c1 12983 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12984 }
Azure.IoT Build 0:6ae2f7bca550 12985 else
Azure.IoT Build 0:6ae2f7bca550 12986 {
Azure.IoT Build 0:6ae2f7bca550 12987 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 12988 AMQP_VALUE group_sequence_amqp_value = amqpvalue_create_sequence_no(group_sequence_value);
Azure.IoT Build 0:6ae2f7bca550 12989 if (group_sequence_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 12990 {
AzureIoTClient 19:000ab4e6a2c1 12991 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12992 }
Azure.IoT Build 0:6ae2f7bca550 12993 else
Azure.IoT Build 0:6ae2f7bca550 12994 {
Azure.IoT Build 0:6ae2f7bca550 12995 if (amqpvalue_set_composite_item(properties_instance->composite_value, 11, group_sequence_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 12996 {
AzureIoTClient 19:000ab4e6a2c1 12997 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 12998 }
Azure.IoT Build 0:6ae2f7bca550 12999 else
Azure.IoT Build 0:6ae2f7bca550 13000 {
Azure.IoT Build 0:6ae2f7bca550 13001 result = 0;
Azure.IoT Build 0:6ae2f7bca550 13002 }
Azure.IoT Build 0:6ae2f7bca550 13003
Azure.IoT Build 0:6ae2f7bca550 13004 amqpvalue_destroy(group_sequence_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 13005 }
Azure.IoT Build 0:6ae2f7bca550 13006 }
Azure.IoT Build 0:6ae2f7bca550 13007
Azure.IoT Build 0:6ae2f7bca550 13008 return result;
Azure.IoT Build 0:6ae2f7bca550 13009 }
Azure.IoT Build 0:6ae2f7bca550 13010
Azure.IoT Build 0:6ae2f7bca550 13011 int properties_get_reply_to_group_id(PROPERTIES_HANDLE properties, const char** reply_to_group_id_value)
Azure.IoT Build 0:6ae2f7bca550 13012 {
Azure.IoT Build 0:6ae2f7bca550 13013 int result;
Azure.IoT Build 0:6ae2f7bca550 13014
Azure.IoT Build 0:6ae2f7bca550 13015 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 13016 {
AzureIoTClient 19:000ab4e6a2c1 13017 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13018 }
Azure.IoT Build 0:6ae2f7bca550 13019 else
Azure.IoT Build 0:6ae2f7bca550 13020 {
Azure.IoT Build 0:6ae2f7bca550 13021 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 13022 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(properties_instance->composite_value, 12);
Azure.IoT Build 0:6ae2f7bca550 13023 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13024 {
AzureIoTClient 19:000ab4e6a2c1 13025 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13026 }
Azure.IoT Build 0:6ae2f7bca550 13027 else
Azure.IoT Build 0:6ae2f7bca550 13028 {
Azure.IoT Build 0:6ae2f7bca550 13029 if (amqpvalue_get_string(item_value, reply_to_group_id_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 13030 {
AzureIoTClient 19:000ab4e6a2c1 13031 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13032 }
Azure.IoT Build 0:6ae2f7bca550 13033 else
Azure.IoT Build 0:6ae2f7bca550 13034 {
Azure.IoT Build 0:6ae2f7bca550 13035 result = 0;
Azure.IoT Build 0:6ae2f7bca550 13036 }
Azure.IoT Build 0:6ae2f7bca550 13037 }
Azure.IoT Build 0:6ae2f7bca550 13038 }
Azure.IoT Build 0:6ae2f7bca550 13039
Azure.IoT Build 0:6ae2f7bca550 13040 return result;
Azure.IoT Build 0:6ae2f7bca550 13041 }
Azure.IoT Build 0:6ae2f7bca550 13042
Azure.IoT Build 0:6ae2f7bca550 13043 int properties_set_reply_to_group_id(PROPERTIES_HANDLE properties, const char* reply_to_group_id_value)
Azure.IoT Build 0:6ae2f7bca550 13044 {
Azure.IoT Build 0:6ae2f7bca550 13045 int result;
Azure.IoT Build 0:6ae2f7bca550 13046
Azure.IoT Build 0:6ae2f7bca550 13047 if (properties == NULL)
Azure.IoT Build 0:6ae2f7bca550 13048 {
AzureIoTClient 19:000ab4e6a2c1 13049 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13050 }
Azure.IoT Build 0:6ae2f7bca550 13051 else
Azure.IoT Build 0:6ae2f7bca550 13052 {
Azure.IoT Build 0:6ae2f7bca550 13053 PROPERTIES_INSTANCE* properties_instance = (PROPERTIES_INSTANCE*)properties;
Azure.IoT Build 0:6ae2f7bca550 13054 AMQP_VALUE reply_to_group_id_amqp_value = amqpvalue_create_string(reply_to_group_id_value);
Azure.IoT Build 0:6ae2f7bca550 13055 if (reply_to_group_id_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13056 {
AzureIoTClient 19:000ab4e6a2c1 13057 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13058 }
Azure.IoT Build 0:6ae2f7bca550 13059 else
Azure.IoT Build 0:6ae2f7bca550 13060 {
Azure.IoT Build 0:6ae2f7bca550 13061 if (amqpvalue_set_composite_item(properties_instance->composite_value, 12, reply_to_group_id_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 13062 {
AzureIoTClient 19:000ab4e6a2c1 13063 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13064 }
Azure.IoT Build 0:6ae2f7bca550 13065 else
Azure.IoT Build 0:6ae2f7bca550 13066 {
Azure.IoT Build 0:6ae2f7bca550 13067 result = 0;
Azure.IoT Build 0:6ae2f7bca550 13068 }
Azure.IoT Build 0:6ae2f7bca550 13069
Azure.IoT Build 0:6ae2f7bca550 13070 amqpvalue_destroy(reply_to_group_id_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 13071 }
Azure.IoT Build 0:6ae2f7bca550 13072 }
Azure.IoT Build 0:6ae2f7bca550 13073
Azure.IoT Build 0:6ae2f7bca550 13074 return result;
Azure.IoT Build 0:6ae2f7bca550 13075 }
Azure.IoT Build 0:6ae2f7bca550 13076
Azure.IoT Build 0:6ae2f7bca550 13077
Azure.IoT Build 0:6ae2f7bca550 13078 /* received */
Azure.IoT Build 0:6ae2f7bca550 13079
Azure.IoT Build 0:6ae2f7bca550 13080 typedef struct RECEIVED_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 13081 {
Azure.IoT Build 0:6ae2f7bca550 13082 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 13083 } RECEIVED_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 13084
Azure.IoT Build 0:6ae2f7bca550 13085 static RECEIVED_HANDLE received_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 13086 {
Azure.IoT Build 0:6ae2f7bca550 13087 RECEIVED_INSTANCE* received_instance = (RECEIVED_INSTANCE*)amqpalloc_malloc(sizeof(RECEIVED_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 13088 if (received_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 13089 {
Azure.IoT Build 0:6ae2f7bca550 13090 received_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 13091 }
Azure.IoT Build 0:6ae2f7bca550 13092
Azure.IoT Build 0:6ae2f7bca550 13093 return received_instance;
Azure.IoT Build 0:6ae2f7bca550 13094 }
Azure.IoT Build 0:6ae2f7bca550 13095
Azure.IoT Build 0:6ae2f7bca550 13096 RECEIVED_HANDLE received_create(uint32_t section_number_value, uint64_t section_offset_value)
Azure.IoT Build 0:6ae2f7bca550 13097 {
Azure.IoT Build 0:6ae2f7bca550 13098 RECEIVED_INSTANCE* received_instance = (RECEIVED_INSTANCE*)amqpalloc_malloc(sizeof(RECEIVED_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 13099 if (received_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 13100 {
Azure.IoT Build 0:6ae2f7bca550 13101 received_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(35);
Azure.IoT Build 0:6ae2f7bca550 13102 if (received_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13103 {
Azure.IoT Build 0:6ae2f7bca550 13104 amqpalloc_free(received_instance);
Azure.IoT Build 0:6ae2f7bca550 13105 received_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 13106 }
Azure.IoT Build 0:6ae2f7bca550 13107 else
Azure.IoT Build 0:6ae2f7bca550 13108 {
Azure.IoT Build 0:6ae2f7bca550 13109 AMQP_VALUE section_number_amqp_value;
Azure.IoT Build 0:6ae2f7bca550 13110 AMQP_VALUE section_offset_amqp_value;
Azure.IoT Build 0:6ae2f7bca550 13111 int result = 0;
Azure.IoT Build 0:6ae2f7bca550 13112
Azure.IoT Build 0:6ae2f7bca550 13113 section_number_amqp_value = amqpvalue_create_uint(section_number_value);
Azure.IoT Build 0:6ae2f7bca550 13114 if ((result == 0) && (amqpvalue_set_composite_item(received_instance->composite_value, 0, section_number_amqp_value) != 0))
Azure.IoT Build 0:6ae2f7bca550 13115 {
AzureIoTClient 19:000ab4e6a2c1 13116 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13117 }
Azure.IoT Build 0:6ae2f7bca550 13118 section_offset_amqp_value = amqpvalue_create_ulong(section_offset_value);
Azure.IoT Build 0:6ae2f7bca550 13119 if ((result == 0) && (amqpvalue_set_composite_item(received_instance->composite_value, 1, section_offset_amqp_value) != 0))
Azure.IoT Build 0:6ae2f7bca550 13120 {
AzureIoTClient 19:000ab4e6a2c1 13121 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13122 }
Azure.IoT Build 0:6ae2f7bca550 13123
Azure.IoT Build 0:6ae2f7bca550 13124 amqpvalue_destroy(section_number_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 13125 amqpvalue_destroy(section_offset_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 13126 }
Azure.IoT Build 0:6ae2f7bca550 13127 }
Azure.IoT Build 0:6ae2f7bca550 13128
Azure.IoT Build 0:6ae2f7bca550 13129 return received_instance;
Azure.IoT Build 0:6ae2f7bca550 13130 }
Azure.IoT Build 0:6ae2f7bca550 13131
Azure.IoT Build 0:6ae2f7bca550 13132 RECEIVED_HANDLE received_clone(RECEIVED_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 13133 {
Azure.IoT Build 0:6ae2f7bca550 13134 RECEIVED_INSTANCE* received_instance = (RECEIVED_INSTANCE*)amqpalloc_malloc(sizeof(RECEIVED_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 13135 if (received_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 13136 {
Azure.IoT Build 0:6ae2f7bca550 13137 received_instance->composite_value = amqpvalue_clone(((RECEIVED_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 13138 if (received_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13139 {
Azure.IoT Build 0:6ae2f7bca550 13140 amqpalloc_free(received_instance);
Azure.IoT Build 0:6ae2f7bca550 13141 received_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 13142 }
Azure.IoT Build 0:6ae2f7bca550 13143 }
Azure.IoT Build 0:6ae2f7bca550 13144
Azure.IoT Build 0:6ae2f7bca550 13145 return received_instance;
Azure.IoT Build 0:6ae2f7bca550 13146 }
Azure.IoT Build 0:6ae2f7bca550 13147
Azure.IoT Build 0:6ae2f7bca550 13148 void received_destroy(RECEIVED_HANDLE received)
Azure.IoT Build 0:6ae2f7bca550 13149 {
Azure.IoT Build 0:6ae2f7bca550 13150 if (received != NULL)
Azure.IoT Build 0:6ae2f7bca550 13151 {
Azure.IoT Build 0:6ae2f7bca550 13152 RECEIVED_INSTANCE* received_instance = (RECEIVED_INSTANCE*)received;
Azure.IoT Build 0:6ae2f7bca550 13153 amqpvalue_destroy(received_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 13154 amqpalloc_free(received_instance);
Azure.IoT Build 0:6ae2f7bca550 13155 }
Azure.IoT Build 0:6ae2f7bca550 13156 }
Azure.IoT Build 0:6ae2f7bca550 13157
Azure.IoT Build 0:6ae2f7bca550 13158 AMQP_VALUE amqpvalue_create_received(RECEIVED_HANDLE received)
Azure.IoT Build 0:6ae2f7bca550 13159 {
Azure.IoT Build 0:6ae2f7bca550 13160 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 13161
Azure.IoT Build 0:6ae2f7bca550 13162 if (received == NULL)
Azure.IoT Build 0:6ae2f7bca550 13163 {
Azure.IoT Build 0:6ae2f7bca550 13164 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 13165 }
Azure.IoT Build 0:6ae2f7bca550 13166 else
Azure.IoT Build 0:6ae2f7bca550 13167 {
Azure.IoT Build 0:6ae2f7bca550 13168 RECEIVED_INSTANCE* received_instance = (RECEIVED_INSTANCE*)received;
Azure.IoT Build 0:6ae2f7bca550 13169 result = amqpvalue_clone(received_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 13170 }
Azure.IoT Build 0:6ae2f7bca550 13171
Azure.IoT Build 0:6ae2f7bca550 13172 return result;
Azure.IoT Build 0:6ae2f7bca550 13173 }
Azure.IoT Build 0:6ae2f7bca550 13174
Azure.IoT Build 0:6ae2f7bca550 13175 bool is_received_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 13176 {
Azure.IoT Build 0:6ae2f7bca550 13177 bool result;
Azure.IoT Build 0:6ae2f7bca550 13178
Azure.IoT Build 0:6ae2f7bca550 13179 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 13180 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 13181 (descriptor_ulong == 35))
Azure.IoT Build 0:6ae2f7bca550 13182 {
Azure.IoT Build 0:6ae2f7bca550 13183 result = true;
Azure.IoT Build 0:6ae2f7bca550 13184 }
Azure.IoT Build 0:6ae2f7bca550 13185 else
Azure.IoT Build 0:6ae2f7bca550 13186 {
Azure.IoT Build 0:6ae2f7bca550 13187 result = false;
Azure.IoT Build 0:6ae2f7bca550 13188 }
Azure.IoT Build 0:6ae2f7bca550 13189
Azure.IoT Build 0:6ae2f7bca550 13190 return result;
Azure.IoT Build 0:6ae2f7bca550 13191 }
Azure.IoT Build 0:6ae2f7bca550 13192
Azure.IoT Build 0:6ae2f7bca550 13193
Azure.IoT Build 0:6ae2f7bca550 13194 int amqpvalue_get_received(AMQP_VALUE value, RECEIVED_HANDLE* received_handle)
Azure.IoT Build 0:6ae2f7bca550 13195 {
Azure.IoT Build 0:6ae2f7bca550 13196 int result;
Azure.IoT Build 0:6ae2f7bca550 13197 RECEIVED_INSTANCE* received_instance = (RECEIVED_INSTANCE*)received_create_internal();
Azure.IoT Build 0:6ae2f7bca550 13198 *received_handle = received_instance;
Azure.IoT Build 0:6ae2f7bca550 13199 if (*received_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 13200 {
AzureIoTClient 19:000ab4e6a2c1 13201 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13202 }
Azure.IoT Build 0:6ae2f7bca550 13203 else
Azure.IoT Build 0:6ae2f7bca550 13204 {
Azure.IoT Build 0:6ae2f7bca550 13205 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 13206 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13207 {
Azure.IoT Build 0:6ae2f7bca550 13208 received_destroy(*received_handle);
AzureIoTClient 19:000ab4e6a2c1 13209 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13210 }
Azure.IoT Build 0:6ae2f7bca550 13211 else
Azure.IoT Build 0:6ae2f7bca550 13212 {
Azure.IoT Build 0:6ae2f7bca550 13213 do
Azure.IoT Build 0:6ae2f7bca550 13214 {
Azure.IoT Build 0:6ae2f7bca550 13215 AMQP_VALUE item_value;
Azure.IoT Build 0:6ae2f7bca550 13216 /* section-number */
Azure.IoT Build 0:6ae2f7bca550 13217 item_value = amqpvalue_get_list_item(list_value, 0);
Azure.IoT Build 0:6ae2f7bca550 13218 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13219 {
Azure.IoT Build 0:6ae2f7bca550 13220 {
Azure.IoT Build 0:6ae2f7bca550 13221 received_destroy(*received_handle);
AzureIoTClient 19:000ab4e6a2c1 13222 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13223 break;
Azure.IoT Build 0:6ae2f7bca550 13224 }
Azure.IoT Build 0:6ae2f7bca550 13225 }
Azure.IoT Build 0:6ae2f7bca550 13226 else
Azure.IoT Build 0:6ae2f7bca550 13227 {
Azure.IoT Build 0:6ae2f7bca550 13228 uint32_t section_number;
Azure.IoT Build 0:6ae2f7bca550 13229 if (amqpvalue_get_uint(item_value, &section_number) != 0)
Azure.IoT Build 0:6ae2f7bca550 13230 {
Azure.IoT Build 0:6ae2f7bca550 13231 received_destroy(*received_handle);
AzureIoTClient 19:000ab4e6a2c1 13232 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13233 break;
Azure.IoT Build 0:6ae2f7bca550 13234 }
Azure.IoT Build 0:6ae2f7bca550 13235
Azure.IoT Build 0:6ae2f7bca550 13236 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 13237 }
Azure.IoT Build 0:6ae2f7bca550 13238 /* section-offset */
Azure.IoT Build 0:6ae2f7bca550 13239 item_value = amqpvalue_get_list_item(list_value, 1);
Azure.IoT Build 0:6ae2f7bca550 13240 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13241 {
Azure.IoT Build 0:6ae2f7bca550 13242 {
Azure.IoT Build 0:6ae2f7bca550 13243 received_destroy(*received_handle);
AzureIoTClient 19:000ab4e6a2c1 13244 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13245 break;
Azure.IoT Build 0:6ae2f7bca550 13246 }
Azure.IoT Build 0:6ae2f7bca550 13247 }
Azure.IoT Build 0:6ae2f7bca550 13248 else
Azure.IoT Build 0:6ae2f7bca550 13249 {
Azure.IoT Build 0:6ae2f7bca550 13250 uint64_t section_offset;
Azure.IoT Build 0:6ae2f7bca550 13251 if (amqpvalue_get_ulong(item_value, &section_offset) != 0)
Azure.IoT Build 0:6ae2f7bca550 13252 {
Azure.IoT Build 0:6ae2f7bca550 13253 received_destroy(*received_handle);
AzureIoTClient 19:000ab4e6a2c1 13254 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13255 break;
Azure.IoT Build 0:6ae2f7bca550 13256 }
Azure.IoT Build 0:6ae2f7bca550 13257
Azure.IoT Build 0:6ae2f7bca550 13258 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 13259 }
Azure.IoT Build 0:6ae2f7bca550 13260
Azure.IoT Build 0:6ae2f7bca550 13261 received_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 13262
Azure.IoT Build 0:6ae2f7bca550 13263 result = 0;
Azure.IoT Build 0:6ae2f7bca550 13264 } while (0);
Azure.IoT Build 0:6ae2f7bca550 13265 }
Azure.IoT Build 0:6ae2f7bca550 13266 }
Azure.IoT Build 0:6ae2f7bca550 13267
Azure.IoT Build 0:6ae2f7bca550 13268 return result;
Azure.IoT Build 0:6ae2f7bca550 13269 }
Azure.IoT Build 0:6ae2f7bca550 13270
Azure.IoT Build 0:6ae2f7bca550 13271 int received_get_section_number(RECEIVED_HANDLE received, uint32_t* section_number_value)
Azure.IoT Build 0:6ae2f7bca550 13272 {
Azure.IoT Build 0:6ae2f7bca550 13273 int result;
Azure.IoT Build 0:6ae2f7bca550 13274
Azure.IoT Build 0:6ae2f7bca550 13275 if (received == NULL)
Azure.IoT Build 0:6ae2f7bca550 13276 {
AzureIoTClient 19:000ab4e6a2c1 13277 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13278 }
Azure.IoT Build 0:6ae2f7bca550 13279 else
Azure.IoT Build 0:6ae2f7bca550 13280 {
Azure.IoT Build 0:6ae2f7bca550 13281 RECEIVED_INSTANCE* received_instance = (RECEIVED_INSTANCE*)received;
Azure.IoT Build 0:6ae2f7bca550 13282 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(received_instance->composite_value, 0);
Azure.IoT Build 0:6ae2f7bca550 13283 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13284 {
AzureIoTClient 19:000ab4e6a2c1 13285 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13286 }
Azure.IoT Build 0:6ae2f7bca550 13287 else
Azure.IoT Build 0:6ae2f7bca550 13288 {
Azure.IoT Build 0:6ae2f7bca550 13289 if (amqpvalue_get_uint(item_value, section_number_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 13290 {
AzureIoTClient 19:000ab4e6a2c1 13291 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13292 }
Azure.IoT Build 0:6ae2f7bca550 13293 else
Azure.IoT Build 0:6ae2f7bca550 13294 {
Azure.IoT Build 0:6ae2f7bca550 13295 result = 0;
Azure.IoT Build 0:6ae2f7bca550 13296 }
Azure.IoT Build 0:6ae2f7bca550 13297 }
Azure.IoT Build 0:6ae2f7bca550 13298 }
Azure.IoT Build 0:6ae2f7bca550 13299
Azure.IoT Build 0:6ae2f7bca550 13300 return result;
Azure.IoT Build 0:6ae2f7bca550 13301 }
Azure.IoT Build 0:6ae2f7bca550 13302
Azure.IoT Build 0:6ae2f7bca550 13303 int received_set_section_number(RECEIVED_HANDLE received, uint32_t section_number_value)
Azure.IoT Build 0:6ae2f7bca550 13304 {
Azure.IoT Build 0:6ae2f7bca550 13305 int result;
Azure.IoT Build 0:6ae2f7bca550 13306
Azure.IoT Build 0:6ae2f7bca550 13307 if (received == NULL)
Azure.IoT Build 0:6ae2f7bca550 13308 {
AzureIoTClient 19:000ab4e6a2c1 13309 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13310 }
Azure.IoT Build 0:6ae2f7bca550 13311 else
Azure.IoT Build 0:6ae2f7bca550 13312 {
Azure.IoT Build 0:6ae2f7bca550 13313 RECEIVED_INSTANCE* received_instance = (RECEIVED_INSTANCE*)received;
Azure.IoT Build 0:6ae2f7bca550 13314 AMQP_VALUE section_number_amqp_value = amqpvalue_create_uint(section_number_value);
Azure.IoT Build 0:6ae2f7bca550 13315 if (section_number_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13316 {
AzureIoTClient 19:000ab4e6a2c1 13317 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13318 }
Azure.IoT Build 0:6ae2f7bca550 13319 else
Azure.IoT Build 0:6ae2f7bca550 13320 {
Azure.IoT Build 0:6ae2f7bca550 13321 if (amqpvalue_set_composite_item(received_instance->composite_value, 0, section_number_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 13322 {
AzureIoTClient 19:000ab4e6a2c1 13323 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13324 }
Azure.IoT Build 0:6ae2f7bca550 13325 else
Azure.IoT Build 0:6ae2f7bca550 13326 {
Azure.IoT Build 0:6ae2f7bca550 13327 result = 0;
Azure.IoT Build 0:6ae2f7bca550 13328 }
Azure.IoT Build 0:6ae2f7bca550 13329
Azure.IoT Build 0:6ae2f7bca550 13330 amqpvalue_destroy(section_number_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 13331 }
Azure.IoT Build 0:6ae2f7bca550 13332 }
Azure.IoT Build 0:6ae2f7bca550 13333
Azure.IoT Build 0:6ae2f7bca550 13334 return result;
Azure.IoT Build 0:6ae2f7bca550 13335 }
Azure.IoT Build 0:6ae2f7bca550 13336
Azure.IoT Build 0:6ae2f7bca550 13337 int received_get_section_offset(RECEIVED_HANDLE received, uint64_t* section_offset_value)
Azure.IoT Build 0:6ae2f7bca550 13338 {
Azure.IoT Build 0:6ae2f7bca550 13339 int result;
Azure.IoT Build 0:6ae2f7bca550 13340
Azure.IoT Build 0:6ae2f7bca550 13341 if (received == NULL)
Azure.IoT Build 0:6ae2f7bca550 13342 {
AzureIoTClient 19:000ab4e6a2c1 13343 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13344 }
Azure.IoT Build 0:6ae2f7bca550 13345 else
Azure.IoT Build 0:6ae2f7bca550 13346 {
Azure.IoT Build 0:6ae2f7bca550 13347 RECEIVED_INSTANCE* received_instance = (RECEIVED_INSTANCE*)received;
Azure.IoT Build 0:6ae2f7bca550 13348 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(received_instance->composite_value, 1);
Azure.IoT Build 0:6ae2f7bca550 13349 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13350 {
AzureIoTClient 19:000ab4e6a2c1 13351 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13352 }
Azure.IoT Build 0:6ae2f7bca550 13353 else
Azure.IoT Build 0:6ae2f7bca550 13354 {
Azure.IoT Build 0:6ae2f7bca550 13355 if (amqpvalue_get_ulong(item_value, section_offset_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 13356 {
AzureIoTClient 19:000ab4e6a2c1 13357 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13358 }
Azure.IoT Build 0:6ae2f7bca550 13359 else
Azure.IoT Build 0:6ae2f7bca550 13360 {
Azure.IoT Build 0:6ae2f7bca550 13361 result = 0;
Azure.IoT Build 0:6ae2f7bca550 13362 }
Azure.IoT Build 0:6ae2f7bca550 13363 }
Azure.IoT Build 0:6ae2f7bca550 13364 }
Azure.IoT Build 0:6ae2f7bca550 13365
Azure.IoT Build 0:6ae2f7bca550 13366 return result;
Azure.IoT Build 0:6ae2f7bca550 13367 }
Azure.IoT Build 0:6ae2f7bca550 13368
Azure.IoT Build 0:6ae2f7bca550 13369 int received_set_section_offset(RECEIVED_HANDLE received, uint64_t section_offset_value)
Azure.IoT Build 0:6ae2f7bca550 13370 {
Azure.IoT Build 0:6ae2f7bca550 13371 int result;
Azure.IoT Build 0:6ae2f7bca550 13372
Azure.IoT Build 0:6ae2f7bca550 13373 if (received == NULL)
Azure.IoT Build 0:6ae2f7bca550 13374 {
AzureIoTClient 19:000ab4e6a2c1 13375 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13376 }
Azure.IoT Build 0:6ae2f7bca550 13377 else
Azure.IoT Build 0:6ae2f7bca550 13378 {
Azure.IoT Build 0:6ae2f7bca550 13379 RECEIVED_INSTANCE* received_instance = (RECEIVED_INSTANCE*)received;
Azure.IoT Build 0:6ae2f7bca550 13380 AMQP_VALUE section_offset_amqp_value = amqpvalue_create_ulong(section_offset_value);
Azure.IoT Build 0:6ae2f7bca550 13381 if (section_offset_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13382 {
AzureIoTClient 19:000ab4e6a2c1 13383 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13384 }
Azure.IoT Build 0:6ae2f7bca550 13385 else
Azure.IoT Build 0:6ae2f7bca550 13386 {
Azure.IoT Build 0:6ae2f7bca550 13387 if (amqpvalue_set_composite_item(received_instance->composite_value, 1, section_offset_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 13388 {
AzureIoTClient 19:000ab4e6a2c1 13389 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13390 }
Azure.IoT Build 0:6ae2f7bca550 13391 else
Azure.IoT Build 0:6ae2f7bca550 13392 {
Azure.IoT Build 0:6ae2f7bca550 13393 result = 0;
Azure.IoT Build 0:6ae2f7bca550 13394 }
Azure.IoT Build 0:6ae2f7bca550 13395
Azure.IoT Build 0:6ae2f7bca550 13396 amqpvalue_destroy(section_offset_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 13397 }
Azure.IoT Build 0:6ae2f7bca550 13398 }
Azure.IoT Build 0:6ae2f7bca550 13399
Azure.IoT Build 0:6ae2f7bca550 13400 return result;
Azure.IoT Build 0:6ae2f7bca550 13401 }
Azure.IoT Build 0:6ae2f7bca550 13402
Azure.IoT Build 0:6ae2f7bca550 13403
Azure.IoT Build 0:6ae2f7bca550 13404 /* accepted */
Azure.IoT Build 0:6ae2f7bca550 13405
Azure.IoT Build 0:6ae2f7bca550 13406 typedef struct ACCEPTED_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 13407 {
Azure.IoT Build 0:6ae2f7bca550 13408 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 13409 } ACCEPTED_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 13410
Azure.IoT Build 0:6ae2f7bca550 13411 static ACCEPTED_HANDLE accepted_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 13412 {
Azure.IoT Build 0:6ae2f7bca550 13413 ACCEPTED_INSTANCE* accepted_instance = (ACCEPTED_INSTANCE*)amqpalloc_malloc(sizeof(ACCEPTED_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 13414 if (accepted_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 13415 {
Azure.IoT Build 0:6ae2f7bca550 13416 accepted_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 13417 }
Azure.IoT Build 0:6ae2f7bca550 13418
Azure.IoT Build 0:6ae2f7bca550 13419 return accepted_instance;
Azure.IoT Build 0:6ae2f7bca550 13420 }
Azure.IoT Build 0:6ae2f7bca550 13421
Azure.IoT Build 0:6ae2f7bca550 13422 ACCEPTED_HANDLE accepted_create(void)
Azure.IoT Build 0:6ae2f7bca550 13423 {
Azure.IoT Build 0:6ae2f7bca550 13424 ACCEPTED_INSTANCE* accepted_instance = (ACCEPTED_INSTANCE*)amqpalloc_malloc(sizeof(ACCEPTED_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 13425 if (accepted_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 13426 {
Azure.IoT Build 0:6ae2f7bca550 13427 accepted_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(36);
Azure.IoT Build 0:6ae2f7bca550 13428 if (accepted_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13429 {
Azure.IoT Build 0:6ae2f7bca550 13430 amqpalloc_free(accepted_instance);
Azure.IoT Build 0:6ae2f7bca550 13431 accepted_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 13432 }
Azure.IoT Build 0:6ae2f7bca550 13433 }
Azure.IoT Build 0:6ae2f7bca550 13434
Azure.IoT Build 0:6ae2f7bca550 13435 return accepted_instance;
Azure.IoT Build 0:6ae2f7bca550 13436 }
Azure.IoT Build 0:6ae2f7bca550 13437
Azure.IoT Build 0:6ae2f7bca550 13438 ACCEPTED_HANDLE accepted_clone(ACCEPTED_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 13439 {
Azure.IoT Build 0:6ae2f7bca550 13440 ACCEPTED_INSTANCE* accepted_instance = (ACCEPTED_INSTANCE*)amqpalloc_malloc(sizeof(ACCEPTED_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 13441 if (accepted_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 13442 {
Azure.IoT Build 0:6ae2f7bca550 13443 accepted_instance->composite_value = amqpvalue_clone(((ACCEPTED_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 13444 if (accepted_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13445 {
Azure.IoT Build 0:6ae2f7bca550 13446 amqpalloc_free(accepted_instance);
Azure.IoT Build 0:6ae2f7bca550 13447 accepted_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 13448 }
Azure.IoT Build 0:6ae2f7bca550 13449 }
Azure.IoT Build 0:6ae2f7bca550 13450
Azure.IoT Build 0:6ae2f7bca550 13451 return accepted_instance;
Azure.IoT Build 0:6ae2f7bca550 13452 }
Azure.IoT Build 0:6ae2f7bca550 13453
Azure.IoT Build 0:6ae2f7bca550 13454 void accepted_destroy(ACCEPTED_HANDLE accepted)
Azure.IoT Build 0:6ae2f7bca550 13455 {
Azure.IoT Build 0:6ae2f7bca550 13456 if (accepted != NULL)
Azure.IoT Build 0:6ae2f7bca550 13457 {
Azure.IoT Build 0:6ae2f7bca550 13458 ACCEPTED_INSTANCE* accepted_instance = (ACCEPTED_INSTANCE*)accepted;
Azure.IoT Build 0:6ae2f7bca550 13459 amqpvalue_destroy(accepted_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 13460 amqpalloc_free(accepted_instance);
Azure.IoT Build 0:6ae2f7bca550 13461 }
Azure.IoT Build 0:6ae2f7bca550 13462 }
Azure.IoT Build 0:6ae2f7bca550 13463
Azure.IoT Build 0:6ae2f7bca550 13464 AMQP_VALUE amqpvalue_create_accepted(ACCEPTED_HANDLE accepted)
Azure.IoT Build 0:6ae2f7bca550 13465 {
Azure.IoT Build 0:6ae2f7bca550 13466 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 13467
Azure.IoT Build 0:6ae2f7bca550 13468 if (accepted == NULL)
Azure.IoT Build 0:6ae2f7bca550 13469 {
Azure.IoT Build 0:6ae2f7bca550 13470 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 13471 }
Azure.IoT Build 0:6ae2f7bca550 13472 else
Azure.IoT Build 0:6ae2f7bca550 13473 {
Azure.IoT Build 0:6ae2f7bca550 13474 ACCEPTED_INSTANCE* accepted_instance = (ACCEPTED_INSTANCE*)accepted;
Azure.IoT Build 0:6ae2f7bca550 13475 result = amqpvalue_clone(accepted_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 13476 }
Azure.IoT Build 0:6ae2f7bca550 13477
Azure.IoT Build 0:6ae2f7bca550 13478 return result;
Azure.IoT Build 0:6ae2f7bca550 13479 }
Azure.IoT Build 0:6ae2f7bca550 13480
Azure.IoT Build 0:6ae2f7bca550 13481 bool is_accepted_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 13482 {
Azure.IoT Build 0:6ae2f7bca550 13483 bool result;
Azure.IoT Build 0:6ae2f7bca550 13484
Azure.IoT Build 0:6ae2f7bca550 13485 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 13486 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 13487 (descriptor_ulong == 36))
Azure.IoT Build 0:6ae2f7bca550 13488 {
Azure.IoT Build 0:6ae2f7bca550 13489 result = true;
Azure.IoT Build 0:6ae2f7bca550 13490 }
Azure.IoT Build 0:6ae2f7bca550 13491 else
Azure.IoT Build 0:6ae2f7bca550 13492 {
Azure.IoT Build 0:6ae2f7bca550 13493 result = false;
Azure.IoT Build 0:6ae2f7bca550 13494 }
Azure.IoT Build 0:6ae2f7bca550 13495
Azure.IoT Build 0:6ae2f7bca550 13496 return result;
Azure.IoT Build 0:6ae2f7bca550 13497 }
Azure.IoT Build 0:6ae2f7bca550 13498
Azure.IoT Build 0:6ae2f7bca550 13499
Azure.IoT Build 0:6ae2f7bca550 13500 int amqpvalue_get_accepted(AMQP_VALUE value, ACCEPTED_HANDLE* accepted_handle)
Azure.IoT Build 0:6ae2f7bca550 13501 {
Azure.IoT Build 0:6ae2f7bca550 13502 int result;
Azure.IoT Build 0:6ae2f7bca550 13503 ACCEPTED_INSTANCE* accepted_instance = (ACCEPTED_INSTANCE*)accepted_create_internal();
Azure.IoT Build 0:6ae2f7bca550 13504 *accepted_handle = accepted_instance;
Azure.IoT Build 0:6ae2f7bca550 13505 if (*accepted_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 13506 {
AzureIoTClient 19:000ab4e6a2c1 13507 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13508 }
Azure.IoT Build 0:6ae2f7bca550 13509 else
Azure.IoT Build 0:6ae2f7bca550 13510 {
Azure.IoT Build 0:6ae2f7bca550 13511 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 13512 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13513 {
Azure.IoT Build 0:6ae2f7bca550 13514 accepted_destroy(*accepted_handle);
AzureIoTClient 19:000ab4e6a2c1 13515 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13516 }
Azure.IoT Build 0:6ae2f7bca550 13517 else
Azure.IoT Build 0:6ae2f7bca550 13518 {
Azure.IoT Build 0:6ae2f7bca550 13519 do
Azure.IoT Build 0:6ae2f7bca550 13520 {
Azure.IoT Build 0:6ae2f7bca550 13521
Azure.IoT Build 0:6ae2f7bca550 13522 accepted_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 13523
Azure.IoT Build 0:6ae2f7bca550 13524 result = 0;
Azure.IoT Build 0:6ae2f7bca550 13525 } while (0);
Azure.IoT Build 0:6ae2f7bca550 13526 }
Azure.IoT Build 0:6ae2f7bca550 13527 }
Azure.IoT Build 0:6ae2f7bca550 13528
Azure.IoT Build 0:6ae2f7bca550 13529 return result;
Azure.IoT Build 0:6ae2f7bca550 13530 }
Azure.IoT Build 0:6ae2f7bca550 13531
Azure.IoT Build 0:6ae2f7bca550 13532
Azure.IoT Build 0:6ae2f7bca550 13533 /* rejected */
Azure.IoT Build 0:6ae2f7bca550 13534
Azure.IoT Build 0:6ae2f7bca550 13535 typedef struct REJECTED_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 13536 {
Azure.IoT Build 0:6ae2f7bca550 13537 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 13538 } REJECTED_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 13539
Azure.IoT Build 0:6ae2f7bca550 13540 static REJECTED_HANDLE rejected_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 13541 {
Azure.IoT Build 0:6ae2f7bca550 13542 REJECTED_INSTANCE* rejected_instance = (REJECTED_INSTANCE*)amqpalloc_malloc(sizeof(REJECTED_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 13543 if (rejected_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 13544 {
Azure.IoT Build 0:6ae2f7bca550 13545 rejected_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 13546 }
Azure.IoT Build 0:6ae2f7bca550 13547
Azure.IoT Build 0:6ae2f7bca550 13548 return rejected_instance;
Azure.IoT Build 0:6ae2f7bca550 13549 }
Azure.IoT Build 0:6ae2f7bca550 13550
Azure.IoT Build 0:6ae2f7bca550 13551 REJECTED_HANDLE rejected_create(void)
Azure.IoT Build 0:6ae2f7bca550 13552 {
Azure.IoT Build 0:6ae2f7bca550 13553 REJECTED_INSTANCE* rejected_instance = (REJECTED_INSTANCE*)amqpalloc_malloc(sizeof(REJECTED_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 13554 if (rejected_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 13555 {
Azure.IoT Build 0:6ae2f7bca550 13556 rejected_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(37);
Azure.IoT Build 0:6ae2f7bca550 13557 if (rejected_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13558 {
Azure.IoT Build 0:6ae2f7bca550 13559 amqpalloc_free(rejected_instance);
Azure.IoT Build 0:6ae2f7bca550 13560 rejected_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 13561 }
Azure.IoT Build 0:6ae2f7bca550 13562 }
Azure.IoT Build 0:6ae2f7bca550 13563
Azure.IoT Build 0:6ae2f7bca550 13564 return rejected_instance;
Azure.IoT Build 0:6ae2f7bca550 13565 }
Azure.IoT Build 0:6ae2f7bca550 13566
Azure.IoT Build 0:6ae2f7bca550 13567 REJECTED_HANDLE rejected_clone(REJECTED_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 13568 {
Azure.IoT Build 0:6ae2f7bca550 13569 REJECTED_INSTANCE* rejected_instance = (REJECTED_INSTANCE*)amqpalloc_malloc(sizeof(REJECTED_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 13570 if (rejected_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 13571 {
Azure.IoT Build 0:6ae2f7bca550 13572 rejected_instance->composite_value = amqpvalue_clone(((REJECTED_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 13573 if (rejected_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13574 {
Azure.IoT Build 0:6ae2f7bca550 13575 amqpalloc_free(rejected_instance);
Azure.IoT Build 0:6ae2f7bca550 13576 rejected_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 13577 }
Azure.IoT Build 0:6ae2f7bca550 13578 }
Azure.IoT Build 0:6ae2f7bca550 13579
Azure.IoT Build 0:6ae2f7bca550 13580 return rejected_instance;
Azure.IoT Build 0:6ae2f7bca550 13581 }
Azure.IoT Build 0:6ae2f7bca550 13582
Azure.IoT Build 0:6ae2f7bca550 13583 void rejected_destroy(REJECTED_HANDLE rejected)
Azure.IoT Build 0:6ae2f7bca550 13584 {
Azure.IoT Build 0:6ae2f7bca550 13585 if (rejected != NULL)
Azure.IoT Build 0:6ae2f7bca550 13586 {
Azure.IoT Build 0:6ae2f7bca550 13587 REJECTED_INSTANCE* rejected_instance = (REJECTED_INSTANCE*)rejected;
Azure.IoT Build 0:6ae2f7bca550 13588 amqpvalue_destroy(rejected_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 13589 amqpalloc_free(rejected_instance);
Azure.IoT Build 0:6ae2f7bca550 13590 }
Azure.IoT Build 0:6ae2f7bca550 13591 }
Azure.IoT Build 0:6ae2f7bca550 13592
Azure.IoT Build 0:6ae2f7bca550 13593 AMQP_VALUE amqpvalue_create_rejected(REJECTED_HANDLE rejected)
Azure.IoT Build 0:6ae2f7bca550 13594 {
Azure.IoT Build 0:6ae2f7bca550 13595 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 13596
Azure.IoT Build 0:6ae2f7bca550 13597 if (rejected == NULL)
Azure.IoT Build 0:6ae2f7bca550 13598 {
Azure.IoT Build 0:6ae2f7bca550 13599 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 13600 }
Azure.IoT Build 0:6ae2f7bca550 13601 else
Azure.IoT Build 0:6ae2f7bca550 13602 {
Azure.IoT Build 0:6ae2f7bca550 13603 REJECTED_INSTANCE* rejected_instance = (REJECTED_INSTANCE*)rejected;
Azure.IoT Build 0:6ae2f7bca550 13604 result = amqpvalue_clone(rejected_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 13605 }
Azure.IoT Build 0:6ae2f7bca550 13606
Azure.IoT Build 0:6ae2f7bca550 13607 return result;
Azure.IoT Build 0:6ae2f7bca550 13608 }
Azure.IoT Build 0:6ae2f7bca550 13609
Azure.IoT Build 0:6ae2f7bca550 13610 bool is_rejected_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 13611 {
Azure.IoT Build 0:6ae2f7bca550 13612 bool result;
Azure.IoT Build 0:6ae2f7bca550 13613
Azure.IoT Build 0:6ae2f7bca550 13614 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 13615 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 13616 (descriptor_ulong == 37))
Azure.IoT Build 0:6ae2f7bca550 13617 {
Azure.IoT Build 0:6ae2f7bca550 13618 result = true;
Azure.IoT Build 0:6ae2f7bca550 13619 }
Azure.IoT Build 0:6ae2f7bca550 13620 else
Azure.IoT Build 0:6ae2f7bca550 13621 {
Azure.IoT Build 0:6ae2f7bca550 13622 result = false;
Azure.IoT Build 0:6ae2f7bca550 13623 }
Azure.IoT Build 0:6ae2f7bca550 13624
Azure.IoT Build 0:6ae2f7bca550 13625 return result;
Azure.IoT Build 0:6ae2f7bca550 13626 }
Azure.IoT Build 0:6ae2f7bca550 13627
Azure.IoT Build 0:6ae2f7bca550 13628
Azure.IoT Build 0:6ae2f7bca550 13629 int amqpvalue_get_rejected(AMQP_VALUE value, REJECTED_HANDLE* rejected_handle)
Azure.IoT Build 0:6ae2f7bca550 13630 {
Azure.IoT Build 0:6ae2f7bca550 13631 int result;
Azure.IoT Build 0:6ae2f7bca550 13632 REJECTED_INSTANCE* rejected_instance = (REJECTED_INSTANCE*)rejected_create_internal();
Azure.IoT Build 0:6ae2f7bca550 13633 *rejected_handle = rejected_instance;
Azure.IoT Build 0:6ae2f7bca550 13634 if (*rejected_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 13635 {
AzureIoTClient 19:000ab4e6a2c1 13636 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13637 }
Azure.IoT Build 0:6ae2f7bca550 13638 else
Azure.IoT Build 0:6ae2f7bca550 13639 {
Azure.IoT Build 0:6ae2f7bca550 13640 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 13641 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13642 {
Azure.IoT Build 0:6ae2f7bca550 13643 rejected_destroy(*rejected_handle);
AzureIoTClient 19:000ab4e6a2c1 13644 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13645 }
Azure.IoT Build 0:6ae2f7bca550 13646 else
Azure.IoT Build 0:6ae2f7bca550 13647 {
Azure.IoT Build 0:6ae2f7bca550 13648 do
Azure.IoT Build 0:6ae2f7bca550 13649 {
Azure.IoT Build 0:6ae2f7bca550 13650 AMQP_VALUE item_value;
Azure.IoT Build 0:6ae2f7bca550 13651 /* error */
Azure.IoT Build 0:6ae2f7bca550 13652 item_value = amqpvalue_get_list_item(list_value, 0);
Azure.IoT Build 0:6ae2f7bca550 13653 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13654 {
Azure.IoT Build 0:6ae2f7bca550 13655 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 13656 }
Azure.IoT Build 0:6ae2f7bca550 13657 else
Azure.IoT Build 0:6ae2f7bca550 13658 {
Azure.IoT Build 0:6ae2f7bca550 13659 ERROR_HANDLE error;
Azure.IoT Build 0:6ae2f7bca550 13660 if (amqpvalue_get_error(item_value, &error) != 0)
Azure.IoT Build 0:6ae2f7bca550 13661 {
Azure.IoT Build 0:6ae2f7bca550 13662 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 13663 {
Azure.IoT Build 0:6ae2f7bca550 13664 rejected_destroy(*rejected_handle);
AzureIoTClient 19:000ab4e6a2c1 13665 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13666 break;
Azure.IoT Build 0:6ae2f7bca550 13667 }
Azure.IoT Build 0:6ae2f7bca550 13668 }
Azure.IoT Build 0:6ae2f7bca550 13669
Azure.IoT Build 0:6ae2f7bca550 13670 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 13671 }
Azure.IoT Build 0:6ae2f7bca550 13672
Azure.IoT Build 0:6ae2f7bca550 13673 rejected_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 13674
Azure.IoT Build 0:6ae2f7bca550 13675 result = 0;
Azure.IoT Build 0:6ae2f7bca550 13676 } while (0);
Azure.IoT Build 0:6ae2f7bca550 13677 }
Azure.IoT Build 0:6ae2f7bca550 13678 }
Azure.IoT Build 0:6ae2f7bca550 13679
Azure.IoT Build 0:6ae2f7bca550 13680 return result;
Azure.IoT Build 0:6ae2f7bca550 13681 }
Azure.IoT Build 0:6ae2f7bca550 13682
Azure.IoT Build 0:6ae2f7bca550 13683 int rejected_get_error(REJECTED_HANDLE rejected, ERROR_HANDLE* error_value)
Azure.IoT Build 0:6ae2f7bca550 13684 {
Azure.IoT Build 0:6ae2f7bca550 13685 int result;
Azure.IoT Build 0:6ae2f7bca550 13686
Azure.IoT Build 0:6ae2f7bca550 13687 if (rejected == NULL)
Azure.IoT Build 0:6ae2f7bca550 13688 {
AzureIoTClient 19:000ab4e6a2c1 13689 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13690 }
Azure.IoT Build 0:6ae2f7bca550 13691 else
Azure.IoT Build 0:6ae2f7bca550 13692 {
Azure.IoT Build 0:6ae2f7bca550 13693 REJECTED_INSTANCE* rejected_instance = (REJECTED_INSTANCE*)rejected;
Azure.IoT Build 0:6ae2f7bca550 13694 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(rejected_instance->composite_value, 0);
Azure.IoT Build 0:6ae2f7bca550 13695 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13696 {
AzureIoTClient 19:000ab4e6a2c1 13697 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13698 }
Azure.IoT Build 0:6ae2f7bca550 13699 else
Azure.IoT Build 0:6ae2f7bca550 13700 {
Azure.IoT Build 0:6ae2f7bca550 13701 if (amqpvalue_get_error(item_value, error_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 13702 {
AzureIoTClient 19:000ab4e6a2c1 13703 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13704 }
Azure.IoT Build 0:6ae2f7bca550 13705 else
Azure.IoT Build 0:6ae2f7bca550 13706 {
Azure.IoT Build 0:6ae2f7bca550 13707 result = 0;
Azure.IoT Build 0:6ae2f7bca550 13708 }
Azure.IoT Build 0:6ae2f7bca550 13709 }
Azure.IoT Build 0:6ae2f7bca550 13710 }
Azure.IoT Build 0:6ae2f7bca550 13711
Azure.IoT Build 0:6ae2f7bca550 13712 return result;
Azure.IoT Build 0:6ae2f7bca550 13713 }
Azure.IoT Build 0:6ae2f7bca550 13714
Azure.IoT Build 0:6ae2f7bca550 13715 int rejected_set_error(REJECTED_HANDLE rejected, ERROR_HANDLE error_value)
Azure.IoT Build 0:6ae2f7bca550 13716 {
Azure.IoT Build 0:6ae2f7bca550 13717 int result;
Azure.IoT Build 0:6ae2f7bca550 13718
Azure.IoT Build 0:6ae2f7bca550 13719 if (rejected == NULL)
Azure.IoT Build 0:6ae2f7bca550 13720 {
AzureIoTClient 19:000ab4e6a2c1 13721 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13722 }
Azure.IoT Build 0:6ae2f7bca550 13723 else
Azure.IoT Build 0:6ae2f7bca550 13724 {
Azure.IoT Build 0:6ae2f7bca550 13725 REJECTED_INSTANCE* rejected_instance = (REJECTED_INSTANCE*)rejected;
Azure.IoT Build 0:6ae2f7bca550 13726 AMQP_VALUE error_amqp_value = amqpvalue_create_error(error_value);
Azure.IoT Build 0:6ae2f7bca550 13727 if (error_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13728 {
AzureIoTClient 19:000ab4e6a2c1 13729 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13730 }
Azure.IoT Build 0:6ae2f7bca550 13731 else
Azure.IoT Build 0:6ae2f7bca550 13732 {
Azure.IoT Build 0:6ae2f7bca550 13733 if (amqpvalue_set_composite_item(rejected_instance->composite_value, 0, error_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 13734 {
AzureIoTClient 19:000ab4e6a2c1 13735 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13736 }
Azure.IoT Build 0:6ae2f7bca550 13737 else
Azure.IoT Build 0:6ae2f7bca550 13738 {
Azure.IoT Build 0:6ae2f7bca550 13739 result = 0;
Azure.IoT Build 0:6ae2f7bca550 13740 }
Azure.IoT Build 0:6ae2f7bca550 13741
Azure.IoT Build 0:6ae2f7bca550 13742 amqpvalue_destroy(error_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 13743 }
Azure.IoT Build 0:6ae2f7bca550 13744 }
Azure.IoT Build 0:6ae2f7bca550 13745
Azure.IoT Build 0:6ae2f7bca550 13746 return result;
Azure.IoT Build 0:6ae2f7bca550 13747 }
Azure.IoT Build 0:6ae2f7bca550 13748
Azure.IoT Build 0:6ae2f7bca550 13749
Azure.IoT Build 0:6ae2f7bca550 13750 /* released */
Azure.IoT Build 0:6ae2f7bca550 13751
Azure.IoT Build 0:6ae2f7bca550 13752 typedef struct RELEASED_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 13753 {
Azure.IoT Build 0:6ae2f7bca550 13754 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 13755 } RELEASED_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 13756
Azure.IoT Build 0:6ae2f7bca550 13757 static RELEASED_HANDLE released_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 13758 {
Azure.IoT Build 0:6ae2f7bca550 13759 RELEASED_INSTANCE* released_instance = (RELEASED_INSTANCE*)amqpalloc_malloc(sizeof(RELEASED_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 13760 if (released_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 13761 {
Azure.IoT Build 0:6ae2f7bca550 13762 released_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 13763 }
Azure.IoT Build 0:6ae2f7bca550 13764
Azure.IoT Build 0:6ae2f7bca550 13765 return released_instance;
Azure.IoT Build 0:6ae2f7bca550 13766 }
Azure.IoT Build 0:6ae2f7bca550 13767
Azure.IoT Build 0:6ae2f7bca550 13768 RELEASED_HANDLE released_create(void)
Azure.IoT Build 0:6ae2f7bca550 13769 {
Azure.IoT Build 0:6ae2f7bca550 13770 RELEASED_INSTANCE* released_instance = (RELEASED_INSTANCE*)amqpalloc_malloc(sizeof(RELEASED_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 13771 if (released_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 13772 {
Azure.IoT Build 0:6ae2f7bca550 13773 released_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(38);
Azure.IoT Build 0:6ae2f7bca550 13774 if (released_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13775 {
Azure.IoT Build 0:6ae2f7bca550 13776 amqpalloc_free(released_instance);
Azure.IoT Build 0:6ae2f7bca550 13777 released_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 13778 }
Azure.IoT Build 0:6ae2f7bca550 13779 }
Azure.IoT Build 0:6ae2f7bca550 13780
Azure.IoT Build 0:6ae2f7bca550 13781 return released_instance;
Azure.IoT Build 0:6ae2f7bca550 13782 }
Azure.IoT Build 0:6ae2f7bca550 13783
Azure.IoT Build 0:6ae2f7bca550 13784 RELEASED_HANDLE released_clone(RELEASED_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 13785 {
Azure.IoT Build 0:6ae2f7bca550 13786 RELEASED_INSTANCE* released_instance = (RELEASED_INSTANCE*)amqpalloc_malloc(sizeof(RELEASED_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 13787 if (released_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 13788 {
Azure.IoT Build 0:6ae2f7bca550 13789 released_instance->composite_value = amqpvalue_clone(((RELEASED_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 13790 if (released_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13791 {
Azure.IoT Build 0:6ae2f7bca550 13792 amqpalloc_free(released_instance);
Azure.IoT Build 0:6ae2f7bca550 13793 released_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 13794 }
Azure.IoT Build 0:6ae2f7bca550 13795 }
Azure.IoT Build 0:6ae2f7bca550 13796
Azure.IoT Build 0:6ae2f7bca550 13797 return released_instance;
Azure.IoT Build 0:6ae2f7bca550 13798 }
Azure.IoT Build 0:6ae2f7bca550 13799
Azure.IoT Build 0:6ae2f7bca550 13800 void released_destroy(RELEASED_HANDLE released)
Azure.IoT Build 0:6ae2f7bca550 13801 {
Azure.IoT Build 0:6ae2f7bca550 13802 if (released != NULL)
Azure.IoT Build 0:6ae2f7bca550 13803 {
Azure.IoT Build 0:6ae2f7bca550 13804 RELEASED_INSTANCE* released_instance = (RELEASED_INSTANCE*)released;
Azure.IoT Build 0:6ae2f7bca550 13805 amqpvalue_destroy(released_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 13806 amqpalloc_free(released_instance);
Azure.IoT Build 0:6ae2f7bca550 13807 }
Azure.IoT Build 0:6ae2f7bca550 13808 }
Azure.IoT Build 0:6ae2f7bca550 13809
Azure.IoT Build 0:6ae2f7bca550 13810 AMQP_VALUE amqpvalue_create_released(RELEASED_HANDLE released)
Azure.IoT Build 0:6ae2f7bca550 13811 {
Azure.IoT Build 0:6ae2f7bca550 13812 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 13813
Azure.IoT Build 0:6ae2f7bca550 13814 if (released == NULL)
Azure.IoT Build 0:6ae2f7bca550 13815 {
Azure.IoT Build 0:6ae2f7bca550 13816 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 13817 }
Azure.IoT Build 0:6ae2f7bca550 13818 else
Azure.IoT Build 0:6ae2f7bca550 13819 {
Azure.IoT Build 0:6ae2f7bca550 13820 RELEASED_INSTANCE* released_instance = (RELEASED_INSTANCE*)released;
Azure.IoT Build 0:6ae2f7bca550 13821 result = amqpvalue_clone(released_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 13822 }
Azure.IoT Build 0:6ae2f7bca550 13823
Azure.IoT Build 0:6ae2f7bca550 13824 return result;
Azure.IoT Build 0:6ae2f7bca550 13825 }
Azure.IoT Build 0:6ae2f7bca550 13826
Azure.IoT Build 0:6ae2f7bca550 13827 bool is_released_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 13828 {
Azure.IoT Build 0:6ae2f7bca550 13829 bool result;
Azure.IoT Build 0:6ae2f7bca550 13830
Azure.IoT Build 0:6ae2f7bca550 13831 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 13832 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 13833 (descriptor_ulong == 38))
Azure.IoT Build 0:6ae2f7bca550 13834 {
Azure.IoT Build 0:6ae2f7bca550 13835 result = true;
Azure.IoT Build 0:6ae2f7bca550 13836 }
Azure.IoT Build 0:6ae2f7bca550 13837 else
Azure.IoT Build 0:6ae2f7bca550 13838 {
Azure.IoT Build 0:6ae2f7bca550 13839 result = false;
Azure.IoT Build 0:6ae2f7bca550 13840 }
Azure.IoT Build 0:6ae2f7bca550 13841
Azure.IoT Build 0:6ae2f7bca550 13842 return result;
Azure.IoT Build 0:6ae2f7bca550 13843 }
Azure.IoT Build 0:6ae2f7bca550 13844
Azure.IoT Build 0:6ae2f7bca550 13845
Azure.IoT Build 0:6ae2f7bca550 13846 int amqpvalue_get_released(AMQP_VALUE value, RELEASED_HANDLE* released_handle)
Azure.IoT Build 0:6ae2f7bca550 13847 {
Azure.IoT Build 0:6ae2f7bca550 13848 int result;
Azure.IoT Build 0:6ae2f7bca550 13849 RELEASED_INSTANCE* released_instance = (RELEASED_INSTANCE*)released_create_internal();
Azure.IoT Build 0:6ae2f7bca550 13850 *released_handle = released_instance;
Azure.IoT Build 0:6ae2f7bca550 13851 if (*released_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 13852 {
AzureIoTClient 19:000ab4e6a2c1 13853 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13854 }
Azure.IoT Build 0:6ae2f7bca550 13855 else
Azure.IoT Build 0:6ae2f7bca550 13856 {
Azure.IoT Build 0:6ae2f7bca550 13857 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 13858 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13859 {
Azure.IoT Build 0:6ae2f7bca550 13860 released_destroy(*released_handle);
AzureIoTClient 19:000ab4e6a2c1 13861 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13862 }
Azure.IoT Build 0:6ae2f7bca550 13863 else
Azure.IoT Build 0:6ae2f7bca550 13864 {
Azure.IoT Build 0:6ae2f7bca550 13865 do
Azure.IoT Build 0:6ae2f7bca550 13866 {
Azure.IoT Build 0:6ae2f7bca550 13867
Azure.IoT Build 0:6ae2f7bca550 13868 released_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 13869
Azure.IoT Build 0:6ae2f7bca550 13870 result = 0;
Azure.IoT Build 0:6ae2f7bca550 13871 } while (0);
Azure.IoT Build 0:6ae2f7bca550 13872 }
Azure.IoT Build 0:6ae2f7bca550 13873 }
Azure.IoT Build 0:6ae2f7bca550 13874
Azure.IoT Build 0:6ae2f7bca550 13875 return result;
Azure.IoT Build 0:6ae2f7bca550 13876 }
Azure.IoT Build 0:6ae2f7bca550 13877
Azure.IoT Build 0:6ae2f7bca550 13878
Azure.IoT Build 0:6ae2f7bca550 13879 /* modified */
Azure.IoT Build 0:6ae2f7bca550 13880
Azure.IoT Build 0:6ae2f7bca550 13881 typedef struct MODIFIED_INSTANCE_TAG
Azure.IoT Build 0:6ae2f7bca550 13882 {
Azure.IoT Build 0:6ae2f7bca550 13883 AMQP_VALUE composite_value;
Azure.IoT Build 0:6ae2f7bca550 13884 } MODIFIED_INSTANCE;
Azure.IoT Build 0:6ae2f7bca550 13885
Azure.IoT Build 0:6ae2f7bca550 13886 static MODIFIED_HANDLE modified_create_internal(void)
Azure.IoT Build 0:6ae2f7bca550 13887 {
Azure.IoT Build 0:6ae2f7bca550 13888 MODIFIED_INSTANCE* modified_instance = (MODIFIED_INSTANCE*)amqpalloc_malloc(sizeof(MODIFIED_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 13889 if (modified_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 13890 {
Azure.IoT Build 0:6ae2f7bca550 13891 modified_instance->composite_value = NULL;
Azure.IoT Build 0:6ae2f7bca550 13892 }
Azure.IoT Build 0:6ae2f7bca550 13893
Azure.IoT Build 0:6ae2f7bca550 13894 return modified_instance;
Azure.IoT Build 0:6ae2f7bca550 13895 }
Azure.IoT Build 0:6ae2f7bca550 13896
Azure.IoT Build 0:6ae2f7bca550 13897 MODIFIED_HANDLE modified_create(void)
Azure.IoT Build 0:6ae2f7bca550 13898 {
Azure.IoT Build 0:6ae2f7bca550 13899 MODIFIED_INSTANCE* modified_instance = (MODIFIED_INSTANCE*)amqpalloc_malloc(sizeof(MODIFIED_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 13900 if (modified_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 13901 {
Azure.IoT Build 0:6ae2f7bca550 13902 modified_instance->composite_value = amqpvalue_create_composite_with_ulong_descriptor(39);
Azure.IoT Build 0:6ae2f7bca550 13903 if (modified_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13904 {
Azure.IoT Build 0:6ae2f7bca550 13905 amqpalloc_free(modified_instance);
Azure.IoT Build 0:6ae2f7bca550 13906 modified_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 13907 }
Azure.IoT Build 0:6ae2f7bca550 13908 }
Azure.IoT Build 0:6ae2f7bca550 13909
Azure.IoT Build 0:6ae2f7bca550 13910 return modified_instance;
Azure.IoT Build 0:6ae2f7bca550 13911 }
Azure.IoT Build 0:6ae2f7bca550 13912
Azure.IoT Build 0:6ae2f7bca550 13913 MODIFIED_HANDLE modified_clone(MODIFIED_HANDLE value)
Azure.IoT Build 0:6ae2f7bca550 13914 {
Azure.IoT Build 0:6ae2f7bca550 13915 MODIFIED_INSTANCE* modified_instance = (MODIFIED_INSTANCE*)amqpalloc_malloc(sizeof(MODIFIED_INSTANCE));
Azure.IoT Build 0:6ae2f7bca550 13916 if (modified_instance != NULL)
Azure.IoT Build 0:6ae2f7bca550 13917 {
Azure.IoT Build 0:6ae2f7bca550 13918 modified_instance->composite_value = amqpvalue_clone(((MODIFIED_INSTANCE*)value)->composite_value);
Azure.IoT Build 0:6ae2f7bca550 13919 if (modified_instance->composite_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13920 {
Azure.IoT Build 0:6ae2f7bca550 13921 amqpalloc_free(modified_instance);
Azure.IoT Build 0:6ae2f7bca550 13922 modified_instance = NULL;
Azure.IoT Build 0:6ae2f7bca550 13923 }
Azure.IoT Build 0:6ae2f7bca550 13924 }
Azure.IoT Build 0:6ae2f7bca550 13925
Azure.IoT Build 0:6ae2f7bca550 13926 return modified_instance;
Azure.IoT Build 0:6ae2f7bca550 13927 }
Azure.IoT Build 0:6ae2f7bca550 13928
Azure.IoT Build 0:6ae2f7bca550 13929 void modified_destroy(MODIFIED_HANDLE modified)
Azure.IoT Build 0:6ae2f7bca550 13930 {
Azure.IoT Build 0:6ae2f7bca550 13931 if (modified != NULL)
Azure.IoT Build 0:6ae2f7bca550 13932 {
Azure.IoT Build 0:6ae2f7bca550 13933 MODIFIED_INSTANCE* modified_instance = (MODIFIED_INSTANCE*)modified;
Azure.IoT Build 0:6ae2f7bca550 13934 amqpvalue_destroy(modified_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 13935 amqpalloc_free(modified_instance);
Azure.IoT Build 0:6ae2f7bca550 13936 }
Azure.IoT Build 0:6ae2f7bca550 13937 }
Azure.IoT Build 0:6ae2f7bca550 13938
Azure.IoT Build 0:6ae2f7bca550 13939 AMQP_VALUE amqpvalue_create_modified(MODIFIED_HANDLE modified)
Azure.IoT Build 0:6ae2f7bca550 13940 {
Azure.IoT Build 0:6ae2f7bca550 13941 AMQP_VALUE result;
Azure.IoT Build 0:6ae2f7bca550 13942
Azure.IoT Build 0:6ae2f7bca550 13943 if (modified == NULL)
Azure.IoT Build 0:6ae2f7bca550 13944 {
Azure.IoT Build 0:6ae2f7bca550 13945 result = NULL;
Azure.IoT Build 0:6ae2f7bca550 13946 }
Azure.IoT Build 0:6ae2f7bca550 13947 else
Azure.IoT Build 0:6ae2f7bca550 13948 {
Azure.IoT Build 0:6ae2f7bca550 13949 MODIFIED_INSTANCE* modified_instance = (MODIFIED_INSTANCE*)modified;
Azure.IoT Build 0:6ae2f7bca550 13950 result = amqpvalue_clone(modified_instance->composite_value);
Azure.IoT Build 0:6ae2f7bca550 13951 }
Azure.IoT Build 0:6ae2f7bca550 13952
Azure.IoT Build 0:6ae2f7bca550 13953 return result;
Azure.IoT Build 0:6ae2f7bca550 13954 }
Azure.IoT Build 0:6ae2f7bca550 13955
Azure.IoT Build 0:6ae2f7bca550 13956 bool is_modified_type_by_descriptor(AMQP_VALUE descriptor)
Azure.IoT Build 0:6ae2f7bca550 13957 {
Azure.IoT Build 0:6ae2f7bca550 13958 bool result;
Azure.IoT Build 0:6ae2f7bca550 13959
Azure.IoT Build 0:6ae2f7bca550 13960 uint64_t descriptor_ulong;
Azure.IoT Build 0:6ae2f7bca550 13961 if ((amqpvalue_get_ulong(descriptor, &descriptor_ulong) == 0) &&
Azure.IoT Build 0:6ae2f7bca550 13962 (descriptor_ulong == 39))
Azure.IoT Build 0:6ae2f7bca550 13963 {
Azure.IoT Build 0:6ae2f7bca550 13964 result = true;
Azure.IoT Build 0:6ae2f7bca550 13965 }
Azure.IoT Build 0:6ae2f7bca550 13966 else
Azure.IoT Build 0:6ae2f7bca550 13967 {
Azure.IoT Build 0:6ae2f7bca550 13968 result = false;
Azure.IoT Build 0:6ae2f7bca550 13969 }
Azure.IoT Build 0:6ae2f7bca550 13970
Azure.IoT Build 0:6ae2f7bca550 13971 return result;
Azure.IoT Build 0:6ae2f7bca550 13972 }
Azure.IoT Build 0:6ae2f7bca550 13973
Azure.IoT Build 0:6ae2f7bca550 13974
Azure.IoT Build 0:6ae2f7bca550 13975 int amqpvalue_get_modified(AMQP_VALUE value, MODIFIED_HANDLE* modified_handle)
Azure.IoT Build 0:6ae2f7bca550 13976 {
Azure.IoT Build 0:6ae2f7bca550 13977 int result;
Azure.IoT Build 0:6ae2f7bca550 13978 MODIFIED_INSTANCE* modified_instance = (MODIFIED_INSTANCE*)modified_create_internal();
Azure.IoT Build 0:6ae2f7bca550 13979 *modified_handle = modified_instance;
Azure.IoT Build 0:6ae2f7bca550 13980 if (*modified_handle == NULL)
Azure.IoT Build 0:6ae2f7bca550 13981 {
AzureIoTClient 19:000ab4e6a2c1 13982 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13983 }
Azure.IoT Build 0:6ae2f7bca550 13984 else
Azure.IoT Build 0:6ae2f7bca550 13985 {
Azure.IoT Build 0:6ae2f7bca550 13986 AMQP_VALUE list_value = amqpvalue_get_inplace_described_value(value);
Azure.IoT Build 0:6ae2f7bca550 13987 if (list_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 13988 {
Azure.IoT Build 0:6ae2f7bca550 13989 modified_destroy(*modified_handle);
AzureIoTClient 19:000ab4e6a2c1 13990 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 13991 }
Azure.IoT Build 0:6ae2f7bca550 13992 else
Azure.IoT Build 0:6ae2f7bca550 13993 {
Azure.IoT Build 0:6ae2f7bca550 13994 do
Azure.IoT Build 0:6ae2f7bca550 13995 {
Azure.IoT Build 0:6ae2f7bca550 13996 AMQP_VALUE item_value;
Azure.IoT Build 0:6ae2f7bca550 13997 /* delivery-failed */
Azure.IoT Build 0:6ae2f7bca550 13998 item_value = amqpvalue_get_list_item(list_value, 0);
Azure.IoT Build 0:6ae2f7bca550 13999 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 14000 {
Azure.IoT Build 0:6ae2f7bca550 14001 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 14002 }
Azure.IoT Build 0:6ae2f7bca550 14003 else
Azure.IoT Build 0:6ae2f7bca550 14004 {
Azure.IoT Build 0:6ae2f7bca550 14005 bool delivery_failed;
Azure.IoT Build 0:6ae2f7bca550 14006 if (amqpvalue_get_boolean(item_value, &delivery_failed) != 0)
Azure.IoT Build 0:6ae2f7bca550 14007 {
Azure.IoT Build 0:6ae2f7bca550 14008 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 14009 {
Azure.IoT Build 0:6ae2f7bca550 14010 modified_destroy(*modified_handle);
AzureIoTClient 19:000ab4e6a2c1 14011 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 14012 break;
Azure.IoT Build 0:6ae2f7bca550 14013 }
Azure.IoT Build 0:6ae2f7bca550 14014 }
Azure.IoT Build 0:6ae2f7bca550 14015
Azure.IoT Build 0:6ae2f7bca550 14016 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 14017 }
Azure.IoT Build 0:6ae2f7bca550 14018 /* undeliverable-here */
Azure.IoT Build 0:6ae2f7bca550 14019 item_value = amqpvalue_get_list_item(list_value, 1);
Azure.IoT Build 0:6ae2f7bca550 14020 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 14021 {
Azure.IoT Build 0:6ae2f7bca550 14022 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 14023 }
Azure.IoT Build 0:6ae2f7bca550 14024 else
Azure.IoT Build 0:6ae2f7bca550 14025 {
Azure.IoT Build 0:6ae2f7bca550 14026 bool undeliverable_here;
Azure.IoT Build 0:6ae2f7bca550 14027 if (amqpvalue_get_boolean(item_value, &undeliverable_here) != 0)
Azure.IoT Build 0:6ae2f7bca550 14028 {
Azure.IoT Build 0:6ae2f7bca550 14029 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 14030 {
Azure.IoT Build 0:6ae2f7bca550 14031 modified_destroy(*modified_handle);
AzureIoTClient 19:000ab4e6a2c1 14032 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 14033 break;
Azure.IoT Build 0:6ae2f7bca550 14034 }
Azure.IoT Build 0:6ae2f7bca550 14035 }
Azure.IoT Build 0:6ae2f7bca550 14036
Azure.IoT Build 0:6ae2f7bca550 14037 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 14038 }
Azure.IoT Build 0:6ae2f7bca550 14039 /* message-annotations */
Azure.IoT Build 0:6ae2f7bca550 14040 item_value = amqpvalue_get_list_item(list_value, 2);
Azure.IoT Build 0:6ae2f7bca550 14041 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 14042 {
Azure.IoT Build 0:6ae2f7bca550 14043 /* do nothing */
Azure.IoT Build 0:6ae2f7bca550 14044 }
Azure.IoT Build 0:6ae2f7bca550 14045 else
Azure.IoT Build 0:6ae2f7bca550 14046 {
Azure.IoT Build 0:6ae2f7bca550 14047 fields message_annotations;
Azure.IoT Build 0:6ae2f7bca550 14048 if (amqpvalue_get_fields(item_value, &message_annotations) != 0)
Azure.IoT Build 0:6ae2f7bca550 14049 {
Azure.IoT Build 0:6ae2f7bca550 14050 if (amqpvalue_get_type(item_value) != AMQP_TYPE_NULL)
Azure.IoT Build 0:6ae2f7bca550 14051 {
Azure.IoT Build 0:6ae2f7bca550 14052 modified_destroy(*modified_handle);
AzureIoTClient 19:000ab4e6a2c1 14053 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 14054 break;
Azure.IoT Build 0:6ae2f7bca550 14055 }
Azure.IoT Build 0:6ae2f7bca550 14056 }
Azure.IoT Build 0:6ae2f7bca550 14057
Azure.IoT Build 0:6ae2f7bca550 14058 amqpvalue_destroy(item_value);
Azure.IoT Build 0:6ae2f7bca550 14059 }
Azure.IoT Build 0:6ae2f7bca550 14060
Azure.IoT Build 0:6ae2f7bca550 14061 modified_instance->composite_value = amqpvalue_clone(value);
Azure.IoT Build 0:6ae2f7bca550 14062
Azure.IoT Build 0:6ae2f7bca550 14063 result = 0;
Azure.IoT Build 0:6ae2f7bca550 14064 } while (0);
Azure.IoT Build 0:6ae2f7bca550 14065 }
Azure.IoT Build 0:6ae2f7bca550 14066 }
Azure.IoT Build 0:6ae2f7bca550 14067
Azure.IoT Build 0:6ae2f7bca550 14068 return result;
Azure.IoT Build 0:6ae2f7bca550 14069 }
Azure.IoT Build 0:6ae2f7bca550 14070
Azure.IoT Build 0:6ae2f7bca550 14071 int modified_get_delivery_failed(MODIFIED_HANDLE modified, bool* delivery_failed_value)
Azure.IoT Build 0:6ae2f7bca550 14072 {
Azure.IoT Build 0:6ae2f7bca550 14073 int result;
Azure.IoT Build 0:6ae2f7bca550 14074
Azure.IoT Build 0:6ae2f7bca550 14075 if (modified == NULL)
Azure.IoT Build 0:6ae2f7bca550 14076 {
AzureIoTClient 19:000ab4e6a2c1 14077 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 14078 }
Azure.IoT Build 0:6ae2f7bca550 14079 else
Azure.IoT Build 0:6ae2f7bca550 14080 {
Azure.IoT Build 0:6ae2f7bca550 14081 MODIFIED_INSTANCE* modified_instance = (MODIFIED_INSTANCE*)modified;
Azure.IoT Build 0:6ae2f7bca550 14082 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(modified_instance->composite_value, 0);
Azure.IoT Build 0:6ae2f7bca550 14083 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 14084 {
AzureIoTClient 19:000ab4e6a2c1 14085 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 14086 }
Azure.IoT Build 0:6ae2f7bca550 14087 else
Azure.IoT Build 0:6ae2f7bca550 14088 {
Azure.IoT Build 0:6ae2f7bca550 14089 if (amqpvalue_get_boolean(item_value, delivery_failed_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 14090 {
AzureIoTClient 19:000ab4e6a2c1 14091 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 14092 }
Azure.IoT Build 0:6ae2f7bca550 14093 else
Azure.IoT Build 0:6ae2f7bca550 14094 {
Azure.IoT Build 0:6ae2f7bca550 14095 result = 0;
Azure.IoT Build 0:6ae2f7bca550 14096 }
Azure.IoT Build 0:6ae2f7bca550 14097 }
Azure.IoT Build 0:6ae2f7bca550 14098 }
Azure.IoT Build 0:6ae2f7bca550 14099
Azure.IoT Build 0:6ae2f7bca550 14100 return result;
Azure.IoT Build 0:6ae2f7bca550 14101 }
Azure.IoT Build 0:6ae2f7bca550 14102
Azure.IoT Build 0:6ae2f7bca550 14103 int modified_set_delivery_failed(MODIFIED_HANDLE modified, bool delivery_failed_value)
Azure.IoT Build 0:6ae2f7bca550 14104 {
Azure.IoT Build 0:6ae2f7bca550 14105 int result;
Azure.IoT Build 0:6ae2f7bca550 14106
Azure.IoT Build 0:6ae2f7bca550 14107 if (modified == NULL)
Azure.IoT Build 0:6ae2f7bca550 14108 {
AzureIoTClient 19:000ab4e6a2c1 14109 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 14110 }
Azure.IoT Build 0:6ae2f7bca550 14111 else
Azure.IoT Build 0:6ae2f7bca550 14112 {
Azure.IoT Build 0:6ae2f7bca550 14113 MODIFIED_INSTANCE* modified_instance = (MODIFIED_INSTANCE*)modified;
Azure.IoT Build 0:6ae2f7bca550 14114 AMQP_VALUE delivery_failed_amqp_value = amqpvalue_create_boolean(delivery_failed_value);
Azure.IoT Build 0:6ae2f7bca550 14115 if (delivery_failed_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 14116 {
AzureIoTClient 19:000ab4e6a2c1 14117 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 14118 }
Azure.IoT Build 0:6ae2f7bca550 14119 else
Azure.IoT Build 0:6ae2f7bca550 14120 {
Azure.IoT Build 0:6ae2f7bca550 14121 if (amqpvalue_set_composite_item(modified_instance->composite_value, 0, delivery_failed_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 14122 {
AzureIoTClient 19:000ab4e6a2c1 14123 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 14124 }
Azure.IoT Build 0:6ae2f7bca550 14125 else
Azure.IoT Build 0:6ae2f7bca550 14126 {
Azure.IoT Build 0:6ae2f7bca550 14127 result = 0;
Azure.IoT Build 0:6ae2f7bca550 14128 }
Azure.IoT Build 0:6ae2f7bca550 14129
Azure.IoT Build 0:6ae2f7bca550 14130 amqpvalue_destroy(delivery_failed_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 14131 }
Azure.IoT Build 0:6ae2f7bca550 14132 }
Azure.IoT Build 0:6ae2f7bca550 14133
Azure.IoT Build 0:6ae2f7bca550 14134 return result;
Azure.IoT Build 0:6ae2f7bca550 14135 }
Azure.IoT Build 0:6ae2f7bca550 14136
Azure.IoT Build 0:6ae2f7bca550 14137 int modified_get_undeliverable_here(MODIFIED_HANDLE modified, bool* undeliverable_here_value)
Azure.IoT Build 0:6ae2f7bca550 14138 {
Azure.IoT Build 0:6ae2f7bca550 14139 int result;
Azure.IoT Build 0:6ae2f7bca550 14140
Azure.IoT Build 0:6ae2f7bca550 14141 if (modified == NULL)
Azure.IoT Build 0:6ae2f7bca550 14142 {
AzureIoTClient 19:000ab4e6a2c1 14143 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 14144 }
Azure.IoT Build 0:6ae2f7bca550 14145 else
Azure.IoT Build 0:6ae2f7bca550 14146 {
Azure.IoT Build 0:6ae2f7bca550 14147 MODIFIED_INSTANCE* modified_instance = (MODIFIED_INSTANCE*)modified;
Azure.IoT Build 0:6ae2f7bca550 14148 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(modified_instance->composite_value, 1);
Azure.IoT Build 0:6ae2f7bca550 14149 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 14150 {
AzureIoTClient 19:000ab4e6a2c1 14151 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 14152 }
Azure.IoT Build 0:6ae2f7bca550 14153 else
Azure.IoT Build 0:6ae2f7bca550 14154 {
Azure.IoT Build 0:6ae2f7bca550 14155 if (amqpvalue_get_boolean(item_value, undeliverable_here_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 14156 {
AzureIoTClient 19:000ab4e6a2c1 14157 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 14158 }
Azure.IoT Build 0:6ae2f7bca550 14159 else
Azure.IoT Build 0:6ae2f7bca550 14160 {
Azure.IoT Build 0:6ae2f7bca550 14161 result = 0;
Azure.IoT Build 0:6ae2f7bca550 14162 }
Azure.IoT Build 0:6ae2f7bca550 14163 }
Azure.IoT Build 0:6ae2f7bca550 14164 }
Azure.IoT Build 0:6ae2f7bca550 14165
Azure.IoT Build 0:6ae2f7bca550 14166 return result;
Azure.IoT Build 0:6ae2f7bca550 14167 }
Azure.IoT Build 0:6ae2f7bca550 14168
Azure.IoT Build 0:6ae2f7bca550 14169 int modified_set_undeliverable_here(MODIFIED_HANDLE modified, bool undeliverable_here_value)
Azure.IoT Build 0:6ae2f7bca550 14170 {
Azure.IoT Build 0:6ae2f7bca550 14171 int result;
Azure.IoT Build 0:6ae2f7bca550 14172
Azure.IoT Build 0:6ae2f7bca550 14173 if (modified == NULL)
Azure.IoT Build 0:6ae2f7bca550 14174 {
AzureIoTClient 19:000ab4e6a2c1 14175 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 14176 }
Azure.IoT Build 0:6ae2f7bca550 14177 else
Azure.IoT Build 0:6ae2f7bca550 14178 {
Azure.IoT Build 0:6ae2f7bca550 14179 MODIFIED_INSTANCE* modified_instance = (MODIFIED_INSTANCE*)modified;
Azure.IoT Build 0:6ae2f7bca550 14180 AMQP_VALUE undeliverable_here_amqp_value = amqpvalue_create_boolean(undeliverable_here_value);
Azure.IoT Build 0:6ae2f7bca550 14181 if (undeliverable_here_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 14182 {
AzureIoTClient 19:000ab4e6a2c1 14183 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 14184 }
Azure.IoT Build 0:6ae2f7bca550 14185 else
Azure.IoT Build 0:6ae2f7bca550 14186 {
Azure.IoT Build 0:6ae2f7bca550 14187 if (amqpvalue_set_composite_item(modified_instance->composite_value, 1, undeliverable_here_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 14188 {
AzureIoTClient 19:000ab4e6a2c1 14189 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 14190 }
Azure.IoT Build 0:6ae2f7bca550 14191 else
Azure.IoT Build 0:6ae2f7bca550 14192 {
Azure.IoT Build 0:6ae2f7bca550 14193 result = 0;
Azure.IoT Build 0:6ae2f7bca550 14194 }
Azure.IoT Build 0:6ae2f7bca550 14195
Azure.IoT Build 0:6ae2f7bca550 14196 amqpvalue_destroy(undeliverable_here_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 14197 }
Azure.IoT Build 0:6ae2f7bca550 14198 }
Azure.IoT Build 0:6ae2f7bca550 14199
Azure.IoT Build 0:6ae2f7bca550 14200 return result;
Azure.IoT Build 0:6ae2f7bca550 14201 }
Azure.IoT Build 0:6ae2f7bca550 14202
Azure.IoT Build 0:6ae2f7bca550 14203 int modified_get_message_annotations(MODIFIED_HANDLE modified, fields* message_annotations_value)
Azure.IoT Build 0:6ae2f7bca550 14204 {
Azure.IoT Build 0:6ae2f7bca550 14205 int result;
Azure.IoT Build 0:6ae2f7bca550 14206
Azure.IoT Build 0:6ae2f7bca550 14207 if (modified == NULL)
Azure.IoT Build 0:6ae2f7bca550 14208 {
AzureIoTClient 19:000ab4e6a2c1 14209 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 14210 }
Azure.IoT Build 0:6ae2f7bca550 14211 else
Azure.IoT Build 0:6ae2f7bca550 14212 {
Azure.IoT Build 0:6ae2f7bca550 14213 MODIFIED_INSTANCE* modified_instance = (MODIFIED_INSTANCE*)modified;
Azure.IoT Build 0:6ae2f7bca550 14214 AMQP_VALUE item_value = amqpvalue_get_composite_item_in_place(modified_instance->composite_value, 2);
Azure.IoT Build 0:6ae2f7bca550 14215 if (item_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 14216 {
AzureIoTClient 19:000ab4e6a2c1 14217 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 14218 }
Azure.IoT Build 0:6ae2f7bca550 14219 else
Azure.IoT Build 0:6ae2f7bca550 14220 {
Azure.IoT Build 0:6ae2f7bca550 14221 if (amqpvalue_get_fields(item_value, message_annotations_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 14222 {
AzureIoTClient 19:000ab4e6a2c1 14223 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 14224 }
Azure.IoT Build 0:6ae2f7bca550 14225 else
Azure.IoT Build 0:6ae2f7bca550 14226 {
Azure.IoT Build 0:6ae2f7bca550 14227 result = 0;
Azure.IoT Build 0:6ae2f7bca550 14228 }
Azure.IoT Build 0:6ae2f7bca550 14229 }
Azure.IoT Build 0:6ae2f7bca550 14230 }
Azure.IoT Build 0:6ae2f7bca550 14231
Azure.IoT Build 0:6ae2f7bca550 14232 return result;
Azure.IoT Build 0:6ae2f7bca550 14233 }
Azure.IoT Build 0:6ae2f7bca550 14234
Azure.IoT Build 0:6ae2f7bca550 14235 int modified_set_message_annotations(MODIFIED_HANDLE modified, fields message_annotations_value)
Azure.IoT Build 0:6ae2f7bca550 14236 {
Azure.IoT Build 0:6ae2f7bca550 14237 int result;
Azure.IoT Build 0:6ae2f7bca550 14238
Azure.IoT Build 0:6ae2f7bca550 14239 if (modified == NULL)
Azure.IoT Build 0:6ae2f7bca550 14240 {
AzureIoTClient 19:000ab4e6a2c1 14241 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 14242 }
Azure.IoT Build 0:6ae2f7bca550 14243 else
Azure.IoT Build 0:6ae2f7bca550 14244 {
Azure.IoT Build 0:6ae2f7bca550 14245 MODIFIED_INSTANCE* modified_instance = (MODIFIED_INSTANCE*)modified;
Azure.IoT Build 0:6ae2f7bca550 14246 AMQP_VALUE message_annotations_amqp_value = amqpvalue_create_fields(message_annotations_value);
Azure.IoT Build 0:6ae2f7bca550 14247 if (message_annotations_amqp_value == NULL)
Azure.IoT Build 0:6ae2f7bca550 14248 {
AzureIoTClient 19:000ab4e6a2c1 14249 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 14250 }
Azure.IoT Build 0:6ae2f7bca550 14251 else
Azure.IoT Build 0:6ae2f7bca550 14252 {
Azure.IoT Build 0:6ae2f7bca550 14253 if (amqpvalue_set_composite_item(modified_instance->composite_value, 2, message_annotations_amqp_value) != 0)
Azure.IoT Build 0:6ae2f7bca550 14254 {
AzureIoTClient 19:000ab4e6a2c1 14255 result = __FAILURE__;
Azure.IoT Build 0:6ae2f7bca550 14256 }
Azure.IoT Build 0:6ae2f7bca550 14257 else
Azure.IoT Build 0:6ae2f7bca550 14258 {
Azure.IoT Build 0:6ae2f7bca550 14259 result = 0;
Azure.IoT Build 0:6ae2f7bca550 14260 }
Azure.IoT Build 0:6ae2f7bca550 14261
Azure.IoT Build 0:6ae2f7bca550 14262 amqpvalue_destroy(message_annotations_amqp_value);
Azure.IoT Build 0:6ae2f7bca550 14263 }
Azure.IoT Build 0:6ae2f7bca550 14264 }
Azure.IoT Build 0:6ae2f7bca550 14265
Azure.IoT Build 0:6ae2f7bca550 14266 return result;
Azure.IoT Build 0:6ae2f7bca550 14267 }
Azure.IoT Build 0:6ae2f7bca550 14268
Azure.IoT Build 0:6ae2f7bca550 14269