Azure IoT / iothub_amqp_transport

Dependents:   sht15_remote_monitoring RobotArmDemo iothub_client_sample_amqp iothub_client_sample_amqp ... more

Committer:
AzureIoTClient
Date:
Fri Mar 10 11:46:55 2017 -0800
Revision:
30:20a85b733111
Child:
31:adadaef857c1
1.1.9

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 30:20a85b733111 8 #include "azure_c_shared_utility/xio.h"
AzureIoTClient 30:20a85b733111 9 #include "azure_uamqp_c/session.h"
AzureIoTClient 30:20a85b733111 10 #include "azure_uamqp_c/cbs.h"
AzureIoTClient 30:20a85b733111 11
AzureIoTClient 30:20a85b733111 12 #ifdef __cplusplus
AzureIoTClient 30:20a85b733111 13 extern "C"
AzureIoTClient 30:20a85b733111 14 {
AzureIoTClient 30:20a85b733111 15 #endif
AzureIoTClient 30:20a85b733111 16
AzureIoTClient 30:20a85b733111 17 typedef enum AMQP_CONNECTION_STATE_TAG
AzureIoTClient 30:20a85b733111 18 {
AzureIoTClient 30:20a85b733111 19 AMQP_CONNECTION_STATE_OPENED,
AzureIoTClient 30:20a85b733111 20 AMQP_CONNECTION_STATE_CLOSED,
AzureIoTClient 30:20a85b733111 21 AMQP_CONNECTION_STATE_ERROR
AzureIoTClient 30:20a85b733111 22 } AMQP_CONNECTION_STATE;
AzureIoTClient 30:20a85b733111 23
AzureIoTClient 30:20a85b733111 24 typedef void(*ON_AMQP_CONNECTION_STATE_CHANGED)(const void* context, AMQP_CONNECTION_STATE old_state, AMQP_CONNECTION_STATE new_state);
AzureIoTClient 30:20a85b733111 25
AzureIoTClient 30:20a85b733111 26 typedef struct AMQP_CONNECTION_CONFIG_TAG
AzureIoTClient 30:20a85b733111 27 {
AzureIoTClient 30:20a85b733111 28 const char* iothub_host_fqdn;
AzureIoTClient 30:20a85b733111 29 XIO_HANDLE underlying_io_transport;
AzureIoTClient 30:20a85b733111 30 bool create_sasl_io;
AzureIoTClient 30:20a85b733111 31 bool create_cbs_connection;
AzureIoTClient 30:20a85b733111 32 bool is_trace_on;
AzureIoTClient 30:20a85b733111 33
AzureIoTClient 30:20a85b733111 34 ON_AMQP_CONNECTION_STATE_CHANGED on_state_changed_callback;
AzureIoTClient 30:20a85b733111 35 const void* on_state_changed_context;
AzureIoTClient 30:20a85b733111 36 } AMQP_CONNECTION_CONFIG;
AzureIoTClient 30:20a85b733111 37
AzureIoTClient 30:20a85b733111 38 typedef struct AMQP_CONNECTION_INSTANCE* AMQP_CONNECTION_HANDLE;
AzureIoTClient 30:20a85b733111 39
AzureIoTClient 30:20a85b733111 40 MOCKABLE_FUNCTION(, AMQP_CONNECTION_HANDLE, amqp_connection_create, AMQP_CONNECTION_CONFIG*, config);
AzureIoTClient 30:20a85b733111 41 MOCKABLE_FUNCTION(, void, amqp_connection_destroy, AMQP_CONNECTION_HANDLE, conn_handle);
AzureIoTClient 30:20a85b733111 42 MOCKABLE_FUNCTION(, void, amqp_connection_do_work, AMQP_CONNECTION_HANDLE, conn_handle);
AzureIoTClient 30:20a85b733111 43 MOCKABLE_FUNCTION(, int, amqp_connection_get_session_handle, AMQP_CONNECTION_HANDLE, conn_handle, SESSION_HANDLE*, session_handle);
AzureIoTClient 30:20a85b733111 44 MOCKABLE_FUNCTION(, int, amqp_connection_get_cbs_handle, AMQP_CONNECTION_HANDLE, conn_handle, CBS_HANDLE*, cbs_handle);
AzureIoTClient 30:20a85b733111 45 MOCKABLE_FUNCTION(, int, amqp_connection_set_logging, AMQP_CONNECTION_HANDLE, conn_handle, bool, is_trace_on);
AzureIoTClient 30:20a85b733111 46
AzureIoTClient 30:20a85b733111 47 #ifdef __cplusplus
AzureIoTClient 30:20a85b733111 48 }
AzureIoTClient 30:20a85b733111 49 #endif
AzureIoTClient 30:20a85b733111 50
AzureIoTClient 30:20a85b733111 51 #endif /*IOTHUBTRANSPORTAMQP_AMQP_CONNECTION_H*/