You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by da...@apache.org on 2006/12/07 04:30:00 UTC

svn commit: r483334 - in /webservices/sandesha/trunk/c/src/storage/inmemory: inmemory_create_seq_mgr.c inmemory_invoker_mgr.c inmemory_next_msg_mgr.c inmemory_sender_mgr.c inmemory_seq_property_mgr.c inmemory_transaction.c

Author: damitha
Date: Wed Dec  6 19:29:57 2006
New Revision: 483334

URL: http://svn.apache.org/viewvc?view=rev&rev=483334
Log:
More work on storage abstraction

Modified:
    webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_create_seq_mgr.c
    webservices/sandesha/trunk/c/src/storage/inmemory/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
    webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_seq_property_mgr.c
    webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_transaction.c

Modified: webservices/sandesha/trunk/c/src/storage/inmemory/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=483334&r1=483333&r2=483334
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_create_seq_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_create_seq_mgr.c Wed Dec  6 19:29:57 2006
@@ -16,6 +16,7 @@
  
 #include <sandesha2_inmemory_create_seq_mgr.h>
 #include <sandesha2_constants.h>
+#include <sandesha2_create_seq_mgr.h>
 #include <sandesha2_error.h>
 #include <axis2_log.h>
 #include <axis2_hash.h>
@@ -23,13 +24,12 @@
 #include <axis2_property.h>
 
 /** 
- * @brief Sandesha Sequence Report Struct Impl
- *   Sandesha Sequence Report 
+ * @brief Sandesha2 Inmemory Create Sequence Manager Struct Impl
+ *   Sandesha2 Inmemory Create Sequence Manager
  */ 
-struct sandesha2_inmemory_create_seq_mgr
+typedef struct sandesha2_inmemory_create_seq_mgr
 {
     sandesha2_create_seq_mgr_t seq_mgr;
-	
     axis2_hash_t *table;
     axis2_thread_mutex_t *mutex;
 
@@ -105,9 +105,6 @@
     seq_mgr_impl->table = NULL;
     seq_mgr_impl->mutex = NULL;
 
-    seq_mgr_impl->seq_mgr.ops = AXIS2_MALLOC(env->allocator, 
-                    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) 
@@ -143,7 +140,7 @@
 
 static axis2_status_t AXIS2_CALL
 sandesha2_inmemory_create_seq_mgr_free(
-    void *seq_mgr,
+    sandesha2_create_seq_mgr_t *seq_mgr,
     const axis2_env_t *env)
 {
     sandesha2_inmemory_create_seq_mgr_t *seq_mgr_impl = NULL;
@@ -161,13 +158,6 @@
         axis2_hash_free(seq_mgr_impl->table, env);
         seq_mgr_impl->table = NULL;
     }
-
-    if((&(seq_mgr_impl->seq_mgr))->ops)
-    {
-        AXIS2_FREE(env->allocator, (&(seq_mgr_impl->seq_mgr))->ops);
-        (&(seq_mgr_impl->seq_mgr))->ops = NULL;
-    }
-
     if(seq_mgr_impl)
     {
         AXIS2_FREE(env->allocator, seq_mgr_impl);

Modified: webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_invoker_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_invoker_mgr.c?view=diff&rev=483334&r1=483333&r2=483334
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_invoker_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_invoker_mgr.c Wed Dec  6 19:29:57 2006
@@ -15,6 +15,7 @@
  */
  
 #include <sandesha2_inmemory_invoker_mgr.h>
+#include <sandesha2_invoker_mgr.h>
 #include <sandesha2_constants.h>
 #include <sandesha2_error.h>
 #include <axis2_log.h>
@@ -26,7 +27,7 @@
  * @brief Sandesha2 Inmemory Invoker Manager Struct Impl
  *   Sandesha2 Inmemory Invoker Manager 
  */ 
-struct sandesha2_inmemory_invoker_mgr
+typedef struct sandesha2_inmemory_invoker_mgr
 {
     sandesha2_invoker_mgr_t invoker_mgr;
     axis2_hash_t *table;
@@ -36,6 +37,47 @@
 #define SANDESHA2_INTF_TO_IMPL(invoker_mgr) \
     ((sandesha2_inmemory_invoker_mgr_t *) invoker_mgr)
 
+axis2_status_t AXIS2_CALL
+sandesha2_inmemory_invoker_mgr_free(
+    sandesha2_invoker_mgr_t *invoker_mgr,
+    const axis2_env_t *env);
+
+axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_invoker_mgr_insert(
+    sandesha2_invoker_mgr_t *invoker_mgr,
+    const axis2_env_t *env,
+    sandesha2_invoker_bean_t *bean);
+
+axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_invoker_mgr_remove(
+    sandesha2_invoker_mgr_t *invoker_mgr,
+    const axis2_env_t *env,
+    axis2_char_t *key);
+
+sandesha2_invoker_bean_t *AXIS2_CALL
+sandesha2_inmemory_invoker_mgr_retrieve(
+    sandesha2_invoker_mgr_t *invoker_mgr,
+    const axis2_env_t *env,
+    axis2_char_t *key);
+
+axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_invoker_mgr_update(
+    sandesha2_invoker_mgr_t *invoker_mgr,
+    const axis2_env_t *env,
+    sandesha2_invoker_bean_t *bean);
+
+axis2_array_list_t *AXIS2_CALL
+sandesha2_inmemory_invoker_mgr_find(
+    sandesha2_invoker_mgr_t *invoker_mgr,
+    const axis2_env_t *env,
+    sandesha2_invoker_bean_t *bean);
+
+sandesha2_invoker_bean_t *AXIS2_CALL
+sandesha2_inmemory_invoker_mgr_find_unique(
+    sandesha2_invoker_mgr_t *invoker_mgr,
+    const axis2_env_t *env,
+    sandesha2_invoker_bean_t *bean);
+
 static const sandesha2_invoker_mgr_ops_t invoker_mgr_ops = 
 {
     sandesha2_inmemory_invoker_mgr_free,
@@ -66,7 +108,8 @@
             AXIS2_THREAD_MUTEX_DEFAULT);
     if(!invoker_mgr_impl->mutex) 
     {
-        sandesha2_inmemory_invoker_mgr_free(invoker, env);
+        sandesha2_inmemory_invoker_mgr_free(&(invoker_mgr_impl->invoker_mgr), 
+            env);
         return NULL;
     }
 
@@ -92,7 +135,7 @@
         AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_BEAN_MAP_STORAGE_MAP, 
                 property, AXIS2_FALSE);
     }
-    invoker_mgr_impl->invoker_mgr->ops = &invoker_mgr_ops;
+    invoker_mgr_impl->invoker_mgr.ops = &invoker_mgr_ops;
 
     return &(invoker_mgr_impl->invoker_mgr);
 }
@@ -104,23 +147,23 @@
 {
     sandesha2_inmemory_invoker_mgr_t *invoker_mgr_impl = NULL;
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
-    invoker_mgr_impl = AXIS2_INTF_TO_IMPL(invoker_mgr);
+    invoker_mgr_impl = SANDESHA2_INTF_TO_IMPL(invoker_mgr);
 
     if(invoker_mgr_impl->mutex)
     {
         axis2_thread_mutex_destroy(invoker_mgr_impl->mutex);
-        invoker_mgr->mutex = NULL;
+        invoker_mgr_impl->mutex = NULL;
     }
     if(invoker_mgr_impl->table)
     {
         axis2_hash_free(invoker_mgr_impl->table, env);
-        invoker_mgr->table = NULL;
+        invoker_mgr_impl->table = NULL;
     }
 
     if(invoker_mgr_impl)
     {
         AXIS2_FREE(env->allocator, invoker_mgr_impl);
-        invoker_mgr = NULL;
+        invoker_mgr_impl = NULL;
     }
     return AXIS2_SUCCESS;
 }
@@ -133,7 +176,7 @@
 {
     axis2_char_t *ref_key = NULL;
     sandesha2_inmemory_invoker_mgr_t *invoker_mgr_impl = NULL;
-    invoker_mgr_impl = AXIS2_INTF_TO_IMPL(invoker_mgr);
+    invoker_mgr_impl = SANDESHA2_INTF_TO_IMPL(invoker_mgr);
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
@@ -155,7 +198,7 @@
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, key, AXIS2_FALSE);
-    invoker_mgr_impl = AXIS2_INTF_TO_IMPL(invoker_mgr);
+    invoker_mgr_impl = SANDESHA2_INTF_TO_IMPL(invoker_mgr);
 
     axis2_hash_set(invoker_mgr_impl->table, key, AXIS2_HASH_KEY_STRING, NULL);
 
@@ -171,7 +214,7 @@
 {
     sandesha2_invoker_bean_t *bean = NULL;
     sandesha2_inmemory_invoker_mgr_t *invoker_mgr_impl = NULL;
-    invoker_mgr_impl = AXIS2_INTF_TO_IMPL(invoker_mgr);
+    invoker_mgr_impl = SANDESHA2_INTF_TO_IMPL(invoker_mgr);
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, key, AXIS2_FALSE);
@@ -193,7 +236,7 @@
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
-    invoker_mgr_impl = AXIS2_INTF_TO_IMPL(invoker_mgr);
+    invoker_mgr_impl = SANDESHA2_INTF_TO_IMPL(invoker_mgr);
 
     ref_key = sandesha2_invoker_bean_get_msg_ctx_ref_key(bean, env);
     if(!ref_key)
@@ -218,7 +261,7 @@
     sandesha2_inmemory_invoker_mgr_t *invoker_mgr_impl = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
-    invoker_mgr_impl = AXIS2_INTF_TO_IMPL(invoker_mgr);
+    invoker_mgr_impl = SANDESHA2_INTF_TO_IMPL(invoker_mgr);
 
     beans = axis2_array_list_create(env, 0);
     if(!beans)
@@ -291,7 +334,7 @@
     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);
+    invoker_mgr_impl = SANDESHA2_INTF_TO_IMPL(invoker_mgr);
     
     beans = sandesha2_inmemory_invoker_mgr_find(invoker_mgr, env, bean);
     if(beans)

Modified: 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=diff&rev=483334&r1=483333&r2=483334
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_next_msg_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_next_msg_mgr.c Wed Dec  6 19:29:57 2006
@@ -14,6 +14,7 @@
  * limitations under the License.
  */
  
+#include <sandesha2_inmemory_next_msg_mgr.h>
 #include <sandesha2_next_msg_mgr.h>
 #include <sandesha2_constants.h>
 #include <sandesha2_error.h>
@@ -27,17 +28,63 @@
  * @brief Sandesha2 Inmemory Next Message Manager Struct Impl
  *   Sandesha Sequence2 Inmemory Next Message Manager 
  */ 
-struct sandesha2_inmemory_next_msg_mgr_t
+typedef struct sandesha2_inmemory_next_msg_mgr
 {
     sandesha2_next_msg_mgr_t next_msg_mgr;
     axis2_hash_t *table;
     axis2_array_list_t *values;
     axis2_thread_mutex_t *mutex;
-};
+}sandesha2_inmemory_next_msg_mgr_t;
 
 #define SANDESHA2_INTF_TO_IMPL(next_msg_mgr) \
     ((sandesha2_inmemory_next_msg_mgr_t *) 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);
+
+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_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_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);
+
+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_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);
+
+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 *AXIS2_CALL
+sandesha2_inmemory_next_msg_mgr_retrieve_all(
+    sandesha2_next_msg_mgr_t *next_msg_mgr,
+    const axis2_env_t *env);
+
 static const sandesha2_next_msg_mgr_ops_t next_msg_mgr_ops = 
 {
     sandesha2_inmemory_next_msg_mgr_free,
@@ -70,7 +117,7 @@
             AXIS2_THREAD_MUTEX_DEFAULT);
     if(!next_msg_mgr_impl->mutex) 
     {
-        sandesha2_inmemory_next_msg_mgr_free(&(next_msg_mgr_impl->next_msg), 
+        sandesha2_inmemory_next_msg_mgr_free(&(next_msg_mgr_impl->next_msg_mgr), 
             env);
         return NULL;
     }
@@ -103,7 +150,7 @@
         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;
+    next_msg_mgr_impl->next_msg_mgr.ops = &next_msg_mgr_ops;
 
     return &(next_msg_mgr_impl->next_msg_mgr);
 }
@@ -300,8 +347,8 @@
     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);
+    beans = sandesha2_inmemory_next_msg_mgr_find(next_msg_mgr, env, 
+        bean);
     if(beans)
         size = AXIS2_ARRAY_LIST_SIZE(beans, env);
     if( size > 1)

Modified: webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_sender_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_sender_mgr.c?view=diff&rev=483334&r1=483333&r2=483334
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_sender_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_sender_mgr.c Wed Dec  6 19:29:57 2006
@@ -15,9 +15,11 @@
  */
  
 #include <sandesha2_inmemory_sender_mgr.h>
+#include <sandesha2_sender_mgr.h>
 #include <sandesha2_constants.h>
 #include <sandesha2_error.h>
 #include <sandesha2_utils.h>
+#include <sandesha2_sender_bean.h>
 #include <axis2_log.h>
 #include <axis2_hash.h>
 #include <axis2_thread.h>
@@ -27,12 +29,12 @@
  * @brief Sandesha2 Inmemory Sender Manager Struct Impl
  *   Sandesha2 Inmemory Sender Manager 
  */ 
-struct sandesha2_inmemory_sender_mgr
+typedef 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;
+} sandesha2_inmemory_sender_mgr_t;
 
 #define SANDESHA2_INTF_TO_IMPL(sender_mgr) \
     ((sandesha2_inmemory_sender_mgr_t *) sender_mgr)
@@ -43,6 +45,70 @@
     const axis2_env_t *env,
     sandesha2_sender_bean_t *bean);
 
+axis2_status_t AXIS2_CALL
+sandesha2_inmemory_sender_mgr_free(
+    sandesha2_sender_mgr_t *sender_mgr,
+    const axis2_env_t *env);
+
+axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_sender_mgr_insert(
+    sandesha2_sender_mgr_t *sender_mgr,
+    const axis2_env_t *env,
+    sandesha2_sender_bean_t *bean);
+
+axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_sender_mgr_remove(
+    sandesha2_sender_mgr_t *sender_mgr,
+    const axis2_env_t *env,
+    axis2_char_t *msg_id);
+
+sandesha2_sender_bean_t *AXIS2_CALL
+sandesha2_inmemory_sender_mgr_retrieve(
+    sandesha2_sender_mgr_t *sender_mgr,
+    const axis2_env_t *env,
+    axis2_char_t *msg_id);
+
+axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_sender_mgr_update(
+    sandesha2_sender_mgr_t *sender_mgr,
+    const axis2_env_t *env,
+    sandesha2_sender_bean_t *bean);
+
+axis2_array_list_t *AXIS2_CALL
+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 *AXIS2_CALL
+sandesha2_inmemory_sender_mgr_find_by_sender_bean(
+    sandesha2_sender_mgr_t *sender_mgr,
+    const axis2_env_t *env,
+    sandesha2_sender_bean_t *bean);
+
+sandesha2_sender_bean_t *AXIS2_CALL
+sandesha2_inmemory_sender_mgr_find_unique(
+    sandesha2_sender_mgr_t *sender_mgr,
+    const axis2_env_t *env,
+    sandesha2_sender_bean_t *bean);
+
+sandesha2_sender_bean_t *AXIS2_CALL
+sandesha2_inmemory_sender_mgr_get_next_msg_to_send(
+    sandesha2_sender_mgr_t *sender_mgr,
+    const axis2_env_t *env);
+
+static axis2_status_t
+sandesha2_inmemory_sender_mgr_update_next_sending_time(
+    sandesha2_sender_mgr_t *sender_mgr,
+    const axis2_env_t *env,
+    sandesha2_sender_bean_t *bean);
+
+sandesha2_sender_bean_t *AXIS2_CALL
+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);
+
 static const sandesha2_sender_mgr_ops_t sender_mgr_ops = 
 {
     sandesha2_inmemory_sender_mgr_free,
@@ -102,7 +168,7 @@
         AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_BEAN_MAP_RETRANSMITTER, 
                 property, AXIS2_FALSE);
     }
-    sender_mgr_impl->sender_mgr->ops = &sender_mgr_ops;
+    sender_mgr_impl->sender_mgr.ops = &sender_mgr_ops;
     return &(sender_mgr_impl->sender_mgr);
 }
 
@@ -161,7 +227,7 @@
 sandesha2_inmemory_sender_mgr_remove(
     sandesha2_sender_mgr_t *sender_mgr,
     const axis2_env_t *env,
-    const axis2_char_t *msg_id)
+    axis2_char_t *msg_id)
 {
     sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
@@ -177,7 +243,7 @@
 sandesha2_inmemory_sender_mgr_retrieve(
     sandesha2_sender_mgr_t *sender_mgr,
     const axis2_env_t *env,
-    const axis2_char_t *msg_id)
+    axis2_char_t *msg_id)
 {
     sandesha2_sender_bean_t *bean = NULL;
     sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;

Modified: webservices/sandesha/trunk/c/src/storage/inmemory/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=483334&r1=483333&r2=483334
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_seq_property_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_seq_property_mgr.c Wed Dec  6 19:29:57 2006
@@ -15,6 +15,7 @@
  */
  
 #include <sandesha2_seq_property_mgr.h>
+#include <sandesha2_inmemory_seq_property_mgr.h>
 #include <sandesha2_constants.h>
 #include <sandesha2_error.h>
 #include <sandesha2_utils.h>
@@ -27,7 +28,7 @@
  * @brief Sandesha Inmemory Sequence Property Manager Struct Impl
  *   Sandesha Inmemory Sequence Property Manager 
  */ 
-struct sandesha2_inmemory_seq_property_mgr
+typedef struct sandesha2_inmemory_seq_property_mgr
 {
     sandesha2_seq_property_mgr_t seq_prop_mgr;
     axis2_hash_t *table;
@@ -44,6 +45,66 @@
     const axis2_env_t *env,
     sandesha2_seq_property_bean_t *bean);
 
+axis2_status_t AXIS2_CALL
+sandesha2_inmemory_seq_property_mgr_free(
+    sandesha2_seq_property_mgr_t *seq_prop_mgr,
+    const axis2_env_t *env);
+
+axis2_bool_t AXIS2_CALL
+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);
+
+axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_seq_property_mgr_remove(
+        sandesha2_seq_property_mgr_t *seq_prop_mgr,
+        const axis2_env_t *env,
+        axis2_char_t *seq_id,
+        axis2_char_t *name);
+
+sandesha2_seq_property_bean_t *AXIS2_CALL
+sandesha2_inmemory_seq_property_mgr_retrieve(
+    sandesha2_seq_property_mgr_t *seq_prop_mgr,
+    const axis2_env_t *env,
+    axis2_char_t *seq_id,
+    axis2_char_t *name);
+
+axis2_bool_t AXIS2_CALL
+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_array_list_t *AXIS2_CALL
+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);
+
+sandesha2_seq_property_bean_t *AXIS2_CALL
+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);
+
+axis2_array_list_t *AXIS2_CALL
+sandesha2_inmemory_seq_property_mgr_retrieve_all(
+    sandesha2_seq_property_mgr_t *seq_prop_mgr,
+    const axis2_env_t *env);
+
+axis2_bool_t AXIS2_CALL
+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);
+
+static axis2_char_t *
+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,
@@ -111,7 +172,7 @@
         AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_BEAN_MAP_SEQ_PROPERTY, 
                 property, AXIS2_FALSE);
     }
-    seq_prop_mgr_impl->seq_prop_mgr->ops = &seq_property_mgr_ops;
+    seq_prop_mgr_impl->seq_prop_mgr.ops = &seq_property_mgr_ops;
     return &(seq_prop_mgr_impl->seq_prop_mgr);
 }
 

Modified: webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_transaction.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_transaction.c?view=diff&rev=483334&r1=483333&r2=483334
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_transaction.c (original)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_transaction.c Wed Dec  6 19:29:57 2006
@@ -100,9 +100,6 @@
     trans_impl->enlisted_beans = NULL;
     trans_impl->mutex = axis2_thread_mutex_create(env->allocator,
         AXIS2_THREAD_MUTEX_DEFAULT);
-    trans_impl->trans.ops = AXIS2_MALLOC(env->allocator, 
-        sizeof(sandesha2_transaction_ops_t)); 
-    
     trans_impl->trans.ops = &transaction_ops;
 
     return &(trans_impl->trans);
@@ -123,11 +120,6 @@
         axis2_thread_mutex_destroy(trans_impl->mutex);
         trans_impl->mutex = NULL;
     } 
-    if((&(trans_impl->trans))->ops)
-    {
-        AXIS2_FREE(env->allocator, (&(trans_impl->trans))->ops);
-        (&(trans_impl->trans))->ops = NULL;
-    }
     if(trans_impl->enlisted_beans)
     {
         AXIS2_ARRAY_LIST_FREE(trans_impl->enlisted_beans, env);



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