A small memory footprint AMQP implimentation
Dependents: iothub_client_sample_amqp remote_monitoring simplesample_amqp
Diff: azure_uamqp_c/session.h
- Revision:
- 34:6be9c2058664
- Parent:
- 28:add19eb7defa
- Child:
- 40:f0ceafa8d570
--- a/azure_uamqp_c/session.h Mon Sep 25 13:38:40 2017 -0700 +++ b/azure_uamqp_c/session.h Sat Oct 21 20:12:19 2017 +0000 @@ -8,34 +8,34 @@ #include "azure_uamqp_c/amqpvalue.h" #include "azure_uamqp_c/amqp_frame_codec.h" #include "azure_uamqp_c/connection.h" +#include "azure_c_shared_utility/umock_c_prod.h" +#include "azure_c_shared_utility/macro_utils.h" #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ -#include "azure_c_shared_utility/umock_c_prod.h" - - typedef struct SESSION_INSTANCE_TAG* SESSION_HANDLE; - typedef struct LINK_ENDPOINT_INSTANCE_TAG* LINK_ENDPOINT_HANDLE; +typedef struct SESSION_INSTANCE_TAG* SESSION_HANDLE; +typedef struct LINK_ENDPOINT_INSTANCE_TAG* LINK_ENDPOINT_HANDLE; - typedef enum SESION_STATE_TAG - { - SESSION_STATE_UNMAPPED, - SESSION_STATE_BEGIN_SENT, - SESSION_STATE_BEGIN_RCVD, - SESSION_STATE_MAPPED, - SESSION_STATE_END_SENT, - SESSION_STATE_END_RCVD, - SESSION_STATE_DISCARDING, - SESSION_STATE_ERROR - } SESSION_STATE; +#define SESSION_STATE_VALUES \ + SESSION_STATE_UNMAPPED, \ + SESSION_STATE_BEGIN_SENT, \ + SESSION_STATE_BEGIN_RCVD, \ + SESSION_STATE_MAPPED, \ + SESSION_STATE_END_SENT, \ + SESSION_STATE_END_RCVD, \ + SESSION_STATE_DISCARDING, \ + SESSION_STATE_ERROR - typedef enum SESSION_SEND_TRANSFER_RESULT_TAG - { - SESSION_SEND_TRANSFER_OK, - SESSION_SEND_TRANSFER_ERROR, - SESSION_SEND_TRANSFER_BUSY - } SESSION_SEND_TRANSFER_RESULT; +DEFINE_ENUM(SESSION_STATE, SESSION_STATE_VALUES) + +#define SESSION_SEND_TRANSFER_RESULT_VALUES \ + SESSION_SEND_TRANSFER_OK, \ + SESSION_SEND_TRANSFER_ERROR, \ + SESSION_SEND_TRANSFER_BUSY + +DEFINE_ENUM(SESSION_SEND_TRANSFER_RESULT, SESSION_SEND_TRANSFER_RESULT_VALUES) typedef void(*LINK_ENDPOINT_FRAME_RECEIVED_CALLBACK)(void* context, AMQP_VALUE performative, uint32_t frame_payload_size, const unsigned char* payload_bytes); typedef void(*ON_SESSION_STATE_CHANGED)(void* context, SESSION_STATE new_session_state, SESSION_STATE previous_session_state);