A small memory footprint AMQP implimentation

Dependents:   iothub_client_sample_amqp remote_monitoring simplesample_amqp

Revision:
10:19ce00951771
Parent:
1:eab586236bfe
Child:
28:add19eb7defa
--- a/azure_uamqp_c/session.h	Fri Aug 26 12:59:06 2016 -0700
+++ b/azure_uamqp_c/session.h	Fri Sep 09 13:37:56 2016 -0700
@@ -13,6 +13,8 @@
 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;
 
@@ -40,25 +42,25 @@
 	typedef void(*ON_SESSION_FLOW_ON)(void* context);
 	typedef bool(*ON_LINK_ATTACHED)(void* context, LINK_ENDPOINT_HANDLE new_link_endpoint, const char* name, role role, AMQP_VALUE source, AMQP_VALUE target);
 
-	extern SESSION_HANDLE session_create(CONNECTION_HANDLE connection, ON_LINK_ATTACHED on_link_attached, void* callback_context);
-	extern SESSION_HANDLE session_create_from_endpoint(CONNECTION_HANDLE connection, ENDPOINT_HANDLE connection_endpoint, ON_LINK_ATTACHED on_link_attached, void* callback_context);
-	extern int session_set_incoming_window(SESSION_HANDLE session, uint32_t incoming_window);
-	extern int session_get_incoming_window(SESSION_HANDLE session, uint32_t* incoming_window);
-	extern int session_set_outgoing_window(SESSION_HANDLE session, uint32_t outgoing_window);
-	extern int session_get_outgoing_window(SESSION_HANDLE session, uint32_t* outgoing_window);
-	extern int session_set_handle_max(SESSION_HANDLE session, handle handle_max);
-	extern int session_get_handle_max(SESSION_HANDLE session, handle* handle_max);
-	extern void session_destroy(SESSION_HANDLE session);
-	extern int session_begin(SESSION_HANDLE session);
-	extern int session_end(SESSION_HANDLE session, const char* condition_value, const char* description);
-	extern LINK_ENDPOINT_HANDLE session_create_link_endpoint(SESSION_HANDLE session, const char* name);
-	extern void session_destroy_link_endpoint(LINK_ENDPOINT_HANDLE link_endpoint);
-	extern int session_start_link_endpoint(LINK_ENDPOINT_HANDLE link_endpoint, ON_ENDPOINT_FRAME_RECEIVED frame_received_callback, ON_SESSION_STATE_CHANGED on_session_state_changed, ON_SESSION_FLOW_ON on_session_flow_on, void* context);
-	extern int session_send_flow(LINK_ENDPOINT_HANDLE link_endpoint, FLOW_HANDLE flow);
-	extern int session_send_attach(LINK_ENDPOINT_HANDLE link_endpoint, ATTACH_HANDLE attach);
-	extern int session_send_disposition(LINK_ENDPOINT_HANDLE link_endpoint, DISPOSITION_HANDLE disposition);
-	extern int session_send_detach(LINK_ENDPOINT_HANDLE link_endpoint, DETACH_HANDLE detach);
-	extern SESSION_SEND_TRANSFER_RESULT session_send_transfer(LINK_ENDPOINT_HANDLE link_endpoint, TRANSFER_HANDLE transfer, PAYLOAD* payloads, size_t payload_count, delivery_number* delivery_id, ON_SEND_COMPLETE on_send_complete, void* callback_context);
+	MOCKABLE_FUNCTION(, SESSION_HANDLE, session_create, CONNECTION_HANDLE, connection, ON_LINK_ATTACHED, on_link_attached, void*, callback_context);
+	MOCKABLE_FUNCTION(, SESSION_HANDLE, session_create_from_endpoint, CONNECTION_HANDLE, connection, ENDPOINT_HANDLE, connection_endpoint, ON_LINK_ATTACHED, on_link_attached, void*, callback_context);
+	MOCKABLE_FUNCTION(, int, session_set_incoming_window, SESSION_HANDLE, session, uint32_t, incoming_window);
+	MOCKABLE_FUNCTION(, int, session_get_incoming_window, SESSION_HANDLE, session, uint32_t*, incoming_window);
+	MOCKABLE_FUNCTION(, int, session_set_outgoing_window, SESSION_HANDLE, session, uint32_t, outgoing_window);
+	MOCKABLE_FUNCTION(, int, session_get_outgoing_window, SESSION_HANDLE, session, uint32_t*, outgoing_window);
+	MOCKABLE_FUNCTION(, int, session_set_handle_max, SESSION_HANDLE, session, handle, handle_max);
+	MOCKABLE_FUNCTION(, int, session_get_handle_max, SESSION_HANDLE, session, handle*, handle_max);
+	MOCKABLE_FUNCTION(, void, session_destroy, SESSION_HANDLE, session);
+	MOCKABLE_FUNCTION(, int, session_begin, SESSION_HANDLE, session);
+	MOCKABLE_FUNCTION(, int, session_end, SESSION_HANDLE, session, const char*, condition_value, const char*, description);
+	MOCKABLE_FUNCTION(, LINK_ENDPOINT_HANDLE, session_create_link_endpoint, SESSION_HANDLE, session, const char*, name);
+	MOCKABLE_FUNCTION(, void, session_destroy_link_endpoint, LINK_ENDPOINT_HANDLE, link_endpoint);
+	MOCKABLE_FUNCTION(, int, session_start_link_endpoint, LINK_ENDPOINT_HANDLE, link_endpoint, ON_ENDPOINT_FRAME_RECEIVED, frame_received_callback, ON_SESSION_STATE_CHANGED, on_session_state_changed, ON_SESSION_FLOW_ON, on_session_flow_on, void*, context);
+	MOCKABLE_FUNCTION(, int, session_send_flow, LINK_ENDPOINT_HANDLE, link_endpoint, FLOW_HANDLE, flow);
+	MOCKABLE_FUNCTION(, int, session_send_attach, LINK_ENDPOINT_HANDLE, link_endpoint, ATTACH_HANDLE, attach);
+	MOCKABLE_FUNCTION(, int, session_send_disposition, LINK_ENDPOINT_HANDLE, link_endpoint, DISPOSITION_HANDLE, disposition);
+	MOCKABLE_FUNCTION(, int, session_send_detach, LINK_ENDPOINT_HANDLE, link_endpoint, DETACH_HANDLE, detach);
+	MOCKABLE_FUNCTION(, SESSION_SEND_TRANSFER_RESULT, session_send_transfer, LINK_ENDPOINT_HANDLE, link_endpoint, TRANSFER_HANDLE, transfer, PAYLOAD*, payloads, size_t, payload_count, delivery_number*, delivery_id, ON_SEND_COMPLETE, on_send_complete, void*, callback_context);
 
 #ifdef __cplusplus
 }