Azure IoT / iothub_amqp_transport

Dependents:   sht15_remote_monitoring RobotArmDemo iothub_client_sample_amqp iothub_client_sample_amqp ... more

Committer:
AzureIoTClient
Date:
Fri Jun 30 10:40:33 2017 -0700
Revision:
37:abd16824f63b
Parent:
31:adadaef857c1
Child:
47:8a238e75a0f7
1.1.18

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AzureIoTClient 30:20a85b733111 1 // Copyright (c) Microsoft. All rights reserved.
AzureIoTClient 30:20a85b733111 2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
AzureIoTClient 30:20a85b733111 3
AzureIoTClient 30:20a85b733111 4 #ifndef IOTHUBTRANSPORTAMQP_AMQP_CONNECTION_H
AzureIoTClient 30:20a85b733111 5 #define IOTHUBTRANSPORTAMQP_AMQP_CONNECTION_H
AzureIoTClient 30:20a85b733111 6
AzureIoTClient 30:20a85b733111 7 #include "azure_c_shared_utility/umock_c_prod.h"
AzureIoTClient 31:adadaef857c1 8 #include "azure_c_shared_utility/macro_utils.h"
AzureIoTClient 30:20a85b733111 9 #include "azure_c_shared_utility/xio.h"
AzureIoTClient 30:20a85b733111 10 #include "azure_uamqp_c/session.h"
AzureIoTClient 30:20a85b733111 11 #include "azure_uamqp_c/cbs.h"
AzureIoTClient 30:20a85b733111 12
AzureIoTClient 30:20a85b733111 13 #ifdef __cplusplus
AzureIoTClient 30:20a85b733111 14 extern "C"
AzureIoTClient 30:20a85b733111 15 {
AzureIoTClient 30:20a85b733111 16 #endif
AzureIoTClient 30:20a85b733111 17
AzureIoTClient 31:adadaef857c1 18 #define AMQP_CONNECTION_STATE_VALUES \
AzureIoTClient 31:adadaef857c1 19 AMQP_CONNECTION_STATE_OPENED, \
AzureIoTClient 31:adadaef857c1 20 AMQP_CONNECTION_STATE_CLOSED, \
AzureIoTClient 31:adadaef857c1 21 AMQP_CONNECTION_STATE_ERROR
AzureIoTClient 31:adadaef857c1 22
AzureIoTClient 31:adadaef857c1 23 DEFINE_ENUM(AMQP_CONNECTION_STATE, AMQP_CONNECTION_STATE_VALUES);
AzureIoTClient 30:20a85b733111 24
AzureIoTClient 30:20a85b733111 25 typedef void(*ON_AMQP_CONNECTION_STATE_CHANGED)(const void* context, AMQP_CONNECTION_STATE old_state, AMQP_CONNECTION_STATE new_state);
AzureIoTClient 30:20a85b733111 26
AzureIoTClient 30:20a85b733111 27 typedef struct AMQP_CONNECTION_CONFIG_TAG
AzureIoTClient 30:20a85b733111 28 {
AzureIoTClient 30:20a85b733111 29 const char* iothub_host_fqdn;
AzureIoTClient 30:20a85b733111 30 XIO_HANDLE underlying_io_transport;
AzureIoTClient 30:20a85b733111 31 bool create_sasl_io;
AzureIoTClient 30:20a85b733111 32 bool create_cbs_connection;
AzureIoTClient 30:20a85b733111 33 bool is_trace_on;
AzureIoTClient 30:20a85b733111 34
AzureIoTClient 30:20a85b733111 35 ON_AMQP_CONNECTION_STATE_CHANGED on_state_changed_callback;
AzureIoTClient 30:20a85b733111 36 const void* on_state_changed_context;
AzureIoTClient 37:abd16824f63b 37 size_t c2d_keep_alive_freq_secs;
AzureIoTClient 30:20a85b733111 38 } AMQP_CONNECTION_CONFIG;
AzureIoTClient 30:20a85b733111 39
AzureIoTClient 30:20a85b733111 40 typedef struct AMQP_CONNECTION_INSTANCE* AMQP_CONNECTION_HANDLE;
AzureIoTClient 30:20a85b733111 41
AzureIoTClient 30:20a85b733111 42 MOCKABLE_FUNCTION(, AMQP_CONNECTION_HANDLE, amqp_connection_create, AMQP_CONNECTION_CONFIG*, config);
AzureIoTClient 30:20a85b733111 43 MOCKABLE_FUNCTION(, void, amqp_connection_destroy, AMQP_CONNECTION_HANDLE, conn_handle);
AzureIoTClient 30:20a85b733111 44 MOCKABLE_FUNCTION(, void, amqp_connection_do_work, AMQP_CONNECTION_HANDLE, conn_handle);
AzureIoTClient 30:20a85b733111 45 MOCKABLE_FUNCTION(, int, amqp_connection_get_session_handle, AMQP_CONNECTION_HANDLE, conn_handle, SESSION_HANDLE*, session_handle);
AzureIoTClient 30:20a85b733111 46 MOCKABLE_FUNCTION(, int, amqp_connection_get_cbs_handle, AMQP_CONNECTION_HANDLE, conn_handle, CBS_HANDLE*, cbs_handle);
AzureIoTClient 30:20a85b733111 47 MOCKABLE_FUNCTION(, int, amqp_connection_set_logging, AMQP_CONNECTION_HANDLE, conn_handle, bool, is_trace_on);
AzureIoTClient 30:20a85b733111 48
AzureIoTClient 30:20a85b733111 49 #ifdef __cplusplus
AzureIoTClient 30:20a85b733111 50 }
AzureIoTClient 30:20a85b733111 51 #endif
AzureIoTClient 30:20a85b733111 52
AzureIoTClient 30:20a85b733111 53 #endif /*IOTHUBTRANSPORTAMQP_AMQP_CONNECTION_H*/