You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by da...@apache.org on 2006/12/06 13:27:55 UTC

svn commit: r483051 [1/2] - in /webservices/sandesha/trunk/c/src/storage: ./ beans/ inmemory/

Author: damitha
Date: Wed Dec  6 04:27:54 2006
New Revision: 483051

URL: http://svn.apache.org/viewvc?view=rev&rev=483051
Log:
added new files so that storage mechanism can be abstracted

Added:
    webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_create_seq_mgr.c
      - copied, changed from r482886, webservices/sandesha/trunk/c/src/storage/inmemory/create_seq_mgr.c
    webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_invoker_mgr.c
      - copied, changed from r482886, webservices/sandesha/trunk/c/src/storage/inmemory/invoker_mgr.c
    webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_next_msg_mgr.c
    webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_sender_mgr.c
      - copied, changed from r482886, webservices/sandesha/trunk/c/src/storage/inmemory/sender_mgr.c
    webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_seq_property_mgr.c
      - copied, changed from r482886, webservices/sandesha/trunk/c/src/storage/inmemory/seq_property_mgr.c
    webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_storage_mgr.c
      - copied, changed from r482886, webservices/sandesha/trunk/c/src/storage/inmemory/storage_mgr.c
    webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_transaction.c
      - copied, changed from r482886, webservices/sandesha/trunk/c/src/storage/inmemory/transaction.c
    webservices/sandesha/trunk/c/src/storage/inmemory/invoker_next_msg_mgr.c
      - copied unchanged from r482886, webservices/sandesha/trunk/c/src/storage/inmemory/next_msg_mgr.c
    webservices/sandesha/trunk/c/src/storage/storage_mgr.c
    webservices/sandesha/trunk/c/src/storage/transaction.c
Removed:
    webservices/sandesha/trunk/c/src/storage/inmemory/create_seq_mgr.c
    webservices/sandesha/trunk/c/src/storage/inmemory/invoker_mgr.c
    webservices/sandesha/trunk/c/src/storage/inmemory/next_msg_mgr.c
    webservices/sandesha/trunk/c/src/storage/inmemory/sender_mgr.c
    webservices/sandesha/trunk/c/src/storage/inmemory/seq_property_mgr.c
    webservices/sandesha/trunk/c/src/storage/inmemory/storage_mgr.c
    webservices/sandesha/trunk/c/src/storage/inmemory/transaction.c
Modified:
    webservices/sandesha/trunk/c/src/storage/Makefile.am
    webservices/sandesha/trunk/c/src/storage/beans/Makefile.am
    webservices/sandesha/trunk/c/src/storage/beans/create_seq_bean.c
    webservices/sandesha/trunk/c/src/storage/beans/invoker_bean.c
    webservices/sandesha/trunk/c/src/storage/beans/next_msg_bean.c
    webservices/sandesha/trunk/c/src/storage/beans/sender_bean.c
    webservices/sandesha/trunk/c/src/storage/beans/seq_property_bean.c
    webservices/sandesha/trunk/c/src/storage/inmemory/Makefile.am

Modified: webservices/sandesha/trunk/c/src/storage/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/Makefile.am?view=diff&rev=483051&r1=483050&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/Makefile.am (original)
+++ webservices/sandesha/trunk/c/src/storage/Makefile.am Wed Dec  6 04:27:54 2006
@@ -1,2 +1,15 @@
 SUBDIRS = beans inmemory
+noinst_LTLIBRARIES = libsandesha2_storage.la
 
+libsandesha2_storage_la_SOURCES = \
+								storage_mgr.c \
+								transaction.c \
+								create_seq_mgr.c \
+								invoker_mgr.c \
+								sender_mgr.c \
+								next_msg_mgr.c \
+								seq_property_mgr.c
+
+INCLUDES = -I$(top_builddir)/include \
+			-I$(top_builddir)/include/sandesha2 \
+			@AXIS2INC@

Modified: webservices/sandesha/trunk/c/src/storage/beans/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/beans/Makefile.am?view=diff&rev=483051&r1=483050&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/beans/Makefile.am (original)
+++ webservices/sandesha/trunk/c/src/storage/beans/Makefile.am Wed Dec  6 04:27:54 2006
@@ -5,7 +5,8 @@
 				create_seq_bean.c \
 				next_msg_bean.c \
 				sender_bean.c \
-				seq_property_bean.c
+				seq_property_bean.c \
+				rm_bean.c
 
 INCLUDES = -I$(top_builddir)/include \
             @AXIS2INC@

Modified: webservices/sandesha/trunk/c/src/storage/beans/create_seq_bean.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/beans/create_seq_bean.c?view=diff&rev=483051&r1=483050&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/beans/create_seq_bean.c (original)
+++ webservices/sandesha/trunk/c/src/storage/beans/create_seq_bean.c Wed Dec  6 04:27:54 2006
@@ -15,6 +15,7 @@
  */
 
 #include <sandesha2_create_seq_bean.h>
+#include <sandesha2_rm_bean.h>
 #include <axis2_env.h>
 #include <axis2_utils.h>
 #include <axis2_utils_defines.h>
@@ -26,6 +27,7 @@
 
 struct sandesha2_create_seq_bean_t
 {
+    sandesha2_rm_bean_t *rm_bean;
 	/*  a unique identifier that can be used to identify the messages of a certain seq */
 	axis2_char_t *internal_seq_id;
 
@@ -74,12 +76,13 @@
 	bean->internal_seq_id = NULL;
 	bean->create_seq_msg_id = NULL;
 	bean->seq_id = NULL;
+    bean->create_seq_msg_store_key = NULL;
+    bean->ref_msg_store_key = NULL;
+    bean->rm_bean = NULL;
 
 	return bean;
 }
 	
-
-
 AXIS2_EXTERN sandesha2_create_seq_bean_t* AXIS2_CALL 
 sandesha2_create_seq_bean_create_with_data(
     const axis2_env_t *env,
@@ -104,6 +107,7 @@
 	bean->internal_seq_id = internal_seq_id;
 	bean->create_seq_msg_id = create_seq_msg_id;
 	bean->seq_id = seq_id;
+	bean->rm_bean = NULL;
 
 	return bean;
 }
@@ -114,6 +118,11 @@
     sandesha2_create_seq_bean_t *create_seq,
     const axis2_env_t *env)
 {
+	if(create_seq->rm_bean)
+	{
+		sandesha2_rm_bean_free(create_seq->rm_bean, env);
+		create_seq->rm_bean= NULL;
+	}
 	if(create_seq->internal_seq_id)
 	{
 		AXIS2_FREE(env->allocator, create_seq->internal_seq_id);
@@ -134,6 +143,26 @@
     return AXIS2_SUCCESS;
 }
 
+sandesha2_rm_bean_t * AXIS2_CALL
+sandesha2_create_seq_bean_get_base( 
+    sandesha2_create_seq_bean_t* create_seq,
+    const axis2_env_t *env)
+{
+	return create_seq->rm_bean;
+
+}	
+
+void AXIS2_CALL
+sandesha2_create_seq_bean_set_base (
+    sandesha2_create_seq_bean_t *create_seq,
+    const axis2_env_t *env, 
+    sandesha2_rm_bean_t* rm_bean)
+
+{
+	create_seq->rm_bean = rm_bean;
+}
+
+
 axis2_char_t * AXIS2_CALL
 sandesha2_create_seq_bean_get_create_seq_msg_id( 
     sandesha2_create_seq_bean_t* create_seq,
@@ -141,8 +170,7 @@
 {
 	return create_seq->create_seq_msg_id;
 
-}
-	
+}	
 
 void AXIS2_CALL
 sandesha2_create_seq_bean_set_create_seq_msg_id (

Modified: webservices/sandesha/trunk/c/src/storage/beans/invoker_bean.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/beans/invoker_bean.c?view=diff&rev=483051&r1=483050&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/beans/invoker_bean.c (original)
+++ webservices/sandesha/trunk/c/src/storage/beans/invoker_bean.c Wed Dec  6 04:27:54 2006
@@ -15,12 +15,14 @@
  */
 
 #include <sandesha2_invoker_bean.h>
+#include <sandesha2_rm_bean.h>
 #include <string.h>
 #include <axis2_string.h>
 #include <axis2_utils.h>
 
 struct sandesha2_invoker_bean_t
 {
+    sandesha2_rm_bean_t *rm_bean;
 	/*  This is the messageContextRefKey that is obtained after saving a message context in a storage. */
 	axis2_char_t *msg_context_ref_key;
 
@@ -56,6 +58,7 @@
 	bean->msg_no = -1;
 	bean->seq_id = NULL;	
 	bean->invoked = AXIS2_FALSE;
+    bean->rm_bean = NULL;
 
 	return bean;
 }
@@ -93,16 +96,21 @@
 
 	bean->msg_no = msg_no;
 	bean->invoked = invoked;
+    bean->rm_bean = NULL;
 
 	return bean;
 }
 
-
 axis2_status_t AXIS2_CALL
 sandesha2_invoker_bean_free(
     sandesha2_invoker_bean_t *invoker,
     const axis2_env_t *env)
 {
+	if(invoker->rm_bean)
+	{
+		sandesha2_rm_bean_free(invoker->rm_bean, env);
+		invoker->rm_bean= NULL;
+	}
 	if(invoker->msg_context_ref_key)
 	{
 		AXIS2_FREE(env->allocator, invoker->msg_context_ref_key);
@@ -117,6 +125,23 @@
     return AXIS2_SUCCESS;
 }
 
+sandesha2_rm_bean_t * AXIS2_CALL
+sandesha2_invoker_bean_get_base( 
+    sandesha2_invoker_bean_t* invoker,
+    const axis2_env_t *env)
+{
+	return invoker->rm_bean;
+
+}	
+
+void AXIS2_CALL
+sandesha2_invoker_bean_set_base (
+    sandesha2_invoker_bean_t *invoker,
+    const axis2_env_t *env, 
+    sandesha2_rm_bean_t* rm_bean)
+{
+	invoker->rm_bean = rm_bean;
+}
 
 axis2_char_t* AXIS2_CALL 
 sandesha2_invoker_bean_get_msg_ctx_ref_key(

Modified: webservices/sandesha/trunk/c/src/storage/beans/next_msg_bean.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/beans/next_msg_bean.c?view=diff&rev=483051&r1=483050&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/beans/next_msg_bean.c (original)
+++ webservices/sandesha/trunk/c/src/storage/beans/next_msg_bean.c Wed Dec  6 04:27:54 2006
@@ -15,13 +15,15 @@
  */
 
 #include <sandesha2_next_msg_bean.h>
+#include <sandesha2_rm_bean.h>
 #include <string.h>
 #include <axis2_string.h>
 #include <axis2_utils.h>
 
-/* invoker_bean struct */
+/* next_msg_bean struct */
 struct sandesha2_next_msg_bean_t
 {
+    sandesha2_rm_bean_t *rm_bean;
 	axis2_char_t *seq_id;
     axis2_char_t *ref_msg_key;
     axis2_bool_t polling_mode;
@@ -48,6 +50,7 @@
     bean->ref_msg_key = NULL;
 	bean->msg_no = -1;
     bean->polling_mode = AXIS2_FALSE;
+    bean->rm_bean = NULL;
 
 	return bean;
 }
@@ -75,6 +78,7 @@
     bean->ref_msg_key = NULL;
 	bean->msg_no = msg_no;
     bean->polling_mode = AXIS2_FALSE;
+    bean->rm_bean = NULL;
 
 	return bean;
 }
@@ -84,6 +88,11 @@
     sandesha2_next_msg_bean_t *next_msg_bean,
 	const axis2_env_t *env)
 {
+	if(next_msg_bean->rm_bean)
+	{
+		sandesha2_rm_bean_free(next_msg_bean->rm_bean, env);
+		next_msg_bean->rm_bean= NULL;
+	}
 	if(next_msg_bean->seq_id)
 	{
 		AXIS2_FREE(env->allocator, next_msg_bean->seq_id);
@@ -97,6 +106,24 @@
     return AXIS2_SUCCESS;
 }
 
+sandesha2_rm_bean_t * AXIS2_CALL
+sandesha2_next_msg_bean_get_base( 
+    sandesha2_next_msg_bean_t* next_msg,
+    const axis2_env_t *env)
+{
+	return next_msg->rm_bean;
+
+}	
+
+void AXIS2_CALL
+sandesha2_next_msg_bean_set_base (
+    sandesha2_next_msg_bean_t *next_msg,
+    const axis2_env_t *env, 
+    sandesha2_rm_bean_t* rm_bean)
+
+{
+	next_msg->rm_bean = rm_bean;
+}
 
 axis2_char_t* AXIS2_CALL
 sandesha2_next_msg_bean_get_seq_id(

Modified: webservices/sandesha/trunk/c/src/storage/beans/sender_bean.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/beans/sender_bean.c?view=diff&rev=483051&r1=483050&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/beans/sender_bean.c (original)
+++ webservices/sandesha/trunk/c/src/storage/beans/sender_bean.c Wed Dec  6 04:27:54 2006
@@ -15,6 +15,7 @@
  */
 
 #include <sandesha2_sender_bean.h>
+#include <sandesha2_rm_bean.h>
 #include <string.h>
 #include <axis2_string.h>
 #include <axis2_utils.h>
@@ -23,6 +24,7 @@
 /*sender_bean struct */
 struct sandesha2_sender_bean_t
 {
+    sandesha2_rm_bean_t *rm_bean;
 	axis2_char_t *msg_context_ref_key;
 	axis2_char_t *msg_id;
 	axis2_char_t *internal_seq_id;
@@ -34,6 +36,7 @@
 	int msg_type;
 	axis2_char_t *seq_id;
 	axis2_char_t *wsrm_anon_uri;
+	axis2_char_t *to_address;
 
 };
 	
@@ -64,6 +67,8 @@
 	sender->msg_type = 0;
 	sender->seq_id = NULL;
 	sender->wsrm_anon_uri = NULL;
+	sender->to_address = NULL;
+    sender->rm_bean = NULL;
 
 	return sender;
 }
@@ -104,6 +109,7 @@
 	sender->msg_type = 0;
 	sender->seq_id = NULL;
 	sender->wsrm_anon_uri = NULL;
+    sender->rm_bean = NULL;
 
 	return sender;
 }
@@ -113,6 +119,11 @@
     sandesha2_sender_bean_t *sender,
 	const axis2_env_t *env)
 {
+	if(sender->rm_bean)
+	{
+		sandesha2_rm_bean_free(sender->rm_bean, env);
+		sender->rm_bean= NULL;
+	}
 	if(sender->msg_context_ref_key)
 	{
 		AXIS2_FREE(env->allocator, sender->msg_context_ref_key);
@@ -142,6 +153,23 @@
 
 }
 
+sandesha2_rm_bean_t * AXIS2_CALL
+sandesha2_sender_bean_get_base( 
+    sandesha2_sender_bean_t* sender,
+    const axis2_env_t *env)
+{
+	return sender->rm_bean;
+}	
+
+void AXIS2_CALL
+sandesha2_sender_bean_set_base (
+    sandesha2_sender_bean_t *sender,
+    const axis2_env_t *env, 
+    sandesha2_rm_bean_t* rm_bean)
+{
+	sender->rm_bean = rm_bean;
+}
+
 axis2_char_t* AXIS2_CALL
 sandesha2_sender_bean_get_msg_ctx_ref_key (
     sandesha2_sender_bean_t *sender,
@@ -370,4 +398,28 @@
 
 	sender->wsrm_anon_uri = (axis2_char_t *)AXIS2_STRDUP(anon_uri, env);
 }
+
+void AXIS2_CALL
+sandesha2_sender_bean_set_to_address (
+    sandesha2_sender_bean_t *sender,
+    const axis2_env_t *env,
+    axis2_char_t *to_address)
+{
+	if(sender->to_address)
+	{
+		AXIS2_FREE(env->allocator, sender->to_address);
+		sender->to_address = NULL;
+	}
+
+	sender->to_address = (axis2_char_t *)AXIS2_STRDUP(to_address, env);
+}
+
+axis2_char_t* AXIS2_CALL
+sandesha2_sender_bean_get_to_address(
+    sandesha2_sender_bean_t *sender,
+	const axis2_env_t *env)
+{
+	return sender->to_address;
+}
+
 

Modified: webservices/sandesha/trunk/c/src/storage/beans/seq_property_bean.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/beans/seq_property_bean.c?view=diff&rev=483051&r1=483050&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/beans/seq_property_bean.c (original)
+++ webservices/sandesha/trunk/c/src/storage/beans/seq_property_bean.c Wed Dec  6 04:27:54 2006
@@ -15,6 +15,7 @@
  */
 
 #include <sandesha2_seq_property_bean.h>
+#include <sandesha2_rm_bean.h>
 #include <string.h>
 #include <axis2_string.h>
 #include <axis2_utils.h>
@@ -23,6 +24,7 @@
 /*seq_property_bean struct */
 struct sandesha2_seq_property_bean_t
 {
+    sandesha2_rm_bean_t *rm_bean;
 	axis2_char_t *seq_id;
 	axis2_char_t *name;
 	axis2_char_t *value;
@@ -48,6 +50,7 @@
 	seq_property->seq_id = NULL;
 	seq_property->name = NULL;
 	seq_property->value = NULL;
+    seq_property->rm_bean = NULL;
 
 	return seq_property;
 }
@@ -76,6 +79,7 @@
 	seq_property->seq_id = (axis2_char_t *)AXIS2_STRDUP(seq_id, env);
 	seq_property->name = (axis2_char_t *)AXIS2_STRDUP(prop_name, env);
 	seq_property->value = (axis2_char_t *)AXIS2_STRDUP(value, env);
+    seq_property->rm_bean = NULL;
 
 	return seq_property;
 }
@@ -86,6 +90,11 @@
     sandesha2_seq_property_bean_t *seq_property,
     const axis2_env_t *env)
 {
+	if(seq_property->rm_bean)
+	{
+		sandesha2_rm_bean_free(seq_property->rm_bean, env);
+		seq_property->rm_bean= NULL;
+	}
 	if(seq_property->seq_id)
 	{
 		AXIS2_FREE(env->allocator, seq_property->seq_id);
@@ -104,6 +113,23 @@
 		seq_property->value = NULL;
 	}
     return AXIS2_SUCCESS;
+}
+
+sandesha2_rm_bean_t * AXIS2_CALL
+sandesha2_seq_property_bean_get_base( 
+    sandesha2_seq_property_bean_t* seq_property,
+    const axis2_env_t *env)
+{
+	return seq_property->rm_bean;
+}	
+
+void AXIS2_CALL
+sandesha2_seq_property_bean_set_base (
+    sandesha2_seq_property_bean_t *seq_property,
+    const axis2_env_t *env, 
+    sandesha2_rm_bean_t* rm_bean)
+{
+	seq_property->rm_bean = rm_bean;
 }
 
 axis2_char_t *AXIS2_CALL

Modified: webservices/sandesha/trunk/c/src/storage/inmemory/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/inmemory/Makefile.am?view=diff&rev=483051&r1=483050&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/Makefile.am (original)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/Makefile.am Wed Dec  6 04:27:54 2006
@@ -1,13 +1,13 @@
 noinst_LTLIBRARIES = libsandesha2_inmemory.la
 
 libsandesha2_inmemory_la_SOURCES = \
-								create_seq_mgr.c \
-								invoker_mgr.c \
-								sender_mgr.c \
-								next_msg_mgr.c \
-								seq_property_mgr.c \
-								transaction.c \
-								storage_mgr.c
+								inmemory_create_seq_mgr.c \
+								inmemory_invoker_mgr.c \
+								inmemory_sender_mgr.c \
+								inmemory_next_msg_mgr.c \
+								inmemory_seq_property_mgr.c \
+								inmemory_transaction.c \
+								inmemory_storage_mgr.c
 
 INCLUDES = -I$(top_builddir)/include \
 			-I$(top_builddir)/include/sandesha2 \

Copied: webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_create_seq_mgr.c (from r482886, webservices/sandesha/trunk/c/src/storage/inmemory/create_seq_mgr.c)
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_create_seq_mgr.c?view=diff&rev=483051&p1=webservices/sandesha/trunk/c/src/storage/inmemory/create_seq_mgr.c&r1=482886&p2=webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_create_seq_mgr.c&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/create_seq_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_create_seq_mgr.c Wed Dec  6 04:27:54 2006
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
  
-#include <sandesha2_create_seq_mgr.h>
+#include <sandesha2_inmemory_create_seq_mgr.h>
 #include <sandesha2_constants.h>
 #include <sandesha2_error.h>
 #include <axis2_log.h>
@@ -22,87 +22,97 @@
 #include <axis2_thread.h>
 #include <axis2_property.h>
 
-typedef struct sandesha2_create_seq_mgr_impl sandesha2_create_seq_mgr_impl_t;
-
 /** 
  * @brief Sandesha Sequence Report Struct Impl
  *   Sandesha Sequence Report 
  */ 
-struct sandesha2_create_seq_mgr_impl
+struct sandesha2_inmemory_create_seq_mgr
 {
     sandesha2_create_seq_mgr_t seq_mgr;
 	
     axis2_hash_t *table;
     axis2_thread_mutex_t *mutex;
 
-};
+}sandesha2_inmemory_create_seq_mgr_t;
+
+#define SANDESHA2_INTF_TO_IMPL(seq_mgr) ((sandesha2_inmemory_create_seq_mgr_t *) seq_mgr)
 
-#define SANDESHA2_INTF_TO_IMPL(seq_mgr) ((sandesha2_create_seq_mgr_impl_t *) seq_mgr)
+static axis2_status_t AXIS2_CALL 
+sandesha2_inmemory_create_seq_mgr_free(
+    sandesha2_create_seq_mgr_t *seq_mgr,
+    const axis2_env_t *envv);
+
+static axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_insert(
+    sandesha2_create_seq_mgr_t *seq_mgr,
+    const axis2_env_t *env,
+    sandesha2_create_seq_bean_t *bean);
+
+static axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_remove(
+    sandesha2_create_seq_mgr_t *seq_mgr,
+    const axis2_env_t *env,
+    axis2_char_t *msg_id);
+
+static sandesha2_create_seq_bean_t *AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_retrieve(
+    sandesha2_create_seq_mgr_t *seq_mgr,
+    const axis2_env_t *env,
+    const axis2_char_t *msg_id);
+
+static axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_update(
+    sandesha2_create_seq_mgr_t *seq_mgr,
+    const axis2_env_t *env,
+    sandesha2_create_seq_bean_t *bean);
+
+static axis2_array_list_t *AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_find(
+    sandesha2_create_seq_mgr_t *seq_mgr,
+    const axis2_env_t *env,
+    sandesha2_create_seq_bean_t *bean);
+
+static sandesha2_create_seq_bean_t *AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_find_unique(
+    sandesha2_create_seq_mgr_t *seq_mgr,
+    const axis2_env_t *env,
+    sandesha2_create_seq_bean_t *bean);
 
-axis2_status_t AXIS2_CALL 
-sandesha2_create_seq_mgr_free(
-        void *seq_mgr,
-        const axis2_env_t *envv);
-
-axis2_bool_t AXIS2_CALL
-sandesha2_create_seq_mgr_insert(
-        sandesha2_create_seq_mgr_t *seq_mgr,
-        const axis2_env_t *env,
-        sandesha2_create_seq_bean_t *bean);
-
-axis2_bool_t AXIS2_CALL
-sandesha2_create_seq_mgr_remove(
-        sandesha2_create_seq_mgr_t *seq_mgr,
-        const axis2_env_t *env,
-        axis2_char_t *msg_id);
-
-sandesha2_create_seq_bean_t *AXIS2_CALL
-sandesha2_create_seq_mgr_retrieve(
-        sandesha2_create_seq_mgr_t *seq_mgr,
-        const axis2_env_t *env,
-        const axis2_char_t *msg_id);
-
-axis2_bool_t AXIS2_CALL
-sandesha2_create_seq_mgr_update(
-        sandesha2_create_seq_mgr_t *seq_mgr,
-        const axis2_env_t *env,
-        sandesha2_create_seq_bean_t *bean);
-
-axis2_array_list_t *AXIS2_CALL
-sandesha2_create_seq_mgr_find(
-        sandesha2_create_seq_mgr_t *seq_mgr,
-        const axis2_env_t *env,
-        sandesha2_create_seq_bean_t *bean);
-
-sandesha2_create_seq_bean_t *AXIS2_CALL
-sandesha2_create_seq_mgr_find_unique(
-        sandesha2_create_seq_mgr_t *seq_mgr,
-        const axis2_env_t *env,
-        sandesha2_create_seq_bean_t *bean);
+
+static const sandesha2_create_seq_mgr_ops_t create_seq_mgr_ops = 
+{
+    sandesha2_inmemory_create_seq_mgr_free,
+    sandesha2_inmemory_create_seq_mgr_insert,
+    sandesha2_inmemory_create_seq_mgr_remove,
+    sandesha2_inmemory_create_seq_mgr_retrieve,
+    sandesha2_inmemory_create_seq_mgr_update,
+    sandesha2_inmemory_create_seq_mgr_find,
+    sandesha2_inmemory_create_seq_mgr_find_unique
+};
 
 AXIS2_EXTERN sandesha2_create_seq_mgr_t * AXIS2_CALL
-sandesha2_create_seq_mgr_create(
-        const axis2_env_t *env,
-        axis2_ctx_t *ctx)
+sandesha2_inmemory_create_seq_mgr_create(
+    const axis2_env_t *env,
+    axis2_ctx_t *ctx)
 {
-    sandesha2_create_seq_mgr_impl_t *seq_mgr_impl = NULL;
+    sandesha2_inmemory_create_seq_mgr_t *seq_mgr_impl = NULL;
     axis2_property_t *property = NULL;
     
     AXIS2_ENV_CHECK(env, NULL);
     seq_mgr_impl = AXIS2_MALLOC(env->allocator, 
-                    sizeof(sandesha2_create_seq_mgr_impl_t));
+                    sizeof(sandesha2_inmemory_create_seq_mgr_t));
 
     seq_mgr_impl->table = NULL;
     seq_mgr_impl->mutex = NULL;
 
     seq_mgr_impl->seq_mgr.ops = AXIS2_MALLOC(env->allocator, 
-                    sizeof(sandesha2_create_seq_mgr_ops_t)); 
+                    sizeof(sandesha2_inmemory_create_seq_mgr_ops_t)); 
     
     seq_mgr_impl->mutex = axis2_thread_mutex_create(env->allocator, 
             AXIS2_THREAD_MUTEX_DEFAULT);
     if(!seq_mgr_impl->mutex) 
     {
-        sandesha2_create_seq_mgr_free(&(seq_mgr_impl->seq_mgr), env);
+        sandesha2_inmemory_create_seq_mgr_free(&(seq_mgr_impl->seq_mgr), env);
         return NULL;
     }
 
@@ -127,29 +137,16 @@
         AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_BEAN_MAP_CREATE_SEQUECE, 
                 property, AXIS2_FALSE);
     }
-    seq_mgr_impl->seq_mgr.ops->free = sandesha2_create_seq_mgr_free;
-    seq_mgr_impl->seq_mgr.ops->insert = 
-        sandesha2_create_seq_mgr_insert;
-    seq_mgr_impl->seq_mgr.ops->remove = 
-        sandesha2_create_seq_mgr_remove;
-    seq_mgr_impl->seq_mgr.ops->retrieve = 
-        sandesha2_create_seq_mgr_retrieve;
-    seq_mgr_impl->seq_mgr.ops->update = 
-        sandesha2_create_seq_mgr_update;
-    seq_mgr_impl->seq_mgr.ops->find = 
-        sandesha2_create_seq_mgr_find;
-    seq_mgr_impl->seq_mgr.ops->find_unique = 
-        sandesha2_create_seq_mgr_find_unique;
-
+    seq_mgr_impl->seq_mgr.ops = &create_seq_mgr_ops;
     return &(seq_mgr_impl->seq_mgr);
 }
 
-axis2_status_t AXIS2_CALL
-sandesha2_create_seq_mgr_free(
-        void *seq_mgr,
-        const axis2_env_t *env)
+static axis2_status_t AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_free(
+    void *seq_mgr,
+    const axis2_env_t *env)
 {
-    sandesha2_create_seq_mgr_impl_t *seq_mgr_impl = NULL;
+    sandesha2_inmemory_create_seq_mgr_t *seq_mgr_impl = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
     seq_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_mgr);
@@ -179,13 +176,13 @@
     return AXIS2_SUCCESS;
 }
 
-axis2_bool_t AXIS2_CALL
-sandesha2_create_seq_mgr_insert(
-        sandesha2_create_seq_mgr_t *seq_mgr,
-        const axis2_env_t *env,
-        sandesha2_create_seq_bean_t *bean)
+static axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_insert(
+    sandesha2_create_seq_mgr_t *seq_mgr,
+    const axis2_env_t *env,
+    sandesha2_create_seq_bean_t *bean)
 {
-    sandesha2_create_seq_mgr_impl_t *seq_mgr_impl = NULL;
+    sandesha2_inmemory_create_seq_mgr_t *seq_mgr_impl = NULL;
     axis2_char_t *msg_id = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
@@ -199,13 +196,13 @@
 
 }
 
-axis2_bool_t AXIS2_CALL
-sandesha2_create_seq_mgr_remove(
-        sandesha2_create_seq_mgr_t *seq_mgr,
-        const axis2_env_t *env,
-        axis2_char_t *msg_id)
+static axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_remove(
+    sandesha2_create_seq_mgr_t *seq_mgr,
+    const axis2_env_t *env,
+    axis2_char_t *msg_id)
 {
-    sandesha2_create_seq_mgr_impl_t *seq_mgr_impl = NULL;
+    sandesha2_inmemory_create_seq_mgr_t *seq_mgr_impl = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, msg_id, AXIS2_FALSE);
@@ -217,13 +214,13 @@
 
 }
 
-sandesha2_create_seq_bean_t *AXIS2_CALL
-sandesha2_create_seq_mgr_retrieve(
-        sandesha2_create_seq_mgr_t *seq_mgr,
-        const axis2_env_t *env,
-        const axis2_char_t *msg_id)
+static sandesha2_create_seq_bean_t *AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_retrieve(
+    sandesha2_create_seq_mgr_t *seq_mgr,
+    const axis2_env_t *env,
+    const axis2_char_t *msg_id)
 {
-    sandesha2_create_seq_mgr_impl_t *seq_mgr_impl = NULL;
+    sandesha2_inmemory_create_seq_mgr_t *seq_mgr_impl = NULL;
     sandesha2_create_seq_bean_t *bean = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
@@ -236,13 +233,13 @@
     return bean;
 }
 
-axis2_bool_t AXIS2_CALL
-sandesha2_create_seq_mgr_update(
-        sandesha2_create_seq_mgr_t *seq_mgr,
-        const axis2_env_t *env,
-        sandesha2_create_seq_bean_t *bean)
+static axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_update(
+    sandesha2_create_seq_mgr_t *seq_mgr,
+    const axis2_env_t *env,
+    sandesha2_create_seq_bean_t *bean)
 {
-    sandesha2_create_seq_mgr_impl_t *seq_mgr_impl = NULL;
+    sandesha2_inmemory_create_seq_mgr_t *seq_mgr_impl = NULL;
     axis2_char_t *msg_id = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
@@ -259,13 +256,13 @@
     return AXIS2_TRUE;
 }
 
-axis2_array_list_t *AXIS2_CALL
-sandesha2_create_seq_mgr_find(
-        sandesha2_create_seq_mgr_t *seq_mgr,
-        const axis2_env_t *env,
-        sandesha2_create_seq_bean_t *bean)
+static axis2_array_list_t *AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_find(
+    sandesha2_create_seq_mgr_t *seq_mgr,
+    const axis2_env_t *env,
+    sandesha2_create_seq_bean_t *bean)
 {
-    sandesha2_create_seq_mgr_impl_t *seq_mgr_impl = NULL;
+    sandesha2_inmemory_create_seq_mgr_t *seq_mgr_impl = NULL;
     axis2_array_list_t *beans = NULL;
     axis2_hash_index_t *i = NULL;
     sandesha2_create_seq_bean_t *temp = NULL;
@@ -328,13 +325,13 @@
     return beans;
 }
 
-sandesha2_create_seq_bean_t *AXIS2_CALL
-sandesha2_create_seq_mgr_find_unique(
-        sandesha2_create_seq_mgr_t *seq_mgr,
-        const axis2_env_t *env,
-        sandesha2_create_seq_bean_t *bean)
+static sandesha2_create_seq_bean_t *AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_find_unique(
+    sandesha2_create_seq_mgr_t *seq_mgr,
+    const axis2_env_t *env,
+    sandesha2_create_seq_bean_t *bean)
 {
-    sandesha2_create_seq_mgr_impl_t *seq_mgr_impl = NULL;
+    sandesha2_inmemory_create_seq_mgr_t *seq_mgr_impl = NULL;
     axis2_array_list_t *beans = NULL;
     int i = 0, size = 0;
     sandesha2_create_seq_bean_t *ret = NULL;
@@ -344,7 +341,7 @@
     seq_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_mgr);
 
     
-    beans = sandesha2_create_seq_mgr_find(seq_mgr, env, bean);
+    beans = sandesha2_inmemory_create_seq_mgr_find(seq_mgr, env, bean);
     if(beans)
         size = AXIS2_ARRAY_LIST_SIZE(beans, env);
     if( size > 1)
@@ -358,8 +355,6 @@
        ret = AXIS2_ARRAY_LIST_GET(beans, env, i);
        break;
     }
-    
-
     return ret;
 }
 

Copied: webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_invoker_mgr.c (from r482886, webservices/sandesha/trunk/c/src/storage/inmemory/invoker_mgr.c)
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_invoker_mgr.c?view=diff&rev=483051&p1=webservices/sandesha/trunk/c/src/storage/inmemory/invoker_mgr.c&r1=482886&p2=webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_invoker_mgr.c&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/invoker_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_invoker_mgr.c Wed Dec  6 04:27:54 2006
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
  
-#include <sandesha2_invoker_mgr.h>
+#include <sandesha2_inmemory_invoker_mgr.h>
 #include <sandesha2_constants.h>
 #include <sandesha2_error.h>
 #include <axis2_log.h>
@@ -23,167 +23,191 @@
 #include <axis2_property.h>
 
 /** 
- * @brief Sandesha Sequence Report Struct Impl
- *   Sandesha Sequence Report 
+ * @brief Sandesha2 Inmemory Invoker Manager Struct Impl
+ *   Sandesha2 Inmemory Invoker Manager 
  */ 
-struct sandesha2_invoker_mgr_t
+struct sandesha2_inmemory_invoker_mgr
 {
+    sandesha2_invoker_mgr_t invoker_mgr;
     axis2_hash_t *table;
     axis2_thread_mutex_t *mutex;
+}sandesha2_inmemory_invoker_mgr_t;
 
-};
+#define SANDESHA2_INTF_TO_IMPL(invoker_mgr) \
+    ((sandesha2_inmemory_invoker_mgr_t *) invoker_mgr)
 
-#define SANDESHA2_INTF_TO_IMPL(invoker) ((sandesha2_invoker_mgr_impl_t *) invoker)
+static const sandesha2_invoker_mgr_ops_t invoker_mgr_ops = 
+{
+    sandesha2_inmemory_invoker_mgr_free,
+    sandesha2_inmemory_invoker_mgr_insert,
+    sandesha2_inmemory_invoker_mgr_remove,
+    sandesha2_inmemory_invoker_mgr_retrieve,
+    sandesha2_inmemory_invoker_mgr_update,
+    sandesha2_inmemory_invoker_mgr_find,
+    sandesha2_inmemory_invoker_mgr_find_unique
+};
 
 AXIS2_EXTERN sandesha2_invoker_mgr_t * AXIS2_CALL
-sandesha2_invoker_mgr_create(
+sandesha2_inmemory_invoker_mgr_create(
     const axis2_env_t *env,
     axis2_ctx_t *ctx)
 {
-    sandesha2_invoker_mgr_t *invoker = NULL;
+    sandesha2_inmemory_invoker_mgr_t *invoker_mgr_impl = NULL;
     axis2_property_t *property = NULL;
     
     AXIS2_ENV_CHECK(env, NULL);
-    invoker = AXIS2_MALLOC(env->allocator, 
-                    sizeof(sandesha2_invoker_mgr_t));
+    invoker_mgr_impl = AXIS2_MALLOC(env->allocator, 
+                    sizeof(sandesha2_inmemory_invoker_mgr_t));
 
-    invoker->table = NULL;
-    invoker->mutex = NULL;
+    invoker_mgr_impl->table = NULL;
+    invoker_mgr_impl->mutex = NULL;
 
-    invoker->mutex = axis2_thread_mutex_create(env->allocator, 
+    invoker_mgr_impl->mutex = axis2_thread_mutex_create(env->allocator, 
             AXIS2_THREAD_MUTEX_DEFAULT);
-    if(!invoker->mutex) 
+    if(!invoker_mgr_impl->mutex) 
     {
-        sandesha2_invoker_mgr_free(invoker, env);
+        sandesha2_inmemory_invoker_mgr_free(invoker, env);
         return NULL;
     }
 
     property = AXIS2_CTX_GET_PROPERTY(ctx, env, 
             SANDESHA2_BEAN_MAP_STORAGE_MAP, AXIS2_FALSE);
-    if(NULL != property)
-        invoker->table = (axis2_hash_t *) AXIS2_PROPERTY_GET_VALUE(property, env);
-    if(!invoker->table)
+    if(property)
+        invoker_mgr_impl->table = (axis2_hash_t *) AXIS2_PROPERTY_GET_VALUE(
+            property, env);
+    if(!invoker_mgr_impl->table)
     {
         axis2_property_t *property = NULL;
 
         property = axis2_property_create(env);
-        invoker->table = axis2_hash_make(env);
-        if(!property || !invoker->table)
+        invoker_mgr_impl->table = axis2_hash_make(env);
+        if(!property || !invoker_mgr_impl->table)
         {
             AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
             return NULL;
         }
         AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_APPLICATION);
-        AXIS2_PROPERTY_SET_VALUE(property, env, invoker->table);
+        AXIS2_PROPERTY_SET_VALUE(property, env, invoker_mgr_impl->table);
         AXIS2_PROPERTY_SET_FREE_FUNC(property, env, axis2_hash_free_void_arg);
         AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_BEAN_MAP_STORAGE_MAP, 
                 property, AXIS2_FALSE);
     }
+    invoker_mgr_impl->invoker_mgr->ops = &invoker_mgr_ops;
 
-    return invoker;
+    return &(invoker_mgr_impl->invoker_mgr);
 }
 
 axis2_status_t AXIS2_CALL
-sandesha2_invoker_mgr_free(
-    sandesha2_invoker_mgr_t *invoker,
+sandesha2_inmemory_invoker_mgr_free(
+    sandesha2_invoker_mgr_t *invoker_mgr,
     const axis2_env_t *env)
 {
+    sandesha2_inmemory_invoker_mgr_t *invoker_mgr_impl = NULL;
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    invoker_mgr_impl = AXIS2_INTF_TO_IMPL(invoker_mgr);
 
-    if(invoker->mutex)
+    if(invoker_mgr_impl->mutex)
     {
-        axis2_thread_mutex_destroy(invoker->mutex);
-        invoker->mutex = NULL;
+        axis2_thread_mutex_destroy(invoker_mgr_impl->mutex);
+        invoker_mgr->mutex = NULL;
     }
-    if(invoker->table)
+    if(invoker_mgr_impl->table)
     {
-        axis2_hash_free(invoker->table, env);
-        invoker->table = NULL;
+        axis2_hash_free(invoker_mgr_impl->table, env);
+        invoker_mgr->table = NULL;
     }
 
-    if(invoker)
+    if(invoker_mgr_impl)
     {
-        AXIS2_FREE(env->allocator, invoker);
-        invoker = NULL;
+        AXIS2_FREE(env->allocator, invoker_mgr_impl);
+        invoker_mgr = NULL;
     }
     return AXIS2_SUCCESS;
 }
 
 axis2_bool_t AXIS2_CALL
-sandesha2_invoker_mgr_insert(
-    sandesha2_invoker_mgr_t *invoker,
+sandesha2_inmemory_invoker_mgr_insert(
+    sandesha2_invoker_mgr_t *invoker_mgr,
     const axis2_env_t *env,
     sandesha2_invoker_bean_t *bean)
 {
     axis2_char_t *ref_key = NULL;
+    sandesha2_inmemory_invoker_mgr_t *invoker_mgr_impl = NULL;
+    invoker_mgr_impl = AXIS2_INTF_TO_IMPL(invoker_mgr);
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
 
     ref_key = sandesha2_invoker_bean_get_msg_ctx_ref_key(bean, env);
-    axis2_hash_set(invoker->table, ref_key, AXIS2_HASH_KEY_STRING, bean);
-
+    axis2_hash_set(invoker_mgr_impl->table, ref_key, AXIS2_HASH_KEY_STRING, 
+        bean);
     return AXIS2_TRUE;
 
 }
 
 axis2_bool_t AXIS2_CALL
-sandesha2_invoker_mgr_remove(
-    sandesha2_invoker_mgr_t *invoker,
+sandesha2_inmemory_invoker_mgr_remove(
+    sandesha2_invoker_mgr_t *invoker_mgr,
     const axis2_env_t *env,
     axis2_char_t *key)
 {
+    sandesha2_inmemory_invoker_mgr_t *invoker_mgr_impl = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, key, AXIS2_FALSE);
+    invoker_mgr_impl = AXIS2_INTF_TO_IMPL(invoker_mgr);
 
-    axis2_hash_set(invoker->table, key, AXIS2_HASH_KEY_STRING, NULL);
+    axis2_hash_set(invoker_mgr_impl->table, key, AXIS2_HASH_KEY_STRING, NULL);
 
     return AXIS2_TRUE;
 
 }
 
 sandesha2_invoker_bean_t *AXIS2_CALL
-sandesha2_invoker_mgr_retrieve(
-    sandesha2_invoker_mgr_t *invoker,
+sandesha2_inmemory_invoker_mgr_retrieve(
+    sandesha2_invoker_mgr_t *invoker_mgr,
     const axis2_env_t *env,
     axis2_char_t *key)
 {
     sandesha2_invoker_bean_t *bean = NULL;
+    sandesha2_inmemory_invoker_mgr_t *invoker_mgr_impl = NULL;
+    invoker_mgr_impl = AXIS2_INTF_TO_IMPL(invoker_mgr);
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, key, AXIS2_FALSE);
 
-    bean = (sandesha2_invoker_bean_t *) axis2_hash_get(invoker->table, 
+    bean = (sandesha2_invoker_bean_t *) axis2_hash_get(invoker_mgr_impl->table, 
             key, AXIS2_HASH_KEY_STRING);
 
     return bean;
 }
 
 axis2_bool_t AXIS2_CALL
-sandesha2_invoker_mgr_update(
-    sandesha2_invoker_mgr_t *invoker,
+sandesha2_inmemory_invoker_mgr_update(
+    sandesha2_invoker_mgr_t *invoker_mgr,
     const axis2_env_t *env,
     sandesha2_invoker_bean_t *bean)
 {
     axis2_char_t *ref_key = NULL;
+    sandesha2_inmemory_invoker_mgr_t *invoker_mgr_impl = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
+    invoker_mgr_impl = AXIS2_INTF_TO_IMPL(invoker_mgr);
 
     ref_key = sandesha2_invoker_bean_get_msg_ctx_ref_key(bean, env);
     if(!ref_key)
     {
         return AXIS2_FALSE;
     }
-    axis2_hash_set(invoker->table, ref_key, AXIS2_HASH_KEY_STRING, bean);
+    axis2_hash_set(invoker_mgr_impl->table, ref_key, AXIS2_HASH_KEY_STRING, bean);
 
     return AXIS2_TRUE;
 }
 
 axis2_array_list_t *AXIS2_CALL
-sandesha2_invoker_mgr_find(
-    sandesha2_invoker_mgr_t *invoker,
+sandesha2_inmemory_invoker_mgr_find(
+    sandesha2_invoker_mgr_t *invoker_mgr,
     const axis2_env_t *env,
     sandesha2_invoker_bean_t *bean)
 {
@@ -191,8 +215,10 @@
     axis2_hash_index_t *i = NULL;
     sandesha2_invoker_bean_t *temp = NULL;
     void *v = NULL;
+    sandesha2_inmemory_invoker_mgr_t *invoker_mgr_impl = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+    invoker_mgr_impl = AXIS2_INTF_TO_IMPL(invoker_mgr);
 
     beans = axis2_array_list_create(env, 0);
     if(!beans)
@@ -204,7 +230,7 @@
     {
         return beans;
     }
-    for (i = axis2_hash_first (invoker->table, env); i; 
+    for (i = axis2_hash_first (invoker_mgr_impl->table, env); i; 
             i = axis2_hash_next (env, i))
     {
         axis2_bool_t select = AXIS2_TRUE;
@@ -254,19 +280,20 @@
 }
 
 sandesha2_invoker_bean_t *AXIS2_CALL
-sandesha2_invoker_mgr_find_unique(
-    sandesha2_invoker_mgr_t *invoker,
+sandesha2_inmemory_invoker_mgr_find_unique(
+    sandesha2_invoker_mgr_t *invoker_mgr,
     const axis2_env_t *env,
     sandesha2_invoker_bean_t *bean)
 {
     axis2_array_list_t *beans = NULL;
     int i = 0, size = 0;
     sandesha2_invoker_bean_t *ret = NULL;
-
+    sandesha2_inmemory_invoker_mgr_t *invoker_mgr_impl = NULL;
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
+    invoker_mgr_impl = AXIS2_INTF_TO_IMPL(invoker_mgr);
     
-    beans = sandesha2_invoker_mgr_find(invoker, env, bean);
+    beans = sandesha2_inmemory_invoker_mgr_find(invoker_mgr, env, bean);
     if(beans)
         size = AXIS2_ARRAY_LIST_SIZE(beans, env);
     if( size > 1)

Added: webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_next_msg_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_next_msg_mgr.c?view=auto&rev=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_next_msg_mgr.c (added)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_next_msg_mgr.c Wed Dec  6 04:27:54 2006
@@ -0,0 +1,348 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ 
+#include <sandesha2_next_msg_mgr.h>
+#include <sandesha2_constants.h>
+#include <sandesha2_error.h>
+#include <sandesha2_utils.h>
+#include <axis2_log.h>
+#include <axis2_hash.h>
+#include <axis2_thread.h>
+#include <axis2_property.h>
+
+/** 
+ * @brief Sandesha2 Inmemory Next Message Manager Struct Impl
+ *   Sandesha Sequence2 Inmemory Next Message Manager 
+ */ 
+struct sandesha2_inmemory_next_msg_mgr_t
+{
+    sandesha2_next_msg_mgr_t next_msg_mgr;
+    axis2_hash_t *table;
+    axis2_array_list_t *values;
+    axis2_thread_mutex_t *mutex;
+};
+
+#define SANDESHA2_INTF_TO_IMPL(next_msg_mgr) \
+    ((sandesha2_inmemory_next_msg_mgr_t *) next_msg_mgr)
+
+static const sandesha2_next_msg_mgr_ops_t next_msg_mgr_ops = 
+{
+    sandesha2_inmemory_next_msg_mgr_free,
+    sandesha2_inmemory_next_msg_mgr_insert,
+    sandesha2_inmemory_next_msg_mgr_remove,
+    sandesha2_inmemory_next_msg_mgr_retrieve,
+    sandesha2_inmemory_next_msg_mgr_update,
+    sandesha2_inmemory_next_msg_mgr_find,
+    sandesha2_inmemory_next_msg_mgr_find_unique,
+    sandesha2_inmemory_next_msg_mgr_retrieve_all
+};
+
+AXIS2_EXTERN sandesha2_next_msg_mgr_t * AXIS2_CALL
+sandesha2_inmemory_next_msg_mgr_create(
+    const axis2_env_t *env,
+    axis2_ctx_t *ctx)
+{
+    sandesha2_inmemory_next_msg_mgr_t *next_msg_mgr_impl = NULL;
+    axis2_property_t *property = NULL;
+    
+    AXIS2_ENV_CHECK(env, NULL);
+    next_msg_mgr_impl = AXIS2_MALLOC(env->allocator, 
+        sizeof(sandesha2_inmemory_next_msg_mgr_t));
+
+    next_msg_mgr_impl->table = NULL;
+    next_msg_mgr_impl->values = NULL;
+    next_msg_mgr_impl->mutex = NULL;
+
+    next_msg_mgr_impl->mutex = axis2_thread_mutex_create(env->allocator, 
+            AXIS2_THREAD_MUTEX_DEFAULT);
+    if(!next_msg_mgr_impl->mutex) 
+    {
+        sandesha2_inmemory_next_msg_mgr_free(&(next_msg_mgr_impl->next_msg), 
+            env);
+        return NULL;
+    }
+    next_msg_mgr_impl->values = axis2_array_list_create(env, 0);
+    if(!next_msg_mgr_impl->values)
+    {
+        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+        return NULL;
+    }
+
+    property = AXIS2_CTX_GET_PROPERTY(ctx, env, 
+            SANDESHA2_BEAN_MAP_NEXT_MESSAGE, AXIS2_FALSE);
+    if(property)
+        next_msg_mgr_impl->table = (axis2_hash_t *) AXIS2_PROPERTY_GET_VALUE(
+            property, env);
+    if(!next_msg_mgr_impl->table)
+    {
+        axis2_property_t *property = NULL;
+
+        property = axis2_property_create(env);
+        next_msg_mgr_impl->table = axis2_hash_make(env);
+        if(!property || !next_msg_mgr_impl->table)
+        {
+            AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+            return NULL;
+        }
+        AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_APPLICATION);
+        AXIS2_PROPERTY_SET_VALUE(property, env, next_msg_mgr_impl->table);
+        AXIS2_PROPERTY_SET_FREE_FUNC(property, env, axis2_hash_free_void_arg);
+        AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_BEAN_MAP_NEXT_MESSAGE, 
+                property, AXIS2_FALSE);
+    }
+    next_msg_mgr_impl->next_msg_mgr->ops = &next_msg_mgr_ops;
+
+    return &(next_msg_mgr_impl->next_msg_mgr);
+}
+
+axis2_status_t AXIS2_CALL
+sandesha2_inmemory_next_msg_mgr_free(
+    sandesha2_next_msg_mgr_t *next_msg_mgr,
+    const axis2_env_t *env)
+{
+    sandesha2_inmemory_next_msg_mgr_t *next_msg_mgr_impl = NULL;
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    next_msg_mgr_impl = SANDESHA2_INTF_TO_IMPL(next_msg_mgr);
+
+    if(next_msg_mgr_impl->mutex)
+    {
+        axis2_thread_mutex_destroy(next_msg_mgr_impl->mutex);
+        next_msg_mgr_impl->mutex = NULL;
+    }
+    if(next_msg_mgr_impl->table)
+    {
+        axis2_hash_free(next_msg_mgr_impl->table, env);
+        next_msg_mgr_impl->table = NULL;
+    }
+    if(next_msg_mgr_impl->values)
+    {
+        AXIS2_ARRAY_LIST_FREE(next_msg_mgr_impl->values, env);
+        next_msg_mgr_impl->values = NULL;
+    }
+
+    if(next_msg_mgr_impl)
+    {
+        AXIS2_FREE(env->allocator, next_msg_mgr_impl);
+        next_msg_mgr_impl = NULL;
+    }
+    return AXIS2_SUCCESS;
+}
+
+axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_next_msg_mgr_insert(
+    sandesha2_next_msg_mgr_t *next_msg_mgr,
+    const axis2_env_t *env,
+    sandesha2_next_msg_bean_t *bean)
+{
+    axis2_char_t *seq_id = NULL;
+    sandesha2_inmemory_next_msg_mgr_t *next_msg_mgr_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+    AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
+    next_msg_mgr_impl = SANDESHA2_INTF_TO_IMPL(next_msg_mgr);
+
+    seq_id = sandesha2_next_msg_bean_get_seq_id(bean, env);
+    if(!seq_id)
+    {
+        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_KEY_IS_NULL, AXIS2_FAILURE);
+        return AXIS2_FALSE;
+    }
+    axis2_hash_set(next_msg_mgr_impl->table, seq_id, AXIS2_HASH_KEY_STRING, 
+        bean);
+
+    return AXIS2_TRUE;
+
+}
+
+axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_next_msg_mgr_remove(
+    sandesha2_next_msg_mgr_t *next_msg_mgr,
+    const axis2_env_t *env,
+    axis2_char_t *seq_id)
+{
+    sandesha2_inmemory_next_msg_mgr_t *next_msg_mgr_impl = NULL;
+    AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+    AXIS2_PARAM_CHECK(env->error, seq_id, AXIS2_FALSE);
+    next_msg_mgr_impl = SANDESHA2_INTF_TO_IMPL(next_msg_mgr);
+
+    axis2_hash_set(next_msg_mgr_impl->table, seq_id, AXIS2_HASH_KEY_STRING, 
+        NULL);
+
+    return AXIS2_TRUE;
+
+}
+
+sandesha2_next_msg_bean_t *AXIS2_CALL
+sandesha2_inmemory_next_msg_mgr_retrieve(
+    sandesha2_next_msg_mgr_t *next_msg_mgr,
+    const axis2_env_t *env,
+    axis2_char_t *seq_id)
+{
+    sandesha2_next_msg_bean_t *bean = NULL;
+    sandesha2_inmemory_next_msg_mgr_t *next_msg_mgr_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+    AXIS2_PARAM_CHECK(env->error, seq_id, AXIS2_FALSE);
+    next_msg_mgr_impl = SANDESHA2_INTF_TO_IMPL(next_msg_mgr);
+
+    bean = (sandesha2_next_msg_bean_t *) axis2_hash_get(
+        next_msg_mgr_impl->table, seq_id, AXIS2_HASH_KEY_STRING);
+
+    return bean;
+}
+
+axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_next_msg_mgr_update(
+    sandesha2_next_msg_mgr_t *next_msg_mgr,
+    const axis2_env_t *env,
+    sandesha2_next_msg_bean_t *bean)
+{
+    axis2_char_t *seq_id = NULL;
+    sandesha2_inmemory_next_msg_mgr_t *next_msg_mgr_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+    AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
+    next_msg_mgr_impl = SANDESHA2_INTF_TO_IMPL(next_msg_mgr);
+
+    seq_id = sandesha2_next_msg_bean_get_seq_id(bean, env);
+    if(!seq_id)
+    {
+        return AXIS2_FALSE;
+    }
+    axis2_hash_set(next_msg_mgr_impl->table, seq_id, AXIS2_HASH_KEY_STRING, 
+        bean);
+    return AXIS2_TRUE;
+}
+
+axis2_array_list_t *AXIS2_CALL
+sandesha2_inmemory_next_msg_mgr_find(
+    sandesha2_next_msg_mgr_t *next_msg_mgr,
+    const axis2_env_t *env,
+    sandesha2_next_msg_bean_t *bean)
+{
+    axis2_array_list_t *beans = NULL;
+    axis2_hash_index_t *i = NULL;
+    sandesha2_inmemory_next_msg_mgr_t *next_msg_mgr_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+    next_msg_mgr_impl = SANDESHA2_INTF_TO_IMPL(next_msg_mgr);
+
+    beans = axis2_array_list_create(env, 0);
+    if(!beans)
+    {
+        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+        return NULL;
+    }
+    if(!bean)
+        return beans;
+    for (i = axis2_hash_first (next_msg_mgr_impl->table, env); i; 
+            i = axis2_hash_next (env, i))
+    {
+        sandesha2_next_msg_bean_t *temp = NULL;
+        void *v = NULL;
+        axis2_bool_t equal = AXIS2_TRUE;
+        long next_msg_no = 0;
+        long temp_next_msg_no = 0;
+        axis2_char_t *seq_id = NULL;
+        axis2_char_t *temp_seq_id = NULL;
+        
+        axis2_hash_this (i, NULL, NULL, &v);
+        temp = (sandesha2_next_msg_bean_t *) v;
+        next_msg_no = sandesha2_next_msg_bean_get_next_msg_no_to_process(bean, 
+            env);
+        temp_next_msg_no = sandesha2_next_msg_bean_get_next_msg_no_to_process(
+            temp, env);
+        if(next_msg_no > 0 && (next_msg_no != temp_next_msg_no))
+        {
+            equal = AXIS2_FALSE;
+        }
+        seq_id = sandesha2_next_msg_bean_get_seq_id(bean, env);
+        temp_seq_id = sandesha2_next_msg_bean_get_seq_id(temp, env);
+        if(seq_id && temp_seq_id && 0 != AXIS2_STRCMP(seq_id, temp_seq_id))
+        {
+            equal = AXIS2_FALSE;
+        }
+        if(AXIS2_TRUE == equal)
+        {
+            AXIS2_ARRAY_LIST_ADD(beans, env, temp);
+        }
+        
+    }
+
+    return beans;
+}
+
+sandesha2_next_msg_bean_t *AXIS2_CALL
+sandesha2_inmemory_next_msg_mgr_find_unique(
+    sandesha2_next_msg_mgr_t *next_msg_mgr,
+    const axis2_env_t *env,
+    sandesha2_next_msg_bean_t *bean)
+{
+    axis2_array_list_t *beans = NULL;
+    int i = 0, size = 0;
+    sandesha2_next_msg_bean_t *ret = NULL;
+    sandesha2_inmemory_next_msg_mgr_t *next_msg_mgr_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+    AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
+    next_msg_mgr_impl = SANDESHA2_INTF_TO_IMPL(next_msg_mgr);
+    
+    beans = sandesha2_inmemory_next_msg_mgr_find(next_msg, env, 
+            bean);
+    if(beans)
+        size = AXIS2_ARRAY_LIST_SIZE(beans, env);
+    if( size > 1)
+    {
+        AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Non-Unique result");
+        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NON_UNIQUE_RESULT, 
+                AXIS2_FAILURE);
+        return NULL;
+    }
+    for(i = 0; i < size; i++)
+    {
+       ret = AXIS2_ARRAY_LIST_GET(beans, env, i);
+       break;
+    }
+    
+
+    return ret;
+}
+
+axis2_array_list_t *AXIS2_CALL
+sandesha2_inmemory_next_msg_mgr_retrieve_all(
+    sandesha2_next_msg_mgr_t *next_msg_mgr,
+    const axis2_env_t *env)
+{
+    axis2_hash_index_t *i = NULL;
+    sandesha2_inmemory_next_msg_mgr_t *next_msg_mgr_impl = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+    next_msg_mgr_impl = SANDESHA2_INTF_TO_IMPL(next_msg_mgr);
+
+    for (i = axis2_hash_first (next_msg_mgr_impl->table, env); i; 
+            i = axis2_hash_next (env, i))
+    {
+        sandesha2_next_msg_bean_t *bean = NULL;
+        void *v = NULL;
+        
+        axis2_hash_this (i, NULL, NULL, &v);
+        bean = (sandesha2_next_msg_bean_t *) v;
+        AXIS2_ARRAY_LIST_ADD(next_msg_mgr_impl->values, env, bean);
+    }
+
+    return next_msg_mgr_impl->values;
+}
+

Copied: webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_sender_mgr.c (from r482886, webservices/sandesha/trunk/c/src/storage/inmemory/sender_mgr.c)
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_sender_mgr.c?view=diff&rev=483051&p1=webservices/sandesha/trunk/c/src/storage/inmemory/sender_mgr.c&r1=482886&p2=webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_sender_mgr.c&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/sender_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_sender_mgr.c Wed Dec  6 04:27:54 2006
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
  
-#include <sandesha2_sender_mgr.h>
+#include <sandesha2_inmemory_sender_mgr.h>
 #include <sandesha2_constants.h>
 #include <sandesha2_error.h>
 #include <sandesha2_utils.h>
@@ -24,106 +24,127 @@
 #include <axis2_property.h>
 
 /** 
- * @brief Sandesha Sequence Report Struct Impl
- *   Sandesha Sequence Report 
+ * @brief Sandesha2 Inmemory Sender Manager Struct Impl
+ *   Sandesha2 Inmemory Sender Manager 
  */ 
-struct sandesha2_sender_mgr_t
+struct sandesha2_inmemory_sender_mgr
 {
+    sandesha2_sender_mgr_t sender_mgr;
     axis2_hash_t *table;
     axis2_thread_mutex_t *mutex;
+}sandesha2_inmemory_sender_mgr_t;
 
-};
+#define SANDESHA2_INTF_TO_IMPL(sender_mgr) \
+    ((sandesha2_inmemory_sender_mgr_t *) sender_mgr)
 
 static axis2_status_t
-sandesha2_sender_mgr_update_next_sending_time(
-    sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_update_next_sending_time(
+    sandesha2_sender_mgr_t *sender_mgr,
     const axis2_env_t *env,
     sandesha2_sender_bean_t *bean);
 
+static const sandesha2_sender_mgr_ops_t sender_mgr_ops = 
+{
+    sandesha2_inmemory_sender_mgr_free,
+    sandesha2_inmemory_sender_mgr_insert,
+    sandesha2_inmemory_sender_mgr_remove,
+    sandesha2_inmemory_sender_mgr_retrieve,
+    sandesha2_inmemory_sender_mgr_update,
+    sandesha2_inmemory_sender_mgr_find_by_internal_seq_id,
+    sandesha2_inmemory_sender_mgr_find_by_sender_bean,
+    sandesha2_inmemory_sender_mgr_find_unique,
+    sandesha2_inmemory_sender_mgr_get_next_msg_to_send,
+    sandesha2_inmemory_sender_mgr_retrieve_from_msg_ref_key
+};
 
 AXIS2_EXTERN sandesha2_sender_mgr_t * AXIS2_CALL
-sandesha2_sender_mgr_create(
+sandesha2_inmemory_sender_mgr_create(
     const axis2_env_t *env,
     axis2_ctx_t *ctx)
 {
-    sandesha2_sender_mgr_t *sender = NULL;
+    sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
     axis2_property_t *property = NULL;
     
     AXIS2_ENV_CHECK(env, NULL);
-    sender = AXIS2_MALLOC(env->allocator, 
-                    sizeof(sandesha2_sender_mgr_t));
+    sender_mgr_impl = AXIS2_MALLOC(env->allocator, 
+        sizeof(sandesha2_inmemory_sender_mgr_t));
 
-    sender->table = NULL;
-    sender->mutex = NULL;
+    sender_mgr_impl->table = NULL;
+    sender_mgr_impl->mutex = NULL;
 
-    sender->mutex = axis2_thread_mutex_create(env->allocator, 
+    sender_mgr_impl->mutex = axis2_thread_mutex_create(env->allocator, 
             AXIS2_THREAD_MUTEX_DEFAULT);
-    if(!sender->mutex) 
+    if(!sender_mgr_impl->mutex) 
     {
-        sandesha2_sender_mgr_free(sender, env);
+        sandesha2_inmemory_sender_mgr_free(&(sender_mgr_impl->sender_mgr), env);
         return NULL;
     }
 
     property = AXIS2_CTX_GET_PROPERTY(ctx, env, 
             SANDESHA2_BEAN_MAP_RETRANSMITTER, AXIS2_FALSE);
     if(NULL != property)
-        sender->table = (axis2_hash_t *) AXIS2_PROPERTY_GET_VALUE(property, env);
-    if(!sender->table)
+        sender_mgr_impl->table = (axis2_hash_t *) AXIS2_PROPERTY_GET_VALUE(
+            property, env);
+    if(!sender_mgr_impl->table)
     {
         axis2_property_t *property = NULL;
 
         property = axis2_property_create(env);
-        sender->table = axis2_hash_make(env);
-        if(!property || !sender->table)
+        sender_mgr_impl->table = axis2_hash_make(env);
+        if(!property || !sender_mgr_impl->table)
         {
             AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
             return NULL;
         }
         AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_APPLICATION);
-        AXIS2_PROPERTY_SET_VALUE(property, env, sender->table);
+        AXIS2_PROPERTY_SET_VALUE(property, env, sender_mgr_impl->table);
         AXIS2_PROPERTY_SET_FREE_FUNC(property, env, axis2_hash_free_void_arg);
         AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_BEAN_MAP_RETRANSMITTER, 
                 property, AXIS2_FALSE);
     }
-
-    return sender;
+    sender_mgr_impl->sender_mgr->ops = &sender_mgr_ops;
+    return &(sender_mgr_impl->sender_mgr);
 }
 
 axis2_status_t AXIS2_CALL
-sandesha2_sender_mgr_free(
-    sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_free(
+    sandesha2_sender_mgr_t *sender_mgr,
     const axis2_env_t *env)
 {
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
+    sender_mgr_impl = SANDESHA2_INTF_TO_IMPL(sender_mgr);
 
-    if(sender->mutex)
+    if(sender_mgr_impl->mutex)
     {
-        axis2_thread_mutex_destroy(sender->mutex);
-        sender->mutex = NULL;
+        axis2_thread_mutex_destroy(sender_mgr_impl->mutex);
+        sender_mgr_impl->mutex = NULL;
     }
-    if(sender->table)
+    if(sender_mgr_impl->table)
     {
-        axis2_hash_free(sender->table, env);
-        sender->table = NULL;
+        axis2_hash_free(sender_mgr_impl->table, env);
+        sender_mgr_impl->table = NULL;
     }
-    if(sender)
+    if(sender_mgr_impl)
     {
-        AXIS2_FREE(env->allocator, sender);
-        sender = NULL;
+        AXIS2_FREE(env->allocator, sender_mgr_impl);
+        sender_mgr_impl = NULL;
     }
     return AXIS2_SUCCESS;
 }
 
 axis2_bool_t AXIS2_CALL
-sandesha2_sender_mgr_insert(
-    sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_insert(
+    sandesha2_sender_mgr_t *sender_mgr,
     const axis2_env_t *env,
     sandesha2_sender_bean_t *bean)
 {
     axis2_char_t *msg_id = NULL;
+    sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
+    sender_mgr_impl = SANDESHA2_INTF_TO_IMPL(sender_mgr);
 
     msg_id = sandesha2_sender_bean_get_msg_id(bean, env);
     if(!msg_id)
@@ -131,54 +152,58 @@
         AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_KEY_IS_NULL, AXIS2_FAILURE);
         return AXIS2_FALSE;
     }
-    axis2_hash_set(sender->table, msg_id, AXIS2_HASH_KEY_STRING, bean);
+    axis2_hash_set(sender_mgr_impl->table, msg_id, AXIS2_HASH_KEY_STRING, bean);
 
     return AXIS2_TRUE;
-
 }
 
 axis2_bool_t AXIS2_CALL
-sandesha2_sender_mgr_remove(
-    sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_remove(
+    sandesha2_sender_mgr_t *sender_mgr,
     const axis2_env_t *env,
     const axis2_char_t *msg_id)
 {
+    sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, msg_id, AXIS2_FALSE);
+    sender_mgr_impl = SANDESHA2_INTF_TO_IMPL(sender_mgr);
 
-    axis2_hash_set(sender->table, msg_id, AXIS2_HASH_KEY_STRING, NULL);
+    axis2_hash_set(sender_mgr_impl->table, msg_id, AXIS2_HASH_KEY_STRING, NULL);
 
     return AXIS2_TRUE;
-
 }
 
 sandesha2_sender_bean_t *AXIS2_CALL
-sandesha2_sender_mgr_retrieve(
-    sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_retrieve(
+    sandesha2_sender_mgr_t *sender_mgr,
     const axis2_env_t *env,
     const axis2_char_t *msg_id)
 {
     sandesha2_sender_bean_t *bean = NULL;
+    sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
+    sender_mgr_impl = SANDESHA2_INTF_TO_IMPL(sender_mgr);
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, msg_id, AXIS2_FALSE);
 
-    bean = (sandesha2_sender_bean_t *) axis2_hash_get(sender->table, 
+    bean = (sandesha2_sender_bean_t *) axis2_hash_get(sender_mgr_impl->table, 
             msg_id, AXIS2_HASH_KEY_STRING);
 
     return bean;
 }
 
 axis2_bool_t AXIS2_CALL
-sandesha2_sender_mgr_update(
-    sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_update(
+    sandesha2_sender_mgr_t *sender_mgr,
     const axis2_env_t *env,
     sandesha2_sender_bean_t *bean)
 {
     axis2_char_t *msg_id = NULL;
+    sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
+    sender_mgr_impl = SANDESHA2_INTF_TO_IMPL(sender_mgr);
 
     msg_id = sandesha2_sender_bean_get_msg_ctx_ref_key(bean, env);
     if(!msg_id)
@@ -190,15 +215,17 @@
 }
 
 axis2_array_list_t *AXIS2_CALL
-sandesha2_sender_mgr_find_by_internal_seq_id(
-    sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_find_by_internal_seq_id(
+    sandesha2_sender_mgr_t *sender_mgr,
     const axis2_env_t *env,
     axis2_char_t *internal_seq_id)
 {
     axis2_array_list_t *list = NULL;
     axis2_hash_index_t *i = NULL;
+    sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
 
     AXIS2_ENV_CHECK(env, NULL);
+    sender_mgr_impl = SANDESHA2_INTF_TO_IMPL(sender_mgr);
     
     list = axis2_array_list_create(env, 0);
     if(!list)
@@ -208,7 +235,7 @@
     }
     if(!internal_seq_id || 0 == AXIS2_STRCMP(internal_seq_id, ""))
         return list;
-    for (i = axis2_hash_first (sender->table, env); i; 
+    for (i = axis2_hash_first (sender_mgr_impl->table, env); i; 
             i = axis2_hash_next (env, i))
     {
         sandesha2_sender_bean_t *sender_bean = NULL;
@@ -231,15 +258,17 @@
 }
 
 axis2_array_list_t *AXIS2_CALL
-sandesha2_sender_mgr_find_by_sender_bean(
-    sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_find_by_sender_bean(
+    sandesha2_sender_mgr_t *sender_mgr,
     const axis2_env_t *env,
     sandesha2_sender_bean_t *bean)
 {
     axis2_array_list_t *beans = NULL;
     axis2_hash_index_t *i = NULL;
+    sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+    sender_mgr_impl = SANDESHA2_INTF_TO_IMPL(sender_mgr);
 
     beans = axis2_array_list_create(env, 0);
     if(!beans)
@@ -251,7 +280,7 @@
     {
         return beans;
     }
-    for (i = axis2_hash_first (sender->table, env); i; 
+    for (i = axis2_hash_first (sender_mgr_impl->table, env); i; 
             i = axis2_hash_next (env, i))
     {
         sandesha2_sender_bean_t *temp = NULL;
@@ -337,19 +366,21 @@
 }
 
 sandesha2_sender_bean_t *AXIS2_CALL
-sandesha2_sender_mgr_find_unique(
-    sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_find_unique(
+    sandesha2_sender_mgr_t *sender_mgr,
     const axis2_env_t *env,
     sandesha2_sender_bean_t *bean)
 {
     axis2_array_list_t *beans = NULL;
     int i = 0, size = 0;
     sandesha2_sender_bean_t *ret = NULL;
+    sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
+    sender_mgr_impl = SANDESHA2_INTF_TO_IMPL(sender_mgr);
     
-    beans = sandesha2_sender_mgr_find_by_sender_bean(sender, env, 
+    beans = sandesha2_inmemory_sender_mgr_find_by_sender_bean(sender_mgr, env, 
             bean);
     if(beans)
         size = AXIS2_ARRAY_LIST_SIZE(beans, env);
@@ -371,16 +402,18 @@
 }
 
 sandesha2_sender_bean_t *AXIS2_CALL
-sandesha2_sender_mgr_get_next_msg_to_send(
-    sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_get_next_msg_to_send(
+    sandesha2_sender_mgr_t *sender_mgr,
     const axis2_env_t *env)
 {
     long lowest_app_msg_no = 0;
     axis2_hash_index_t *i = NULL;
+    sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
 
     AXIS2_ENV_CHECK(env, NULL);
+    sender_mgr_impl = SANDESHA2_INTF_TO_IMPL(sender_mgr);
     
-    for (i = axis2_hash_first (sender->table, env); i; 
+    for (i = axis2_hash_first (sender_mgr_impl->table, env); i; 
             i = axis2_hash_next (env, i))
     {
         sandesha2_sender_bean_t *temp = NULL;
@@ -410,7 +443,7 @@
         }
     }
     
-    for (i = axis2_hash_first (sender->table, env); i; 
+    for (i = axis2_hash_first (sender_mgr_impl->table, env); i; 
             i = axis2_hash_next (env, i))
     {
         sandesha2_sender_bean_t *temp = NULL;
@@ -428,7 +461,6 @@
         {
             long time_to_send = 0;
             long time_now = 0;
-
             time_to_send = sandesha2_sender_bean_get_time_to_send(temp, env);
             time_now = sandesha2_utils_get_current_time_in_millis(env);
             if(time_now >= time_to_send)
@@ -447,8 +479,8 @@
                     valid = AXIS2_TRUE;
                 if(AXIS2_TRUE == valid)
                 {
-                    sandesha2_sender_mgr_update_next_sending_time(
-                            sender, env, temp);
+                    sandesha2_inmemory_sender_mgr_update_next_sending_time(
+                            sender_mgr, env, temp);
                     return temp;
                 }
             }
@@ -458,8 +490,8 @@
 }
 
 static axis2_status_t
-sandesha2_sender_mgr_update_next_sending_time(
-    sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_update_next_sending_time(
+    sandesha2_sender_mgr_t *sender_mgr,
     const axis2_env_t *env,
     sandesha2_sender_bean_t *bean)
 {
@@ -468,17 +500,19 @@
 
 /*
 static axis2_array_list_t *
-sandesha2_sender_mgr_find_beans_with_msg_no(
-    sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_find_beans_with_msg_no(
+    sandesha2_sender_mgr_t *sender_mgr,
     const axis2_env_t *env,
     axis2_array_list_t *list,
     long msg_no)
 {
     axis2_array_list_t *beans = NULL;
     int i = 0, size =0;
+    sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
 
     AXIS2_ENV_CHECK(env, NULL);
     AXIS2_PARAM_CHECK(env->error, list, NULL);
+    sender_mgr_impl = SANDESHA2_INTF_TO_IMPL(sender_mgr);
     
     beans = axis2_array_list_create(env, 0);
     if(!beans)
@@ -507,17 +541,19 @@
 */
 
 sandesha2_sender_bean_t *AXIS2_CALL
-sandesha2_sender_mgr_retrieve_from_msg_ref_key(
-    sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_retrieve_from_msg_ref_key(
+    sandesha2_sender_mgr_t *sender_mgr,
     const axis2_env_t *env,
     axis2_char_t *msg_ctx_ref_key)
 {
     axis2_hash_index_t *i = NULL;
+    sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
 
     AXIS2_ENV_CHECK(env, NULL);
     AXIS2_PARAM_CHECK(env->error, msg_ctx_ref_key, NULL);
+    sender_mgr_impl = SANDESHA2_INTF_TO_IMPL(sender_mgr);
     
-    for (i = axis2_hash_first (sender->table, env); i; 
+    for (i = axis2_hash_first (sender_mgr_impl->table, env); i; 
             i = axis2_hash_next (env, i))
     {
         sandesha2_sender_bean_t *bean = NULL;

Copied: webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_seq_property_mgr.c (from r482886, webservices/sandesha/trunk/c/src/storage/inmemory/seq_property_mgr.c)
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_seq_property_mgr.c?view=diff&rev=483051&p1=webservices/sandesha/trunk/c/src/storage/inmemory/seq_property_mgr.c&r1=482886&p2=webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_seq_property_mgr.c&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/seq_property_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_seq_property_mgr.c Wed Dec  6 04:27:54 2006
@@ -24,49 +24,66 @@
 #include <axis2_property.h>
 
 /** 
- * @brief Sandesha Sequence Report Struct Impl
- *   Sandesha Sequence Report 
+ * @brief Sandesha Inmemory Sequence Property Manager Struct Impl
+ *   Sandesha Inmemory Sequence Property Manager 
  */ 
-struct sandesha2_seq_property_mgr_t
+struct sandesha2_inmemory_seq_property_mgr
 {
+    sandesha2_seq_property_mgr_t seq_prop_mgr;
     axis2_hash_t *table;
     axis2_array_list_t *values;
     axis2_thread_mutex_t *mutex;
+} sandesha2_inmemory_seq_property_mgr_t;
 
-};
+#define SANDESHA2_INTF_TO_IMPL(seq_property_mgr) \
+    ((sandesha2_inmemory_seq_property_mgr_t *) seq_property_mgr)
 
 static axis2_char_t *
-sandesha2_seq_property_mgr_get_id(
+sandesha2_inmemory_seq_property_mgr_get_id(
     sandesha2_seq_property_mgr_t *seq_prop_mgr,
     const axis2_env_t *env,
     sandesha2_seq_property_bean_t *bean);
 
+static const sandesha2_seq_property_mgr_ops_t seq_property_mgr_ops = 
+{
+    sandesha2_inmemory_seq_property_mgr_free,
+    sandesha2_inmemory_seq_property_mgr_insert,
+    sandesha2_inmemory_seq_property_mgr_remove,
+    sandesha2_inmemory_seq_property_mgr_retrieve,
+    sandesha2_inmemory_seq_property_mgr_update,
+    sandesha2_inmemory_seq_property_mgr_find,
+    sandesha2_inmemory_seq_property_mgr_find_unique,
+    sandesha2_inmemory_seq_property_mgr_retrieve_all,
+    sandesha2_inmemory_seq_property_mgr_update_or_insert
+};
+
 AXIS2_EXTERN sandesha2_seq_property_mgr_t * AXIS2_CALL
-sandesha2_seq_property_mgr_create(
+sandesha2_inmemory_seq_property_mgr_create(
     const axis2_env_t *env,
     axis2_ctx_t *ctx)
 {
-    sandesha2_seq_property_mgr_t *seq_prop_mgr = NULL;
+    sandesha2_inmemory_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
     axis2_property_t *property = NULL;
     
     AXIS2_ENV_CHECK(env, NULL);
-    seq_prop_mgr = AXIS2_MALLOC(env->allocator, 
-                    sizeof(sandesha2_seq_property_mgr_t));
+    seq_prop_mgr_impl = AXIS2_MALLOC(env->allocator, 
+                    sizeof(sandesha2_inmemory_seq_property_mgr_t));
 
-    seq_prop_mgr->table = NULL;
-    seq_prop_mgr->values = NULL;
-    seq_prop_mgr->mutex = NULL;
+    seq_prop_mgr_impl->table = NULL;
+    seq_prop_mgr_impl->values = NULL;
+    seq_prop_mgr_impl->mutex = NULL;
 
-    seq_prop_mgr->mutex = axis2_thread_mutex_create(env->allocator, 
+    seq_prop_mgr_impl->mutex = axis2_thread_mutex_create(env->allocator, 
             AXIS2_THREAD_MUTEX_DEFAULT);
-    if(!seq_prop_mgr->mutex) 
+    if(!seq_prop_mgr_impl->mutex) 
     {
-        sandesha2_seq_property_mgr_free(seq_prop_mgr, env);
+        sandesha2_inmemory_seq_property_mgr_free(&(seq_prop_mgr_impl->
+            seq_prop_mgr), env);
         return NULL;
     }
     
-    seq_prop_mgr->values = axis2_array_list_create(env, 0);
-    if(!seq_prop_mgr->values)
+    seq_prop_mgr_impl->values = axis2_array_list_create(env, 0);
+    if(!seq_prop_mgr_impl->values)
     {
         AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
         return NULL;
@@ -75,61 +92,65 @@
     property = AXIS2_CTX_GET_PROPERTY(ctx, env, 
             SANDESHA2_BEAN_MAP_SEQ_PROPERTY, AXIS2_FALSE);
     if(NULL != property)
-        seq_prop_mgr->table = (axis2_hash_t *) AXIS2_PROPERTY_GET_VALUE(property, env);
-    if(!seq_prop_mgr->table)
+        seq_prop_mgr_impl->table = (axis2_hash_t *) AXIS2_PROPERTY_GET_VALUE(
+            property, env);
+    if(!seq_prop_mgr_impl->table)
     {
         axis2_property_t *property = NULL;
 
         property = axis2_property_create(env);
-        seq_prop_mgr->table = axis2_hash_make(env);
-        if(!property || !seq_prop_mgr->table)
+        seq_prop_mgr_impl->table = axis2_hash_make(env);
+        if(!property || !seq_prop_mgr_impl->table)
         {
             AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
             return NULL;
         }
         AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_APPLICATION);
-        AXIS2_PROPERTY_SET_VALUE(property, env, seq_prop_mgr->table);
+        AXIS2_PROPERTY_SET_VALUE(property, env, seq_prop_mgr_impl->table);
         AXIS2_PROPERTY_SET_FREE_FUNC(property, env, axis2_hash_free_void_arg);
         AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_BEAN_MAP_SEQ_PROPERTY, 
                 property, AXIS2_FALSE);
     }
-    return seq_prop_mgr;
+    seq_prop_mgr_impl->seq_prop_mgr->ops = &seq_property_mgr_ops;
+    return &(seq_prop_mgr_impl->seq_prop_mgr);
 }
 
 axis2_status_t AXIS2_CALL
-sandesha2_seq_property_mgr_free(
+sandesha2_inmemory_seq_property_mgr_free(
     sandesha2_seq_property_mgr_t *seq_prop_mgr,
     const axis2_env_t *env)
 {
+    sandesha2_inmemory_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    seq_prop_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_prop_mgr);
 
-    if(seq_prop_mgr->mutex)
+    if(seq_prop_mgr_impl->mutex)
     {
-        axis2_thread_mutex_destroy(seq_prop_mgr->mutex);
-        seq_prop_mgr->mutex = NULL;
+        axis2_thread_mutex_destroy(seq_prop_mgr_impl->mutex);
+        seq_prop_mgr_impl->mutex = NULL;
     }
-    if(seq_prop_mgr->values)
+    if(seq_prop_mgr_impl->values)
     {
-        AXIS2_ARRAY_LIST_FREE(seq_prop_mgr->values, env);
-        seq_prop_mgr->values = NULL;
+        AXIS2_ARRAY_LIST_FREE(seq_prop_mgr_impl->values, env);
+        seq_prop_mgr_impl->values = NULL;
     }
 
-    if(seq_prop_mgr->table)
+    if(seq_prop_mgr_impl->table)
     {
-        axis2_hash_free(seq_prop_mgr->table, env);
-        seq_prop_mgr->table = NULL;
+        axis2_hash_free(seq_prop_mgr_impl->table, env);
+        seq_prop_mgr_impl->table = NULL;
     }
 
-    if(seq_prop_mgr)
+    if(seq_prop_mgr_impl)
     {
-        AXIS2_FREE(env->allocator, seq_prop_mgr);
-        seq_prop_mgr = NULL;
+        AXIS2_FREE(env->allocator, seq_prop_mgr_impl);
+        seq_prop_mgr_impl = NULL;
     }
     return AXIS2_SUCCESS;
 }
 
 axis2_bool_t AXIS2_CALL
-sandesha2_seq_property_mgr_insert(
+sandesha2_inmemory_seq_property_mgr_insert(
     sandesha2_seq_property_mgr_t *seq_prop_mgr,
     const axis2_env_t *env,
     sandesha2_seq_property_bean_t *bean)
@@ -137,9 +158,11 @@
     axis2_char_t *seq_id = NULL;
     axis2_char_t *id = NULL;
     axis2_char_t *name = NULL;
+    sandesha2_inmemory_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
+    seq_prop_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_prop_mgr);
 
     seq_id = sandesha2_seq_property_bean_get_seq_id(bean, env);
     if(!seq_id)
@@ -152,14 +175,14 @@
         return AXIS2_FALSE;
     }
     id = axis2_strcat(env, seq_id, ":", name, NULL);
-    axis2_hash_set(seq_prop_mgr->table, id, AXIS2_HASH_KEY_STRING, bean);
+    axis2_hash_set(seq_prop_mgr_impl->table, id, AXIS2_HASH_KEY_STRING, bean);
 
     return AXIS2_TRUE;
 
 }
 
 axis2_bool_t AXIS2_CALL
-sandesha2_seq_property_mgr_remove(
+sandesha2_inmemory_seq_property_mgr_remove(
         sandesha2_seq_property_mgr_t *seq_prop_mgr,
         const axis2_env_t *env,
         axis2_char_t *seq_id,
@@ -167,15 +190,17 @@
 {
     sandesha2_seq_property_bean_t *bean = NULL;
     axis2_char_t *key = NULL;
+    sandesha2_inmemory_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, seq_id, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, name, AXIS2_FALSE);
+    seq_prop_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_prop_mgr);
     
-    bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, 
+    bean = sandesha2_inmemory_seq_property_mgr_retrieve(seq_prop_mgr, env, 
             seq_id, name);
     key = axis2_strcat(env, seq_id, ":", name, NULL); 
-    axis2_hash_set(seq_prop_mgr->table, key, AXIS2_HASH_KEY_STRING, NULL);
+    axis2_hash_set(seq_prop_mgr_impl->table, key, AXIS2_HASH_KEY_STRING, NULL);
     AXIS2_FREE(env->allocator, key);
 
     return AXIS2_TRUE;
@@ -183,7 +208,7 @@
 }
 
 sandesha2_seq_property_bean_t *AXIS2_CALL
-sandesha2_seq_property_mgr_retrieve(
+sandesha2_inmemory_seq_property_mgr_retrieve(
     sandesha2_seq_property_mgr_t *seq_prop_mgr,
     const axis2_env_t *env,
     axis2_char_t *seq_id,
@@ -191,56 +216,62 @@
 {
     sandesha2_seq_property_bean_t *bean = NULL;
     axis2_char_t *key = NULL;
+    sandesha2_inmemory_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, seq_id, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, name, AXIS2_FALSE);
+    seq_prop_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_prop_mgr);
     
     key = axis2_strcat(env, seq_id, ":", name, NULL); 
-    bean = (sandesha2_seq_property_bean_t *) axis2_hash_get(seq_prop_mgr->table, 
+    bean = (sandesha2_seq_property_bean_t *) axis2_hash_get(seq_prop_mgr_impl->table, 
             key, AXIS2_HASH_KEY_STRING);
 
     return bean;
 }
 
 axis2_bool_t AXIS2_CALL
-sandesha2_seq_property_mgr_update(
+sandesha2_inmemory_seq_property_mgr_update(
     sandesha2_seq_property_mgr_t *seq_prop_mgr,
     const axis2_env_t *env,
     sandesha2_seq_property_bean_t *bean)
 {
     axis2_char_t *id = NULL;
     sandesha2_seq_property_bean_t *bean_l = NULL;
+    sandesha2_inmemory_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
-    id = sandesha2_seq_property_mgr_get_id(seq_prop_mgr, env, bean);
+    seq_prop_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_prop_mgr);
+    id = sandesha2_inmemory_seq_property_mgr_get_id(seq_prop_mgr, env, bean);
     if(!id)
     {
         return AXIS2_FALSE;
     }
-    bean_l = axis2_hash_get(seq_prop_mgr->table, id, 
+    bean_l = axis2_hash_get(seq_prop_mgr_impl->table, id, 
             AXIS2_HASH_KEY_STRING);
     if(!bean_l)
     {
         return AXIS2_FALSE;
     }
-    axis2_hash_set(seq_prop_mgr->table, id, 
+    axis2_hash_set(seq_prop_mgr_impl->table, id, 
             AXIS2_HASH_KEY_STRING, bean);
 
     return AXIS2_TRUE;
 }
 
 axis2_array_list_t *AXIS2_CALL
-sandesha2_seq_property_mgr_find(
+sandesha2_inmemory_seq_property_mgr_find(
     sandesha2_seq_property_mgr_t *seq_prop_mgr,
     const axis2_env_t *env,
     sandesha2_seq_property_bean_t *bean)
 {
     axis2_array_list_t *beans = NULL;
     axis2_hash_index_t *i = NULL;
+    sandesha2_inmemory_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+    seq_prop_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_prop_mgr);
 
     beans = axis2_array_list_create(env, 0);
     if(!beans)
@@ -252,7 +283,7 @@
     {
         return beans;
     }
-    for (i = axis2_hash_first (seq_prop_mgr->table, env); i; 
+    for (i = axis2_hash_first (seq_prop_mgr_impl->table, env); i; 
             i = axis2_hash_next (env, i))
     {
         sandesha2_seq_property_bean_t *temp = NULL;
@@ -297,7 +328,7 @@
 }
 
 sandesha2_seq_property_bean_t *AXIS2_CALL
-sandesha2_seq_property_mgr_find_unique(
+sandesha2_inmemory_seq_property_mgr_find_unique(
     sandesha2_seq_property_mgr_t *seq_prop_mgr,
     const axis2_env_t *env,
     sandesha2_seq_property_bean_t *bean)
@@ -305,11 +336,13 @@
     axis2_array_list_t *beans = NULL;
     int i = 0, size = 0;
     sandesha2_seq_property_bean_t *ret = NULL;
+    sandesha2_inmemory_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
+    seq_prop_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_prop_mgr);
     
-    beans = sandesha2_seq_property_mgr_find(seq_prop_mgr, env, 
+    beans = sandesha2_inmemory_seq_property_mgr_find(seq_prop_mgr, env, 
             bean);
     if(beans)
         size = AXIS2_ARRAY_LIST_SIZE(beans, env);
@@ -330,15 +363,17 @@
 }
 
 axis2_array_list_t *AXIS2_CALL
-sandesha2_seq_property_mgr_retrieve_all(
+sandesha2_inmemory_seq_property_mgr_retrieve_all(
     sandesha2_seq_property_mgr_t *seq_prop_mgr,
     const axis2_env_t *env)
 {
     axis2_hash_index_t *i = NULL;
+    sandesha2_inmemory_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+    seq_prop_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_prop_mgr);
 
-    for (i = axis2_hash_first (seq_prop_mgr->table, env); i; 
+    for (i = axis2_hash_first (seq_prop_mgr_impl->table, env); i; 
             i = axis2_hash_next (env, i))
     {
         sandesha2_seq_property_bean_t *bean = NULL;
@@ -346,43 +381,45 @@
         
         axis2_hash_this (i, NULL, NULL, &v);
         bean = (sandesha2_seq_property_bean_t *) v;
-        AXIS2_ARRAY_LIST_ADD(seq_prop_mgr->values, env, bean);
+        AXIS2_ARRAY_LIST_ADD(seq_prop_mgr_impl->values, env, bean);
     }
 
-    return seq_prop_mgr->values;
+    return seq_prop_mgr_impl->values;
 }
 
 axis2_bool_t AXIS2_CALL
-sandesha2_seq_property_mgr_update_or_insert(
+sandesha2_inmemory_seq_property_mgr_update_or_insert(
     sandesha2_seq_property_mgr_t *seq_prop_mgr,
     const axis2_env_t *env,
     sandesha2_seq_property_bean_t *bean)
 {
     axis2_char_t *id = NULL;
     sandesha2_seq_property_bean_t *bean_l = NULL;
+    sandesha2_inmemory_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+    seq_prop_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_prop_mgr);
 
-    id = sandesha2_seq_property_mgr_get_id(seq_prop_mgr, env, bean);
+    id = sandesha2_inmemory_seq_property_mgr_get_id(seq_prop_mgr, env, bean);
     if(!id)
     {
         return AXIS2_FALSE;
     }
-    bean_l = axis2_hash_get(seq_prop_mgr->table, id, 
+    bean_l = axis2_hash_get(seq_prop_mgr_impl->table, id, 
             AXIS2_HASH_KEY_STRING);
     if(!bean_l)
     {
-        axis2_hash_set(seq_prop_mgr->table, id, 
+        axis2_hash_set(seq_prop_mgr_impl->table, id, 
             AXIS2_HASH_KEY_STRING, bean);
     }
-    axis2_hash_set(seq_prop_mgr->table, id, 
+    axis2_hash_set(seq_prop_mgr_impl->table, id, 
             AXIS2_HASH_KEY_STRING, bean);
 
     return AXIS2_TRUE;
 }
 
 static axis2_char_t *
-sandesha2_seq_property_mgr_get_id(
+sandesha2_inmemory_seq_property_mgr_get_id(
     sandesha2_seq_property_mgr_t *seq_prop_mgr,
     const axis2_env_t *env,
     sandesha2_seq_property_bean_t *bean)
@@ -390,8 +427,10 @@
     axis2_char_t *seq_id = NULL;
     axis2_char_t *name = NULL;
     axis2_char_t *id = NULL;
+    sandesha2_inmemory_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+    seq_prop_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_prop_mgr);
 
     seq_id = sandesha2_seq_property_bean_get_seq_id(bean, env);
     name = sandesha2_seq_property_bean_get_name(bean, env);



---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org