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 sa...@apache.org on 2006/06/29 08:15:40 UTC

svn commit: r417947 - in /webservices/sandesha/trunk/c: ./ include/sandesha2/ src/ src/msgprocessors/ src/storage/ src/storage/beans/

Author: sahan
Date: Wed Jun 28 23:15:39 2006
New Revision: 417947

URL: http://svn.apache.org/viewvc?rev=417947&view=rev
Log:
Adding storage impl. intial files provided by Sris. Refer to the 1st attachment of SANDESHA2-8

Added:
    webservices/sandesha/trunk/c/src/storage/beans/
    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/sequence_property_bean.c
Modified:
    webservices/sandesha/trunk/c/configure.ac
    webservices/sandesha/trunk/c/include/sandesha2/sandesha2_app_msg_processor.h
    webservices/sandesha/trunk/c/src/Makefile.am
    webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c
    webservices/sandesha/trunk/c/src/storage/Makefile.am

Modified: webservices/sandesha/trunk/c/configure.ac
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/configure.ac?rev=417947&r1=417946&r2=417947&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/configure.ac (original)
+++ webservices/sandesha/trunk/c/configure.ac Wed Jun 28 23:15:39 2006
@@ -68,6 +68,8 @@
 AC_CONFIG_FILES([Makefile
     src/Makefile \
     src/wsrm/Makefile\
+    src/storage/Makefile\
+    src/storage/beans/Makefile\
     ])
     
 AC_OUTPUT

Modified: webservices/sandesha/trunk/c/include/sandesha2/sandesha2_app_msg_processor.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2/sandesha2_app_msg_processor.h?rev=417947&r1=417946&r2=417947&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2/sandesha2_app_msg_processor.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2/sandesha2_app_msg_processor.h Wed Jun 28 23:15:39 2006
@@ -24,7 +24,6 @@
 
 #include <axis2_utils_defines.h>
 #include <axis2_env.h>
-#include <axiom_soap_envelope.h>
 #include <sandesha2/sandesha2_msg_processor.h>
 
 
@@ -38,7 +37,8 @@
  * @{
  */
     
-AXIS2_DECLARE(sandesha2_msg_processor_t*) sandesha2_app_msg_processor_create(
+AXIS2_EXTERN sandesha2_msg_processor_t* AXIS2_CALL
+sandesha2_app_msg_processor_create(
 						axis2_env_t **env, 
 					    sandesha2_msg_ctx_t *rm_msg_ctx);
 /** @} */

Modified: webservices/sandesha/trunk/c/src/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/Makefile.am?rev=417947&r1=417946&r2=417947&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/Makefile.am (original)
+++ webservices/sandesha/trunk/c/src/Makefile.am Wed Jun 28 23:15:39 2006
@@ -1 +1 @@
-SUBDIRS = wsrm
+SUBDIRS = wsrm storage

Modified: webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c?rev=417947&r1=417946&r2=417947&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c (original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c Wed Jun 28 23:15:39 2006
@@ -15,6 +15,7 @@
  */
  
 #include <sandesha2/sandesha2_app_msg_processor.h>
+#include <sandesha2/sandesa2_seq_ack.h>
 /** 
  * @brief Application Message Processor struct impl
  *	Sandesha2 App Msg Processor
@@ -23,39 +24,73 @@
   
 struct sandesha2_app_msg_processor_impl
 {
-	sandesha2_msg_processor_t identifier;
-	axis2_char_t *str_id;
-	axis2_char_t *ns_val;
+	sandesha2_msg_processor_t msg_processor;
 };
 
 #define SANDESHA2_INTF_TO_IMPL(identifier) \
 						((sandesha2_app_msg_processor_impl_t *)(identifier))
 
 /***************************** Function headers *******************************/
-axis2_char_t* AXIS2_CALL 
-sandesha2_app_msg_processor_get_namespace_value (sandesha2_msg_processor_t *element,
-						const axis2_env_t *env);
-    
-void* AXIS2_CALL 
-sandesha2_app_msg_processor_from_om_node(sandesha2_msg_processor_t *element,
-                    	const axis2_env_t *env, axis2_om_node_t *om_node);
-    
-axis2_om_element_t* AXIS2_CALL 
-sandesha2_app_msg_processor_to_om_node(sandesha2_msg_processor_t *element,
-                    	const axis2_env_t *env, axis2_om_node_t *om_node);
-                    	
+axis2_status_t AXIS2_CALL 
+sandesha2_app_msg_processor_process_in_msg (
+                        sandesha2_msg_processor_t *msg_processor,
+						const axis2_env_t *env,
+                        sandesha2_msg_ctx_t *msg_ctx);
+    
+axis2_status_t AXIS2_CALL 
+sandesha2_app_msg_processor_process_out_msg(
+                        sandesha2_msg_processor_t *msg_processor,
+                    	const axis2_env_t *env, 
+                        sandesha2_msg_ctx_t *msg_ctx);
+    
 axis2_bool_t AXIS2_CALL 
-sandesha2_app_msg_processor_is_namespace_supported(sandesha2_msg_processor_t *element,
-                    	const axis2_env_t *env, axis2_char_t *namespace);
+sandesha2_app_msg_processor_msg_num_is_in_list(
+                        sandesha2_msg_processor_t *msg_processor,
+                    	const axis2_env_t *env, 
+                        axis2_char_t *list,
+                        long num);
+                    	
+axis2_status_t AXIS2_CALL 
+sandesha2_app_msg_processor_send_ack_if_reqd(
+                        sandesha2_msg_processor_t *msg_processor,
+                    	const axis2_env_t *env,
+                        sandesha2_msg_ctx_t *msg_ctx,
+                        axis2_char_t *msg_str,
+                        sandesha2_storage_manager_t *manager);
                     	
-axis2_char_t * AXIS2_CALL
-sandesha2_app_msg_processor_get_identifier(sandesha2_msg_processor_t *element,
-                    	const axis2_env_t *env);
+axis2_status_t AXIS2_CALL
+sandesha2_app_msg_processor_add_create_seq_msg(
+                        sandesha2_msg_processor_t *msg_processor,
+                    	const axis2_env_t *env,
+                        sandesha2_msg_ctx_t *msg_ctx,
+                        axis2_char_t *internal_seq_id,
+                        axis2_char_t *acks_to,
+                        sandesha2_storage_manager_t *manager);
 
 axis2_status_t AXIS2_CALL                 
-sandesha2_app_msg_processor_set_identifier(sandesha2_msg_processor_t *element,
-                    	const axis2_env_t *env, axis2_char_t *identifier);
+sandesha2_app_msg_processor_process_response_msg(
+                        sandesha2_msg_processor_t *msg_processor,
+                    	const axis2_env_t *env,
+                        axis2_char_t *internal_seq_id,
+                        long msg_num,
+                        axis2_char_t *storage_key,
+                        sandesha2_storage_manager_t *manager);
 
+long AXIS2_CALL                 
+sandesha2_app_msg_processor_get_prev_msg_no(
+                        sandesha2_msg_processor_t *msg_processor,
+                    	const axis2_env_t *env,
+                        axis2_char_t *internal_seq_id,
+                        sandesha2_storage_manager_t *manager);
+
+axis2_status_t AXIS2_CALL                 
+sandesha2_app_msg_processor_set_next_msg_no(
+                        sandesha2_msg_processor_t *msg_processor,
+                    	const axis2_env_t *env,
+                        axis2_char_t *internal_seq_id,
+                        long msg_num,
+                        sandesha2_storage_manager_t *manager);
+                        
 axis2_status_t AXIS2_CALL 
 sandesha2_app_msg_processor_free (sandesha2_msg_processor_t *element, 
 						const axis2_env_t *env);								
@@ -63,76 +98,397 @@
 /***************************** End of function headers ************************/
 
 AXIS2_DECLARE(sandesha2_msg_processor_t*)
-sandesha2_app_msg_processor_create(const axis2_env_t *env,  axis2_char_t *ns_val)
+sandesha2_app_msg_processor_create(const axis2_env_t *env,  
+                        sandesha2_msg_ctx_t *rm_msg_ctx)
 {
-    sandesha2_app_msg_processor_impl_t *identifier_impl = NULL;
+    sandesha2_app_msg_processor_impl_t *msg_proc_impl = NULL;
     AXIS2_ENV_CHECK(env, NULL);
-    AXIS2_PARAM_CHECK(env->error, ns_val, NULL);
-    
-    if(AXIS2_FALSE == sandesha2_app_msg_processor_is_namespace_supported(
-                        identifier_impl, env, ns_val))
-    {
-        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_UNSUPPORTED_NS, 
-                            AXIS2_FAILURE);
-        return NULL;
-    }        
-    identifier_impl =  (sandesha2_app_msg_processor_impl_t *)AXIS2_MALLOC 
-                        (env->allocator, sizeof(sandesha2_app_msg_processor_impl_t));
+    AXIS2_PARAM_CHECK(env->error, rm_msg_ctx, NULL);
+          
+    msg_proc_impl =  (sandesha2_app_msg_processor_impl_t *)AXIS2_MALLOC 
+                        (env->allocator, 
+                        sizeof(sandesha2_app_msg_processor_impl_t));
 	
-    if(NULL == identifier_impl)
+    if(NULL == msg_proc_impl)
 	{
 		AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
         return NULL;
 	}
-    identifier_impl->ns_val = (axis2_char_t *)AXIS2_STRDUP(ns_val, env);
-    identifier_impl->str_id = NULL;
     
-    identifier_impl->identifier.ops = AXIS2_MALLOC(env->allocator,
-        sizeof(sandesha2_iom_rm_element_ops_t));
-    if(NULL == identifier_impl->identifier.ops)
+    msg_proc_impl->msg_processor.ops = AXIS2_MALLOC(env->allocator,
+        sizeof(sandesha2_msg_processor_ops_t));
+    if(NULL == msg_proc_impl->msg_processor.ops)
 	{
 		sandesha2_app_msg_processor_free((sandesha2_msg_processor_t*)
-                         identifier_impl, env);
+                         msg_proc_impl, env);
         AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
         return NULL;
 	}
     
-    identifier_impl->identifier.ops->get_namespace_value = 
-                        sandesha2_app_msg_processor_get_namespace_value;
-    identifier_impl->identifier.ops->from_om_node = 
-    					sandesha2_app_msg_processor_from_om_node;
-    identifier_impl->identifier.ops->to_om_node = 
-    					sandesha2_app_msg_processor_to_om_node;
-    identifier_impl->identifier.ops->is_namespace_supported = 
-    					sandesha2_app_msg_processor_is_namespace_supported
-    identifier_impl->identifier.ops->free = sandesha2_app_msg_processor_free;
+    msg_proc_impl->msg_processor.ops->process_in_msg = 
+                        sandesha2_app_msg_processor_process_in_msg;
+    msg_proc_impl->msg_processor.ops->process_out_msg = 
+    					sandesha2_app_msg_processor_fprocess_out_msg;
+    msg_proc_impl->msg_processor.ops->free = sandesha2_app_msg_processor_free;
                         
-	return &(identifier_impl->identifier);
+	return &(msg_proc_impl->msg_processor);
 }
 
 
 axis2_status_t AXIS2_CALL 
-sandesha2_app_msg_processor_free (sandesha2_msg_processor_t *element, 
+sandesha2_app_msg_processor_free (sandesha2_msg_processor_t *msg_processor, 
 						const axis2_env_t *env)
 {
-    sandesha2_app_msg_processor_impl_t *identifier_impl = NULL;
+    sandesha2_app_msg_processor_impl_t *msg_proc_impl = NULL;
 	AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
-    identifier_impl = SANDESHA2_INTF_TO_IMPL(element);
+    msg_proc_impl = SANDESHA2_INTF_TO_IMPL(element);
+    
+    if(NULL != msg_processor->ops)
+        AXIS2_FREE(env->allocator, msg_processor->ops);
+    
+	AXIS2_FREE(env->allocator, SANDESHA2_INTF_TO_IMPL(msg_processor));
+	return AXIS2_SUCCESS;
+}
+
+
+axis2_status_t AXIS2_CALL 
+sandesha2_app_msg_processor_process_in_msg (
+                        sandesha2_msg_processor_t *msg_processor,
+						const axis2_env_t *env,
+                        sandesha2_msg_ctx_t *msg_ctx)
+{
+    sandesha2_seq_ack_t *seq_ack = NULL;
+    sandesha2_ack_requested_t *ack_requested = NULL;
+    axis2_msg_ctx_t *msg_ctx1 = NULL;
+    axis2_char_t *processed = NULL;
+    axis2_op_ctx_t *op_ctx = NULL;
+    axis2_ctx_t *ctx = NULL;
+    axis2_conf_ctx_t *conf_ctx = NULL;
+    axis2_property_t *property = NULL;
+    sandesha2_storage_manager_t *storage_man = NULL;
+    sandesha2_msg_ctx_t *fault_ctx = NULL;
+    sandesha2_fault_manager_t *fault_man = NULL;
+    sandesha2_sequence_t *sequence = NULL;
+    axis2_char_t *str_seq_id = NULL;
+    sandesha2_seq_property_bean_t *msgs_bean = NULL;
+    long msg_no = 0;
+    long highest_in_msg_no = 0;
+    axis2_char_t *str_key = NULL;
+    axis2_char_t *msgs_str = "";
+    axis2_char_t msg_num_str[32];
     
-    if(NULL != identifier_impl->ns_val)
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->allocator, msg_ctx, AXIS2_FAILURE);
+    
+    seq_ack = SANDESHA2_MSG_CTX_GET_MSG_PART(msg_ctx, env, 
+                        SANDESHA2_MSG_PART_SEQ_ACKNOWLEDGEMENT);
+    if(NULL != seq_ack)
     {
-        AXIS2_FREE(env->allocator, identifier_impl->ns_val);
-        identifier_impl->ns_val = NULL;
+        sandesha2_ack_processor_t ack_proc = NULL;
+        ack_proc = sandesha2_ack_processor_create(env);
+        SANDESHA2_MSG_PROCESSOR_PROCESS_IN_MSG(ack_proc, env, msg_ctx);
     }
-    if(NULL != identifier_impl->str_id)
+    
+    ack_requested = SANDESHA2_MSG_CTX_GET_MSG_PART(msg_ctx, env,
+                        SANDESHA2_MSG_PART_ACK_REQUEST);
+    if(NULL != ack_requested)
     {
-    	AXIS2_FREE(env->allocator, identifier_impl->str_id);
-        identifier_impl->str_id = NULL;
+        SANDESHA2_ACK_REQUESTED_SET_MUST_UNDERSTAND(ack_requested, env, 
+                        AXIS2_FALSE);
+        SANDESHA2_MSG_CTX_ADD_SOAP_ENVELOPE(msg_ctx, env);
     }
-    if(NULL != element->ops)
-        AXIS2_FREE(env->allocator, element->ops);
     
-	AXIS2_FREE(env->allocator, SANDESHA2_INTF_TO_IMPL(element));
-	return AXIS2_SUCCESS;
+    msg_ctx1 = SANDESHA2_MSG_CTX_GET_MSG_CTX(msg_ctx, env);
+    if(NULL == msg_ctx1)
+    {
+        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NULL_MSG_CTX, 
+                        AXIS2_FAILURE);
+        return AXIS2_FAILURE;
+    }
+    property = SANDESHA2_MSG_CTX_GET_PROPERTY(msg_ctx, env, 
+                        SANDESHA2_APPLICATION_PROCESSING_DONE);
+    
+    if(NULL != property)
+    {
+        processed = AXIS2_PROPERTY_GET_VALUE(property, env);
+    }
+    if(NULL != processed && 0 == AXIS2_STRCMP(processed, "true"))
+    {
+        return AXIS2_SUCCESS;
+    }
+    
+    op_ctx = AXIS2_MSG_CTX_GET_OP_CTX(msg_ctx, env);
+    if (NULL != op_ctx)
+    {
+        ctx = AXIS2_OP_CTX_GET_BASE(op_ctx, env);
+        if (NULL != ctx)
+        {
+            axis2_char_t *value = NULL;
+
+            value = AXIS2_STRDUP("FALSE", env);
+            property = axis2_property_create(env);
+            AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_REQUEST);
+            AXIS2_PROPERTY_SET_VALUE(property, env, value);
+            AXIS2_CTX_SET_PROPERTY(ctx, env, AXIS2_RESPONSE_WRITTEN,
+                                        property, AXIS2_FALSE);
+        }
+    }
+    conf_ctx = AXIS2_MSG_CTX_GET_CONF_CTX(msg_ctx1, env);
+    storage_man = sandesha2_utils_get_storage_manager(env, conf_ctx, 
+                        AXIS2_CONF_CTX_GET_CONF(conf_ctx, env));
+    fault_man = sandesh2_fault_manager_create(env);
+    fault_ctx = SANDESHA2_FAULT_MANAGER_CHECK_FOR_LAST_MSG_NUM_EXCEEDED(
+                        fault_man, env, msg_ctx, storage_man);
+    if(NULL != fault_ctx)
+    {
+        axis2_engine_t *engine = axis2_engine_create(env, conf_ctx);
+        if(AXIS2_FAILURE == AXIS2_ENGINE_SEND_FAULT(engine, env, 
+                        SANDESHA2_MSG_CTX_GET_MSG_CTX(fault_ctx, env)))
+        {
+            AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_SENDING_FAULT,
+                        AXIS2_FAILURE);
+            return AXIS2_FAILURE;
+        }
+        AXIS2_MSG_CTX_PAUSE(msg_ctx1, env);
+        return AXIS2_SUCCESS;
+    }
+    seq_prop_mgr = SANDESHA2_STORAGE_MANAGER_GET_SEQ_PROPERTY_MANAGER(
+                        storage_man, env);
+    sequence = SANDESHA2_MSG_CTX_GET_MSG_PART(msg_ctx, env, 
+                        SANDESHA2_MSG_PART_SEQUENCE);
+    SANDESHA2_SEQUNCE_SET_MUST_UNDERSTAND(sequence, env, AXIS2_FALSE);
+    str_seq_id = SANDESHA2_IDENTIFIER_GET_IDENTIFIER(
+                        SANDESHA2_SEQUENCE_GET_IDENTIFIER(sequence, env));
+    fault_ctx = SANDESHA2_FAULT_MANAGER_CHECK_FOR_UNKNOWN_SEQ(fault_man, env,
+                        msg_ctx, str_seq_id, storage_man);
+    if(NULL != fault_ctx)
+    {
+        axis2_engine_t *engine = axis2_engine_create(env, conf_ctx);
+        if(AXIS2_FAILURE == AXIS2_ENGINE_SEND_FAULT(engine, env, 
+                        SANDESHA2_MSG_CTX_GET_MSG_CTX(fault_ctx, env)))
+        {
+            AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_SENDING_FAULT,
+                        AXIS2_FAILURE);
+            return AXIS2_FAILURE;
+        }
+        AXIS2_MSG_CTX_PAUSE(msg_ctx1, env);
+        return AXIS2_SUCCESS;
+    }
+    SANDESHA2_SEQUENCE_SET_MUST_UNDERSTAND(sequence, env, AXIS2_FALSE);
+    SANDESHA2_MSG_CTX_ADD_SOAP_ENVELOPE(msg_ctx, env);
+    fault_ctx = SANDESHA2_FAULT_MANAGER_CHECK_FOR_SEQ_CLOSED(fault_man, env, 
+                        str_seq_id, storage_man);
+    if(NULL != fault_code)
+    {
+        axis2_engine_t *engine = axis2_engine_create(env, conf_ctx);
+        if(AXIS2_FAILURE == AXIS2_ENGINE_SEND_FAULT(engine, env, 
+                        SANDESHA2_MSG_CTX_GET_MSG_CTX(fault_ctx, env)))
+        {
+            AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_SENDING_FAULT,
+                        AXIS2_FAILURE);
+            return AXIS2_FAILURE;
+        }
+        AXIS2_MSG_CTX_PAUSE(msg_ctx1, env);
+        return AXIS2_SUCCESS;
+    }
+    sandesha2_seq_manager_update_last_activated_time(env, str_seq_id, 
+                        storage_man);
+    msgs_bean = SANDESHA2_SEQUENCE_PROPERTY_MANAGER_RETRIEVE(seq_prop_mgr, env,
+                        str_seq_id, 
+                        SANDESHA2_SEQ_PROP_SERVER_COMPLETED_MESSAGES);
+    msg_no = SANDESHA2_MSG_NUMBER_GET_MSG_NUM(SANDESHA2_SEQUENCE_GET_MSG_NUM(
+                        sequence, env), env);
+    if(0 == msg_no)
+    {
+        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_INVALID_MSG_NUM, 
+                        AXIS2_FAILURE);
+        return AXIS2_FAILURE;
+    }
+    str_key = axis2_uuid_gen(env);
+    highest_in_msg_no_str = sandesha2_utils_get_seq_property(env, str_seq_id, 
+                        SANDESHA2_SEQ_PROP_HIGHEST_IN_MSG_NUMBER, storage_man);
+    highest_in_msg_key_str = sandesha2_utils_get_seq_property(env, str_seq_id, 
+                        SANDESHA2_SEQ_PROP_HIGHEST_IN_MSG_KEY, storage_man);
+    if(NULL == highest_in_msg_key_str)
+    {
+        highest_in_msg_key_str = axis2_uuid_gen(env);
+    }
+    if(NULL != highest_in_msg_no_str)
+    {
+        highest_in_msg_no = atol(highest_in_msg_no_str);
+    }
+    
+    sprintf(msg_num_str, "%ld", msg_no);
+    if(msg_no > highest_in_msg_no)
+    {
+        sandesha2_seq_property_bean_t *highest_msg_no_bean = NULL;
+        sandesha2_seq_property_bean_t *highest_msg_key_bean = NULL;
+        
+        highest_in_msg_no = msg_no;
+        highest_msg_no_bean = sandesha2_seq_property_bean_create(env, str_seq_id,
+                        SANDESHA2_SEQ_PROP_HIGHEST_IN_MSG_NUMBER, msg_num_str);
+        highest_msg_key_bean = sandesha2_seq_property_bean_create(env, 
+                        str_seq_id, SANDESHA2_SEQ_PROP_HIGHEST_IN_MSG_KEY, 
+                        highest_in_msg_key_str);
+        SANDESHA2_STORAGE_MANAGER_REMOVE_MSG_CTX(storage_man, env, 
+                        highest_in_msg_key_str);
+        SANDESHA2_STORAGE_MANAGER_store_MSG_CTX(storage_man, env, 
+                        highest_in_msg_key_str, msg_ctx1);
+        if(NULL != highest_in_msg_no_str)
+        {
+            SANDESHA2_SEQ_PROPERTY_MANAGER_UPDATE(seq_prop_mgr, env, 
+                        highest_msg_no_bean);
+            SANDESHA2_SEQ_PROPERTY_MANAGER_UPDATE(seq_prop_mgr, env, 
+                        highest_msg_key_bean);
+        }
+        else
+        {
+            SANDESHA2_SEQ_PROPERTY_MANAGER_INSERT(seq_prop_mgr, env, 
+                        highest_msg_no_bean);
+            SANDESHA2_SEQ_PROPERTY_MANAGER_INSERT(seq_prop_mgr, env, 
+                        highest_msg_key_bean);
+        }
+    }
+    
+    if(NULL != msgs_bean)
+    {
+        msgs_str = SANDESHA2_SEQ_PROPERTY_BEAN_GET_VALUE(msgs_bean, env);
+    }
+    else
+    {
+        msgs_bean = sandesha2_seq_property_bean_create(env);
+        SANDESHA2_SEQ_PROPERTY_BEAN_SET_SEQ_ID(msgs_bean, env, str_seq_id);
+        SANDESHA2_SEQ_PROPERTY_BEAN_SET_NAME(msgs_bean, env, 
+                        SANDESHA2_SEQ_PROP_SERVER_COMPLETED_MESSAGES);
+        SANDESHA2_SEQ_PROPERTY_BEAN_SET_VALUE(msgs_bean, env, msgs_str);
+    }
+    if(AXIS2_TRUE == sandesha2_app_msg_processor_msg_num_is_in_list(
+                        msg_processor, env, msgs_str, msg_no) &&
+                        0 == AXIS2_STRCMP(SANDESHA2_QOS_DEFAULT_INVOCATION_TYPE, 
+                        SANDESHA2_QOS_EXACTLY_ONCE))
+    {
+        SANDESHA2_MSG_CTX_PAUSE(msg_ctx, env);
+    }
+    if(NULL != msgs_str && 0 < AXIS2_STRLEN(msgs_str))
+    {
+        msgs_str = axis2_strcat(env, msgs_str, ",", msg_num_str);
+    }
+    else
+    {
+        msgs_str = AXIS2_STRDUP(msg_num_str, env);
+    }
+    SANDESHA2_SEQ_PROPERTY_BEAN_SET_VALUE(msgs_bean, env, msgs_str);
+    SANDESHA2_SEQ_PROPERY_MANAGER_UPDATE(seq_prop_mgr, env, msgs_bean);
+    
+    next_bean_mgr = SANDESHA2_STORAGE_MANAGER_GET_NEXT_BEAN_MANAGER(storage_man,
+                        env);
+    next_msg_bean = SANDESHA2_NEXT_MSG_BEAN_MANAGER_RETRIEVE(next_bean_mgr, env,
+                        str_seq_id);
+    if(NULL != next_msg_bean)
+    {
+        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_SEQ_NOT_EXIST, 
+                        AXIS2_FAILURE);
+        return AXIS2_FAILURE;
+    }
+    
+    
+}
+    
+axis2_status_t AXIS2_CALL 
+sandesha2_app_msg_processor_process_out_msg(
+                        sandesha2_msg_processor_t *msg_processor,
+                    	const axis2_env_t *env, 
+                        sandesha2_msg_ctx_t *msg_ctx)
+{
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->allocator, msg_ctx, AXIS2_FAILURE);
+    
+    
+}
+    
+axis2_bool_t AXIS2_CALL 
+sandesha2_app_msg_processor_msg_num_is_in_list(
+                        sandesha2_msg_processor_t *msg_processor,
+                    	const axis2_env_t *env, 
+                        axis2_char_t *list,
+                        long num)
+{
+    AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+    AXIS2_PARAM_CHECK(env->allocator, list, AXIS2_FALSE);
+    
+    
+}
+                    	
+axis2_status_t AXIS2_CALL 
+sandesha2_app_msg_processor_send_ack_if_reqd(
+                        sandesha2_msg_processor_t *msg_processor,
+                    	const axis2_env_t *env,
+                        sandesha2_msg_ctx_t *msg_ctx,
+                        axis2_char_t *msg_str,
+                        sandesha2_storage_manager_t *manager)
+{
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->allocator, msg_ctx, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->allocator, msg_str, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->allocator, manager, AXIS2_FAILURE);
+}
+                    	
+axis2_status_t AXIS2_CALL
+sandesha2_app_msg_processor_add_create_seq_msg(
+                        sandesha2_msg_processor_t *msg_processor,
+                    	const axis2_env_t *env,
+                        sandesha2_msg_ctx_t *msg_ctx,
+                        axis2_char_t *internal_seq_id,
+                        axis2_char_t *acks_to,
+                        sandesha2_storage_manager_t *manager)
+{
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->allocator, msg_ctx, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->allocator, internal_seq_id, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->allocator, acks_to, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->allocator, manager, AXIS2_FAILURE);
+    
 }
 
+axis2_status_t AXIS2_CALL                 
+sandesha2_app_msg_processor_process_response_msg(
+                        sandesha2_msg_processor_t *msg_processor,
+                    	const axis2_env_t *env,
+                        axis2_char_t *internal_seq_id,
+                        long msg_num,
+                        axis2_char_t *storage_key,
+                        sandesha2_storage_manager_t *manager)
+{
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->allocator, internal_seq_id, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->allocator, storage_key, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->allocator, manager, AXIS2_FAILURE);
+    
+}
+
+long AXIS2_CALL                 
+sandesha2_app_msg_processor_get_prev_msg_no(
+                        sandesha2_msg_processor_t *msg_processor,
+                    	const axis2_env_t *env,
+                        axis2_char_t *internal_seq_id,
+                        sandesha2_storage_manager_t *manager)
+{
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->allocator, internal_seq_id, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->allocator, manager, AXIS2_FAILURE);
+    
+}
+
+axis2_status_t AXIS2_CALL                 
+sandesha2_app_msg_processor_set_next_msg_no(
+                        sandesha2_msg_processor_t *msg_processor,
+                    	const axis2_env_t *env,
+                        axis2_char_t *internal_seq_id,
+                        long msg_num,
+                        sandesha2_storage_manager_t *manager)
+{
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->allocator, internal_seq_id, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->allocator, manager, AXIS2_FAILURE);
+    
+}

Modified: webservices/sandesha/trunk/c/src/storage/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/Makefile.am?rev=417947&r1=417946&r2=417947&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/Makefile.am (original)
+++ webservices/sandesha/trunk/c/src/storage/Makefile.am Wed Jun 28 23:15:39 2006
@@ -0,0 +1,10 @@
+SUBDIRS = beans
+lib_LTLIBRARIES = libsandesha2_storage.la
+
+libsandesha2_storage_la_SOURCES =
+
+
+libsandesha2_storage_la_LIBADD =  \
+			$(top_builddir)/src/storage/beans/libsandesha2_storage_beans.la
+
+

Added: webservices/sandesha/trunk/c/src/storage/beans/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/beans/Makefile.am?rev=417947&view=auto
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/beans/Makefile.am (added)
+++ webservices/sandesha/trunk/c/src/storage/beans/Makefile.am Wed Jun 28 23:15:39 2006
@@ -0,0 +1,11 @@
+TESTS =
+noinst_LTLIBRARIES = libsandesha2_storage_beans.la
+
+libsandesha2_storage_beans_la_SOURCES = invoker_bean.c \
+				create_seq_bean.c \
+				next_msg_bean.c \
+				sender_bean.c \
+				sequence_property_bean.c
+
+INCLUDES = -I$(top_builddir)/include \
+            @AXIS2INC@

Added: 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?rev=417947&view=auto
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/beans/create_seq_bean.c (added)
+++ webservices/sandesha/trunk/c/src/storage/beans/create_seq_bean.c Wed Jun 28 23:15:39 2006
@@ -0,0 +1,252 @@
+/*
+ * 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/sandesha2_create_seq_bean.h>
+#include <axis2_env.h>
+#include <axis2_utils.h>
+#include <axis2_utils_defines.h>
+#include <string.h>
+
+
+/*create_seq_bean struct */
+typedef struct sandesha2_create_seq_bean_impl sandesha2_create_seq_bean_impl_t;
+
+struct sandesha2_create_seq_bean_impl
+{
+	sandesha2_create_seq_bean_t o_bean;
+
+	/*  a unique identifier that can be used to identify the messages of a certain sequence */
+	axis2_char_t *internal_seq_id;
+
+	/* This is the message ID of the create sequence message. */
+	axis2_char_t *create_seq_msg_id;
+
+	/*  This is the actual Sequence ID of the sequence.*/
+	axis2_char_t *seq_id;
+
+};
+
+
+#define AXIS2_INTF_TO_IMPL(create_bean) ((sandesha2_create_seq_bean_impl_t*)create_bean)
+/* FUNCTION prototypes */
+
+axis2_status_t AXIS2_CALL 
+sandesha2_create_seq_bean_free  (sandesha2_create_seq_bean_t *create_seq,
+		const axis2_env_t *env);
+
+axis2_char_t* AXIS2_CALL 
+sandesha2_create_seq_bean_get_create_seq_msg_id  (sandesha2_create_seq_bean_t *create_seq,
+		const axis2_env_t *env);
+
+void AXIS2_CALL 
+sandesha2_create_seq_bean_set_create_seq_msg_id (sandesha2_create_seq_bean_t *create_seq,
+		const axis2_env_t *env, axis2_char_t* seq_msg_id) ;
+
+axis2_char_t* AXIS2_CALL 
+sandesha2_create_seq_bean_get_seq_id (sandesha2_create_seq_bean_t *create_seq,
+		const axis2_env_t *env);
+	
+void AXIS2_CALL
+sandesha2_create_seq_bean_set_seq_id (sandesha2_create_seq_bean_t *create_seq,
+		const axis2_env_t *env, axis2_char_t* seq_id) ;
+
+axis2_char_t* AXIS2_CALL
+sandesha2_create_seq_bean_get_internal_seq_id (sandesha2_create_seq_bean_t *create_seq,
+		const axis2_env_t *env);
+
+void AXIS2_CALL
+sandesha2_create_seq_bean_set_internal_seq_id (sandesha2_create_seq_bean_t *create_seq,
+		const axis2_env_t *env, axis2_char_t* int_seq_id);
+
+
+
+AXIS2_EXTERN sandesha2_create_seq_bean_t * AXIS2_CALL
+sandesha2_create_seq_bean_create(const axis2_env_t *env )
+{
+	sandesha2_create_seq_bean_impl_t *bean = NULL;
+	AXIS2_ENV_CHECK(env, NULL);
+
+	bean = (sandesha2_create_seq_bean_impl_t *) AXIS2_MALLOC(env->allocator, 
+				sizeof(sandesha2_create_seq_bean_impl_t) );
+
+	if (!bean)
+	{
+		AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+		return NULL;
+	}
+
+	/* init the properties. */
+	bean->internal_seq_id = NULL;
+	bean->create_seq_msg_id = NULL;
+	bean->seq_id = NULL;
+
+
+	bean->o_bean.ops = NULL;
+	bean->o_bean.ops = (sandesha2_create_seq_bean_ops_t *)AXIS2_MALLOC(env->allocator,
+								sizeof(sandesha2_create_seq_bean_ops_t));
+
+	if(!bean->o_bean.ops)
+	{
+		AXIS2_FREE(env->allocator, bean);
+		return NULL;
+	}
+
+	bean->o_bean.ops->free = sandesha2_create_seq_bean_free;
+	bean->o_bean.ops->get_create_seq_msg_id = sandesha2_create_seq_bean_get_create_seq_msg_id;
+	bean->o_bean.ops->set_create_seq_msg_id = sandesha2_create_seq_bean_set_create_seq_msg_id ;
+	bean->o_bean.ops->get_seq_id = sandesha2_create_seq_bean_get_seq_id;
+	bean->o_bean.ops->set_seq_id = sandesha2_create_seq_bean_set_seq_id;
+	bean->o_bean.ops->get_internal_seq_id = sandesha2_create_seq_bean_get_internal_seq_id;
+	bean->o_bean.ops->set_internal_seq_id = sandesha2_create_seq_bean_set_internal_seq_id;
+
+	return &(bean->o_bean);
+}
+	
+
+
+AXIS2_EXTERN sandesha2_create_seq_bean_t* AXIS2_CALL 
+sandesha2_create_seq_bean_create_with_data(const axis2_env_t *env,
+				axis2_char_t *internal_seq_id,
+				axis2_char_t *create_seq_msg_id,
+				axis2_char_t *seq_id)
+{
+	sandesha2_create_seq_bean_impl_t *bean = NULL;
+
+	AXIS2_ENV_CHECK(env, NULL);
+
+	bean = (sandesha2_create_seq_bean_impl_t*) AXIS2_MALLOC(env->allocator, 
+				sizeof(sandesha2_create_seq_bean_impl_t));
+
+	if (!bean)
+	{
+		AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+		return NULL;
+	}
+
+	/* init the properties. */
+	bean->internal_seq_id = internal_seq_id;
+	bean->create_seq_msg_id = create_seq_msg_id;
+	bean->seq_id = seq_id;
+
+
+	bean->o_bean.ops = NULL;
+	bean->o_bean.ops = (sandesha2_create_seq_bean_ops_t *)AXIS2_MALLOC(env->allocator,
+								sizeof(sandesha2_create_seq_bean_ops_t));
+
+	if(!bean->o_bean.ops)
+	{
+		AXIS2_FREE(env->allocator, bean);
+		return NULL;
+	}
+
+	bean->o_bean.ops->free = sandesha2_create_seq_bean_free;
+	bean->o_bean.ops->get_create_seq_msg_id = sandesha2_create_seq_bean_get_create_seq_msg_id;
+	bean->o_bean.ops->set_create_seq_msg_id = sandesha2_create_seq_bean_set_create_seq_msg_id ;
+	bean->o_bean.ops->get_seq_id = sandesha2_create_seq_bean_get_seq_id;
+	bean->o_bean.ops->set_seq_id = sandesha2_create_seq_bean_set_seq_id;
+	bean->o_bean.ops->get_internal_seq_id = sandesha2_create_seq_bean_get_internal_seq_id;
+	bean->o_bean.ops->set_internal_seq_id = sandesha2_create_seq_bean_set_internal_seq_id;
+	bean->o_bean.ops->free = sandesha2_create_seq_bean_free;
+	bean->o_bean.ops->free = sandesha2_create_seq_bean_free;
+
+	return &(bean->o_bean);
+}
+
+
+axis2_status_t AXIS2_CALL
+sandesha2_create_seq_bean_free  (sandesha2_create_seq_bean_t *create_seq,
+		                const axis2_env_t *env)
+{
+	sandesha2_create_seq_bean_impl_t *bean_impl = NULL;
+	bean_impl = (sandesha2_create_seq_bean_impl_t*)create_seq;
+
+	if(bean_impl->internal_seq_id)
+	{
+		AXIS2_FREE(env->allocator, bean_impl->internal_seq_id);
+		bean_impl->internal_seq_id = NULL;
+	}
+		
+	if(bean_impl->create_seq_msg_id)
+	{
+		AXIS2_FREE(env->allocator, bean_impl->create_seq_msg_id);
+		bean_impl->create_seq_msg_id= NULL;
+	}
+
+	if(bean_impl->seq_id)
+	{
+		AXIS2_FREE(env->allocator, bean_impl->seq_id);
+		bean_impl->seq_id= NULL;
+	}
+    return AXIS2_SUCCESS;
+}
+
+axis2_char_t * AXIS2_CALL
+sandesha2_create_seq_bean_get_create_seq_msg_id( sandesha2_create_seq_bean_t* create_seq,
+		const axis2_env_t *env)
+{
+	sandesha2_create_seq_bean_impl_t *bean_impl = NULL;
+	bean_impl = (sandesha2_create_seq_bean_impl_t*)create_seq;
+	return bean_impl->create_seq_msg_id;
+
+}
+	
+
+void AXIS2_CALL
+sandesha2_create_seq_bean_set_create_seq_msg_id (sandesha2_create_seq_bean_t *create_seq,
+			                const axis2_env_t *env, axis2_char_t* seq_msg_id)
+
+{
+	sandesha2_create_seq_bean_impl_t *bean_impl = NULL;
+	bean_impl = (sandesha2_create_seq_bean_impl_t*)create_seq;
+	bean_impl->create_seq_msg_id = AXIS2_STRDUP(seq_msg_id, env);
+}
+
+axis2_char_t * AXIS2_CALL
+sandesha2_create_seq_bean_get_seq_id(sandesha2_create_seq_bean_t *create_seq,
+					const axis2_env_t *env)
+{
+	sandesha2_create_seq_bean_impl_t *bean_impl = NULL;
+	bean_impl = (sandesha2_create_seq_bean_impl_t*)create_seq;
+	return bean_impl->seq_id;
+}
+
+void AXIS2_CALL
+sandesha2_create_seq_bean_set_seq_id(sandesha2_create_seq_bean_t *create_seq,
+					const axis2_env_t *env, axis2_char_t *seq_id)
+{
+	sandesha2_create_seq_bean_impl_t *bean_impl = NULL;
+	bean_impl = (sandesha2_create_seq_bean_impl_t*)create_seq;
+	bean_impl->seq_id = AXIS2_STRDUP(seq_id, env);
+}
+
+axis2_char_t * AXIS2_CALL
+sandesha2_create_seq_bean_get_internal_seq_id( sandesha2_create_seq_bean_t *create_seq,
+					const axis2_env_t *env)
+{
+	sandesha2_create_seq_bean_impl_t *bean_impl = NULL;
+	bean_impl = (sandesha2_create_seq_bean_impl_t*)create_seq;
+	return bean_impl->internal_seq_id;
+}
+
+void AXIS2_CALL
+sandesha2_create_seq_bean_set_internal_seq_id( sandesha2_create_seq_bean_t *create_seq,
+					const axis2_env_t *env, axis2_char_t *int_seq_id)
+{
+	sandesha2_create_seq_bean_impl_t *bean_impl = NULL;
+	bean_impl = (sandesha2_create_seq_bean_impl_t*)create_seq;
+	bean_impl->internal_seq_id = AXIS2_STRDUP(int_seq_id, env);
+}
+

Added: 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?rev=417947&view=auto
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/beans/invoker_bean.c (added)
+++ webservices/sandesha/trunk/c/src/storage/beans/invoker_bean.c Wed Jun 28 23:15:39 2006
@@ -0,0 +1,297 @@
+/*
+ * 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/sandesha2_invoker_bean.h>
+#include <string.h>
+
+/* create_seq_bean struct */
+typedef struct sandesha2_invoker_bean_impl sandesha2_invoker_bean_impl_t;
+
+struct sandesha2_invoker_bean_impl
+{
+	
+	sandesha2_invoker_bean_t o_bean;
+	/*  This is the messageContextRefKey that is obtained after saving a message context in a storage. */
+	axis2_char_t *msg_context_ref_key;
+
+	/* The message number of the message. */
+	long msg_no;
+
+	/*  The sequence ID of the sequence the message belong to. */
+	axis2_char_t *seq_id;
+
+	/* Weather the message has been invoked by the invoker.*/
+	axis2_bool_t invoked;
+
+};
+
+#define AXIS2_INTF_TO_IMPL(invoker) ((sandesha2_invoker_bean_impl_t*)invoker)
+
+
+/************* FUNCTION prototypes ***************/
+axis2_status_t AXIS2_CALL 
+sandesha2_invoker_bean_free  (sandesha2_invoker_bean_t *invoker,
+		const axis2_env_t *env);
+
+axis2_char_t* AXIS2_CALL 
+sandesha2_invoker_bean_get_msg_context_ref_key(sandesha2_invoker_bean_t *invoker,
+		const axis2_env_t *env);
+
+void AXIS2_CALL 
+sandesha2_invoker_bean_set_msg_context_ref_key(sandesha2_invoker_bean_t *invoker,
+		const axis2_env_t *env, axis2_char_t* context_ref_id) ;
+
+long AXIS2_CALL 
+sandesha2_invoker_bean_get_msg_no(sandesha2_invoker_bean_t *invoker,
+		const axis2_env_t *env);
+	
+void AXIS2_CALL
+sandesha2_invoker_bean_set_msg_no(sandesha2_invoker_bean_t *invoker,
+		const axis2_env_t *env, long msgno) ;
+
+axis2_char_t* AXIS2_CALL
+sandesha2_invoker_bean_get_seq_id(sandesha2_invoker_bean_t *invoker,
+		const axis2_env_t *env);
+
+void AXIS2_CALL
+sandesha2_invoker_bean_set_seq_id(sandesha2_invoker_bean_t *invoker,
+		const axis2_env_t *env, axis2_char_t* int_seq_id);
+
+axis2_bool_t AXIS2_CALL
+sandesha2_invoker_bean_is_invoked (sandesha2_invoker_bean_t *invoker,
+		const axis2_env_t *env);
+
+void AXIS2_CALL 
+sandesha2_invoker_bean_set_invoked( sandesha2_invoker_bean_t *invoker,
+		const axis2_env_t *env,
+		axis2_bool_t invoked);
+
+
+
+
+
+AXIS2_EXTERN sandesha2_invoker_bean_t* AXIS2_CALL
+sandesha2_invoker_bean_create(const axis2_env_t *env )
+{
+	sandesha2_invoker_bean_impl_t *bean = NULL;
+	AXIS2_ENV_CHECK(env, NULL);
+
+	bean = (sandesha2_invoker_bean_impl_t *) AXIS2_MALLOC( env->allocator, 
+				sizeof(sandesha2_invoker_bean_impl_t) );
+
+	if (!bean)
+	{
+		AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+		return NULL;
+	}
+
+	/* init the properties. */
+	bean->msg_context_ref_key = NULL;
+	bean->msg_no = -1;
+	bean->seq_id = NULL;	
+	bean->invoked = AXIS2_FALSE;
+
+	bean->o_bean.ops = NULL;
+	bean->o_bean.ops = (sandesha2_invoker_bean_ops_t*)AXIS2_MALLOC(env->allocator,
+								sizeof(sandesha2_invoker_bean_ops_t));
+
+	if(!bean->o_bean.ops)
+	{
+		AXIS2_FREE(env->allocator, bean);
+		return NULL;
+	}
+
+	bean->o_bean.ops->free = sandesha2_invoker_bean_free;
+	bean->o_bean.ops->get_msg_context_ref_key= sandesha2_invoker_bean_get_msg_context_ref_key;
+	bean->o_bean.ops->set_msg_context_ref_key= sandesha2_invoker_bean_set_msg_context_ref_key;
+	bean->o_bean.ops->get_msg_no = sandesha2_invoker_bean_get_msg_no;
+	bean->o_bean.ops->set_msg_no = sandesha2_invoker_bean_set_msg_no;
+	bean->o_bean.ops->get_seq_id = sandesha2_invoker_bean_get_seq_id;
+	bean->o_bean.ops->set_seq_id= sandesha2_invoker_bean_set_seq_id;
+	bean->o_bean.ops->is_invoked = sandesha2_invoker_bean_is_invoked;
+	bean->o_bean.ops->set_invoked = sandesha2_invoker_bean_set_invoked;
+
+	return &(bean->o_bean);
+}
+
+AXIS2_EXTERN sandesha2_invoker_bean_t* AXIS2_CALL
+sandesha2_invoker_bean_create_with_data(const axis2_env_t *env,
+		axis2_char_t *ref_key,
+       		long msg_no,
+		axis2_char_t *seq_id,
+		axis2_bool_t invoked)
+{
+	sandesha2_invoker_bean_impl_t *bean = NULL;
+	AXIS2_ENV_CHECK(env, NULL);
+
+	bean = (sandesha2_invoker_bean_impl_t *) AXIS2_MALLOC( env->allocator, 
+				sizeof(sandesha2_invoker_bean_impl_t) );
+
+	if (!bean)
+	{
+		AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+		return NULL;
+	}
+
+	/* init the properties. */
+	if(!ref_key)
+		bean->msg_context_ref_key = NULL;
+	else
+		bean->msg_context_ref_key = (axis2_char_t*)AXIS2_STRDUP(ref_key, env);
+
+	if(!seq_id)
+		bean->seq_id = NULL;	
+	else
+		bean->seq_id = (axis2_char_t*)AXIS2_STRDUP(seq_id, env);
+
+	bean->msg_no = msg_no;
+	bean->invoked = invoked;
+
+
+	bean->o_bean.ops = NULL;
+	bean->o_bean.ops = (sandesha2_invoker_bean_ops_t *)AXIS2_MALLOC(env->allocator,
+								sizeof(sandesha2_invoker_bean_ops_t));
+
+	if(!bean->o_bean.ops)
+	{
+		AXIS2_FREE(env->allocator, bean);
+		return NULL;
+	}
+
+	bean->o_bean.ops->free = sandesha2_invoker_bean_free;
+	bean->o_bean.ops->get_msg_context_ref_key= sandesha2_invoker_bean_get_msg_context_ref_key;
+	bean->o_bean.ops->set_msg_context_ref_key= sandesha2_invoker_bean_set_msg_context_ref_key;
+	bean->o_bean.ops->get_msg_no = sandesha2_invoker_bean_get_msg_no;
+	bean->o_bean.ops->set_msg_no = sandesha2_invoker_bean_set_msg_no;
+	bean->o_bean.ops->get_seq_id = sandesha2_invoker_bean_get_seq_id;
+	bean->o_bean.ops->set_seq_id= sandesha2_invoker_bean_set_seq_id;
+	bean->o_bean.ops->is_invoked = sandesha2_invoker_bean_is_invoked;
+	bean->o_bean.ops->set_invoked = sandesha2_invoker_bean_set_invoked;
+
+	return &(bean->o_bean);
+}
+
+
+axis2_status_t AXIS2_CALL
+sandesha2_invoker_bean_free  (sandesha2_invoker_bean_t *invoker,
+		                const axis2_env_t *env)
+{
+	sandesha2_invoker_bean_impl_t *bean_impl = NULL;
+	bean_impl = (sandesha2_invoker_bean_impl_t*)invoker;
+
+	if(bean_impl->msg_context_ref_key)
+	{
+		AXIS2_FREE(env->allocator, bean_impl->msg_context_ref_key);
+		bean_impl->msg_context_ref_key= NULL;
+	}
+		
+	if(!bean_impl->seq_id)
+	{
+		AXIS2_FREE(env->allocator, bean_impl->seq_id);
+		bean_impl->seq_id= NULL;
+	}
+    return AXIS2_SUCCESS;
+}
+
+
+axis2_char_t* AXIS2_CALL 
+sandesha2_invoker_bean_get_msg_context_ref_key(sandesha2_invoker_bean_t *invoker,
+		const axis2_env_t *env)
+{
+	sandesha2_invoker_bean_impl_t *bean_impl = NULL;
+	bean_impl = (sandesha2_invoker_bean_impl_t*)invoker;
+
+	return bean_impl->msg_context_ref_key;
+}
+
+void AXIS2_CALL 
+sandesha2_invoker_bean_set_msg_context_ref_key(sandesha2_invoker_bean_t *invoker,
+		const axis2_env_t *env, axis2_char_t* context_ref_id)
+{
+	sandesha2_invoker_bean_impl_t *bean_impl = NULL;
+	bean_impl = (sandesha2_invoker_bean_impl_t*)invoker;
+	
+	if(bean_impl->msg_context_ref_key)
+		AXIS2_FREE(env->allocator, bean_impl->msg_context_ref_key);
+
+	bean_impl->msg_context_ref_key = (axis2_char_t*)AXIS2_STRDUP(context_ref_id, env);
+}
+	
+
+long AXIS2_CALL 
+sandesha2_invoker_bean_get_msg_no(sandesha2_invoker_bean_t *invoker,
+		const axis2_env_t *env)
+{
+	sandesha2_invoker_bean_impl_t *bean_impl = NULL;
+	bean_impl = (sandesha2_invoker_bean_impl_t*)invoker;
+
+	return bean_impl->msg_no;
+}
+	
+void AXIS2_CALL
+sandesha2_invoker_bean_set_msg_no(sandesha2_invoker_bean_t *invoker,
+		const axis2_env_t *env, long msgno)
+{
+	sandesha2_invoker_bean_impl_t *bean_impl = NULL;
+	bean_impl = (sandesha2_invoker_bean_impl_t*)invoker;
+
+	bean_impl->msg_no = msgno;
+}
+
+axis2_char_t* AXIS2_CALL
+sandesha2_invoker_bean_get_seq_id(sandesha2_invoker_bean_t *invoker,
+		const axis2_env_t *env)
+{
+	sandesha2_invoker_bean_impl_t *bean_impl = NULL;
+	bean_impl = (sandesha2_invoker_bean_impl_t*)invoker;
+
+	return bean_impl->seq_id;
+}
+
+void AXIS2_CALL
+sandesha2_invoker_bean_set_seq_id(sandesha2_invoker_bean_t *invoker,
+		const axis2_env_t *env, axis2_char_t* int_seq_id)
+{
+	sandesha2_invoker_bean_impl_t *bean_impl = NULL;
+	bean_impl = (sandesha2_invoker_bean_impl_t*)invoker;
+
+	bean_impl->seq_id = (axis2_char_t*)AXIS2_STRDUP(int_seq_id, env);
+
+}
+
+
+
+axis2_bool_t AXIS2_CALL
+sandesha2_invoker_bean_is_invoked (sandesha2_invoker_bean_t *invoker,
+		const axis2_env_t *env)
+{
+	sandesha2_invoker_bean_impl_t *bean_impl = NULL;
+	bean_impl = (sandesha2_invoker_bean_impl_t*)invoker;
+
+	return bean_impl->invoked;
+}
+
+void AXIS2_CALL 
+sandesha2_invoker_bean_set_invoked( sandesha2_invoker_bean_t *invoker,
+		const axis2_env_t *env,
+		axis2_bool_t invoked)
+{
+	sandesha2_invoker_bean_impl_t *bean_impl = NULL;
+	bean_impl = (sandesha2_invoker_bean_impl_t*)invoker;
+
+	bean_impl->invoked = invoked;
+}
+

Added: 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?rev=417947&view=auto
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/beans/next_msg_bean.c (added)
+++ webservices/sandesha/trunk/c/src/storage/beans/next_msg_bean.c Wed Jun 28 23:15:39 2006
@@ -0,0 +1,200 @@
+/*
+ * 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/sandesha2_next_msg_bean.h>
+#include <string.h>
+
+/* invoker_bean struct */
+typedef struct sandesha2_next_msg_bean_impl sandesha2_next_msg_bean_impl_t;
+
+struct sandesha2_next_msg_bean_impl
+{
+	sandesha2_next_msg_bean_t o_bean;
+	axis2_char_t *sequence_id;
+	long msg_no;
+};
+
+#define AXIS2_INTF_TO_IMPL(next_msg) ((sandesha2_next_msg_bean_impl_t*)next_msg)
+
+
+/************* FUNCTION prototypes ***************/
+
+axis2_status_t AXIS2_CALL
+	sandesha2_next_msg_bean_free (sandesha2_next_msg_bean_t *next_msg_bean,
+		 const axis2_env_t *env);
+
+axis2_char_t* AXIS2_CALL
+	sandesha2_next_msg_bean_get_sequence_id(sandesha2_next_msg_bean_t *next_msg_bean,
+		const axis2_env_t *env);
+
+void AXIS2_CALL
+	sandesha2_next_msg_bean_set_sequence_id(sandesha2_next_msg_bean_t *next_msg_bean,
+		const axis2_env_t *env, axis2_char_t *seq_id);
+
+long AXIS2_CALL
+	sandesha2_next_msg_bean_get_next_msg_no_to_process(sandesha2_next_msg_bean_t *next_msg_bean,
+		const axis2_env_t *env);
+
+void AXIS2_CALL
+	sandesha2_next_msg_bean_set_next_msg_no_to_process(sandesha2_next_msg_bean_t *next_msg_bean,
+		const axis2_env_t *env, long next_msg_no);
+
+
+
+
+AXIS2_EXTERN sandesha2_next_msg_bean_t* AXIS2_CALL
+sandesha2_next_msg_bean_create(const axis2_env_t *env)
+{
+	sandesha2_next_msg_bean_impl_t *bean = NULL;
+	AXIS2_ENV_CHECK(env, NULL);
+
+	bean = (sandesha2_next_msg_bean_impl_t *)AXIS2_MALLOC(env->allocator,
+							sizeof(sandesha2_next_msg_bean_impl_t));
+
+	if(!bean)
+	{
+		AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+		return NULL;
+	}
+
+	/* init the properties. */
+	bean->sequence_id = NULL;
+	bean->msg_no = -1;
+
+	bean->o_bean.ops = NULL;
+	bean->o_bean.ops = (sandesha2_next_msg_bean_ops_t*) AXIS2_MALLOC(env->allocator,
+								sizeof(sandesha2_next_msg_bean_ops_t));
+
+	if(!bean->o_bean.ops)
+	{
+		AXIS2_FREE(env->allocator, bean);
+		return NULL;
+	}
+
+	bean->o_bean.ops->free = sandesha2_next_msg_bean_free;
+	bean->o_bean.ops->get_sequence_id = sandesha2_next_msg_bean_get_sequence_id;
+	bean->o_bean.ops->set_sequence_id = sandesha2_next_msg_bean_set_sequence_id;
+	bean->o_bean.ops->set_next_msg_no_to_process = sandesha2_next_msg_bean_set_next_msg_no_to_process;
+
+	return &(bean->o_bean);
+}
+
+AXIS2_EXTERN sandesha2_next_msg_bean_t* AXIS2_CALL
+	sandesha2_next_msg_bean_create_with_data(const axis2_env_t *env,
+						axis2_char_t *seq_id,
+						long msg_no)
+{
+	sandesha2_next_msg_bean_impl_t *bean = NULL;
+	AXIS2_ENV_CHECK(env, NULL);
+
+	bean = (sandesha2_next_msg_bean_impl_t *)AXIS2_MALLOC(env->allocator,
+							sizeof(sandesha2_next_msg_bean_impl_t));
+
+	if(!bean)
+	{
+		AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+		return NULL;
+	}
+
+	/* init the properties. */
+	bean->sequence_id = (axis2_char_t*)AXIS2_STRDUP(env, seq_id);
+	bean->msg_no = msg_no;
+
+	bean->o_bean.ops = NULL;
+	bean->o_bean.ops = (sandesha2_next_msg_bean_ops_t*)AXIS2_MALLOC(env->allocator,
+								sizeof(sandesha2_next_msg_bean_ops_t));
+
+	if(!bean->o_bean.ops)
+	{
+		AXIS2_FREE(env->allocator, bean);
+		return NULL;
+	}
+
+	bean->o_bean.ops->free = sandesha2_next_msg_bean_free;
+	bean->o_bean.ops->get_sequence_id = sandesha2_next_msg_bean_get_sequence_id;
+	bean->o_bean.ops->set_sequence_id = sandesha2_next_msg_bean_set_sequence_id;
+	bean->o_bean.ops->set_next_msg_no_to_process = sandesha2_next_msg_bean_set_next_msg_no_to_process;
+
+	return &(bean->o_bean);
+}
+
+axis2_status_t AXIS2_CALL
+sandesha2_next_msg_bean_free (sandesha2_next_msg_bean_t *next_msg,
+				const axis2_env_t *env)
+{
+	sandesha2_next_msg_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(next_msg);
+
+	if(bean_impl->sequence_id)
+	{
+		AXIS2_FREE(env->allocator, bean_impl->sequence_id);
+		bean_impl->sequence_id= NULL;
+	}
+    return AXIS2_SUCCESS;
+		
+}
+
+
+axis2_char_t* AXIS2_CALL
+sandesha2_next_msg_bean_get_sequence_id(sandesha2_next_msg_bean_t *next_msg_bean,
+				const axis2_env_t *env)
+{
+	sandesha2_next_msg_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(next_msg_bean);
+
+	return bean_impl->sequence_id;
+}
+
+
+void AXIS2_CALL
+sandesha2_next_msg_bean_set_sequence_id(sandesha2_next_msg_bean_t *next_msg_bean,
+				const axis2_env_t *env, axis2_char_t *seq_id)
+{
+	sandesha2_next_msg_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(next_msg_bean);
+
+	if(bean_impl->sequence_id)
+	{
+		AXIS2_FREE(env->allocator, bean_impl->sequence_id);
+		bean_impl->sequence_id = NULL;
+	}
+
+	bean_impl->sequence_id = (axis2_char_t*) AXIS2_STRDUP(env, seq_id); 
+}
+
+
+long AXIS2_CALL
+sandesha2_next_msg_bean_get_next_msg_no_to_process(sandesha2_next_msg_bean_t *next_msg_bean,
+				const axis2_env_t *env)
+{
+	sandesha2_next_msg_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(next_msg_bean);
+
+	return bean_impl->msg_no;
+}
+
+void AXIS2_CALL
+        sandesha2_next_msg_bean_set_next_msg_no_to_process(sandesha2_next_msg_bean_t *next_msg_bean,
+				const axis2_env_t *env, long next_msg_no)
+{
+	sandesha2_next_msg_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(next_msg_bean);
+
+	bean_impl->msg_no = next_msg_no;
+}
+
+
+

Added: 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?rev=417947&view=auto
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/beans/sender_bean.c (added)
+++ webservices/sandesha/trunk/c/src/storage/beans/sender_bean.c Wed Jun 28 23:15:39 2006
@@ -0,0 +1,553 @@
+/*
+ * 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/sandesha2_sender_bean.h>
+#include <string.h>
+
+/*sender_bean struct */
+typedef struct sandesha2_sender_bean_impl sandesha2_sender_bean_impl_t;
+
+struct sandesha2_sender_bean_impl
+{
+	sandesha2_sender_bean_t o_bean;
+
+	axis2_char_t *msg_context_ref_key;
+	axis2_char_t *msg_id;
+	axis2_bool_t send;
+	axis2_char_t *internal_seq_id;
+	int sent_count;
+	long msg_no;
+	axis2_bool_t resend;
+	long time_to_send;
+	int msg_type;
+	axis2_char_t *sequence_id;
+
+};
+	
+#define AXIS2_INTF_TO_IMPL(sender) ((sandesha2_sender_bean_impl_t*)sender)
+
+/************* FUNCTION prototypes ***************/
+axis2_status_t AXIS2_CALL
+	sandesha2_sender_bean_free (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env);
+
+axis2_char_t* AXIS2_CALL
+	sandesha2_sender_bean_get_msg_context_ref_key (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env);
+
+void AXIS2_CALL
+	sandesha2_sender_bean_set_msg_context_ref_key (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env,
+				axis2_char_t *ref_key);
+
+axis2_char_t* AXIS2_CALL
+	sandesha2_sender_bean_get_msg_id (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env);
+
+void AXIS2_CALL 
+	sandesha2_sender_bean_set_msg_id (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env,
+				axis2_char_t *msg_id);
+
+axis2_bool_t AXIS2_CALL
+	sandesha2_sender_bean_is_send (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env);
+
+void AXIS2_CALL 
+	sandesha2_sender_bean_set_send (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env,
+				axis2_bool_t send);
+
+axis2_char_t* AXIS2_CALL
+	sandesha2_sender_bean_get_internal_seq_id (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env);
+
+void AXIS2_CALL 
+	sandesha2_sender_bean_set_internal_seq_id (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env,
+				axis2_char_t *int_seq_id);
+
+int AXIS2_CALL 
+	sandesha2_sender_bean_get_sent_count (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env);
+
+void AXIS2_CALL 
+	sandesha2_sender_bean_set_sent_count (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env,
+				int sent_count);
+
+long AXIS2_CALL
+	sandesha2_sender_bean_get_msg_no (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env);
+
+void AXIS2_CALL
+	sandesha2_sender_bean_set_msg_no (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env,
+				long msg_no);
+
+axis2_bool_t AXIS2_CALL
+	sandesha2_sender_bean_is_resend (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env);
+
+void AXIS2_CALL
+	sandesha2_sender_bean_set_resend (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env,
+				axis2_bool_t resend);
+
+long AXIS2_CALL
+	sandesha2_sender_bean_get_time_to_send (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env);
+
+void AXIS2_CALL
+	sandesha2_sender_bean_set_time_to_send (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env,
+				long time_to_send);
+int AXIS2_CALL
+       sandesha2_sender_bean_get_msg_type (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env);
+
+void AXIS2_CALL
+	 sandesha2_sender_bean_set_msg_type (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env,
+				int msg_type);
+
+axis2_char_t* AXIS2_CALL
+	sandesha2_sender_bean_get_sequence_id(sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env);
+
+void AXIS2_CALL
+	sandesha2_sender_bean_set_sequence_id (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env,
+				axis2_char_t *sequence_id);
+
+
+AXIS2_EXTERN sandesha2_sender_bean_t* AXIS2_CALL
+sandesha2_sender_bean_create(const axis2_env_t *env)
+{
+	sandesha2_sender_bean_impl_t *bean_impl = NULL;
+	AXIS2_ENV_CHECK(env, NULL);
+
+	bean_impl = (sandesha2_sender_bean_impl_t*) AXIS2_MALLOC(env->allocator,
+				sizeof(sandesha2_sender_bean_impl_t));
+
+	if(!bean_impl)
+	{
+		AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+		return NULL;
+	}
+
+	/* init properties */
+	bean_impl->msg_context_ref_key = NULL;
+	bean_impl->msg_id = NULL;
+	bean_impl->send = AXIS2_FALSE;
+	bean_impl->internal_seq_id = NULL;
+	bean_impl->sent_count = -1;
+	bean_impl->msg_no = -1;
+	bean_impl->resend = AXIS2_FALSE;
+	bean_impl->time_to_send = -1;
+	bean_impl->msg_type = -1;
+	bean_impl->sequence_id = NULL;
+
+	bean_impl->o_bean.ops = NULL;
+	bean_impl->o_bean.ops = (sandesha2_sender_bean_ops_t*) AXIS2_MALLOC(env->allocator,
+								sizeof(sandesha2_sender_bean_ops_t));
+
+	if(!bean_impl->o_bean.ops)
+	{
+		AXIS2_FREE(env->allocator, bean_impl);
+
+		AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+		return NULL;
+	}
+
+	bean_impl->o_bean.ops->free = sandesha2_sender_bean_free;
+	bean_impl->o_bean.ops->get_msg_context_ref_key = sandesha2_sender_bean_get_msg_context_ref_key;
+	bean_impl->o_bean.ops->set_msg_context_ref_key = sandesha2_sender_bean_set_msg_context_ref_key;
+	bean_impl->o_bean.ops->get_msg_id = sandesha2_sender_bean_get_msg_id;
+	bean_impl->o_bean.ops->set_msg_id = sandesha2_sender_bean_set_msg_id;
+	bean_impl->o_bean.ops->is_send =  sandesha2_sender_bean_is_send;
+	bean_impl->o_bean.ops->set_send = sandesha2_sender_bean_set_send;
+	bean_impl->o_bean.ops->get_internal_seq_id = sandesha2_sender_bean_get_internal_seq_id;
+	bean_impl->o_bean.ops->set_internal_seq_id = sandesha2_sender_bean_set_internal_seq_id;
+	bean_impl->o_bean.ops->get_sent_count = sandesha2_sender_bean_get_sent_count;
+	bean_impl->o_bean.ops->set_sent_count = sandesha2_sender_bean_set_sent_count;
+	bean_impl->o_bean.ops->get_msg_no = sandesha2_sender_bean_get_msg_no;
+	bean_impl->o_bean.ops->set_msg_no = sandesha2_sender_bean_set_msg_no;
+	bean_impl->o_bean.ops->is_resend = sandesha2_sender_bean_is_resend;
+	bean_impl->o_bean.ops->set_resend = sandesha2_sender_bean_set_resend;
+	bean_impl->o_bean.ops->get_time_to_send = sandesha2_sender_bean_get_time_to_send;
+	bean_impl->o_bean.ops->set_time_to_send = sandesha2_sender_bean_set_time_to_send;
+	bean_impl->o_bean.ops->get_msg_type = sandesha2_sender_bean_get_msg_type;
+	bean_impl->o_bean.ops->set_msg_type = sandesha2_sender_bean_set_msg_type;
+	bean_impl->o_bean.ops->get_sequence_id = sandesha2_sender_bean_get_sequence_id;
+	bean_impl->o_bean.ops->set_sequence_id = sandesha2_sender_bean_set_sequence_id;
+
+	return &(bean_impl->o_bean);
+}
+
+
+AXIS2_EXTERN sandesha2_sender_bean_t* AXIS2_CALL
+sandesha2_sender_bean_create_with_data(const axis2_env_t *env,
+			       axis2_char_t *msg_id,
+			       axis2_char_t *key,
+			       axis2_bool_t send,
+			       long    time_to_send,
+			       axis2_char_t *int_seq_id,
+			       long msg_no)
+
+{
+	sandesha2_sender_bean_impl_t *bean_impl = NULL;
+	AXIS2_ENV_CHECK(env, NULL);
+
+	bean_impl = (sandesha2_sender_bean_impl_t*) AXIS2_MALLOC(env->allocator,
+				sizeof(sandesha2_sender_bean_impl_t));
+
+	if(!bean_impl)
+	{
+		AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+		return NULL;
+	}
+
+	/* init properties */
+	bean_impl->msg_context_ref_key = (axis2_char_t *)AXIS2_STRDUP(env, key);
+	bean_impl->msg_id = (axis2_char_t *)AXIS2_STRDUP(env, msg_id);
+	bean_impl->send = send; 
+	bean_impl->internal_seq_id = (axis2_char_t *)AXIS2_STRDUP(env, int_seq_id);
+	bean_impl->sent_count = -1;
+	bean_impl->msg_no = msg_no;
+	bean_impl->resend = AXIS2_FALSE;
+	bean_impl->time_to_send = time_to_send;
+	bean_impl->msg_type = -1;
+	bean_impl->sequence_id = NULL;
+
+	bean_impl->o_bean.ops = NULL;
+	bean_impl->o_bean.ops = (sandesha2_sender_bean_ops_t*) AXIS2_MALLOC(env->allocator,
+								sizeof(sandesha2_sender_bean_ops_t));
+
+	if(!bean_impl->o_bean.ops)
+	{
+		AXIS2_FREE(env->allocator, bean_impl);
+
+		AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+		return NULL;
+	}
+
+	bean_impl->o_bean.ops->free = sandesha2_sender_bean_free;
+	bean_impl->o_bean.ops->get_msg_context_ref_key = sandesha2_sender_bean_get_msg_context_ref_key;
+	bean_impl->o_bean.ops->set_msg_context_ref_key = sandesha2_sender_bean_set_msg_context_ref_key;
+	bean_impl->o_bean.ops->get_msg_id = sandesha2_sender_bean_get_msg_id;
+	bean_impl->o_bean.ops->set_msg_id = sandesha2_sender_bean_set_msg_id;
+	bean_impl->o_bean.ops->is_send =  sandesha2_sender_bean_is_send;
+	bean_impl->o_bean.ops->set_send = sandesha2_sender_bean_set_send;
+	bean_impl->o_bean.ops->get_internal_seq_id = sandesha2_sender_bean_get_internal_seq_id;
+	bean_impl->o_bean.ops->set_internal_seq_id = sandesha2_sender_bean_set_internal_seq_id;
+	bean_impl->o_bean.ops->get_sent_count = sandesha2_sender_bean_get_sent_count;
+	bean_impl->o_bean.ops->set_sent_count = sandesha2_sender_bean_set_sent_count;
+	bean_impl->o_bean.ops->get_msg_no = sandesha2_sender_bean_get_msg_no;
+	bean_impl->o_bean.ops->set_msg_no = sandesha2_sender_bean_set_msg_no;
+	bean_impl->o_bean.ops->is_resend = sandesha2_sender_bean_is_resend;
+	bean_impl->o_bean.ops->set_resend = sandesha2_sender_bean_set_resend;
+	bean_impl->o_bean.ops->get_time_to_send = sandesha2_sender_bean_get_time_to_send;
+	bean_impl->o_bean.ops->set_time_to_send = sandesha2_sender_bean_set_time_to_send;
+	bean_impl->o_bean.ops->get_msg_type = sandesha2_sender_bean_get_msg_type;
+	bean_impl->o_bean.ops->set_msg_type = sandesha2_sender_bean_set_msg_type;
+	bean_impl->o_bean.ops->get_sequence_id = sandesha2_sender_bean_get_sequence_id;
+	bean_impl->o_bean.ops->set_sequence_id = sandesha2_sender_bean_set_sequence_id;
+
+	return &(bean_impl->o_bean);
+}
+
+axis2_status_t AXIS2_CALL
+sandesha2_sender_bean_free (sandesha2_sender_bean_t *sender,
+			const axis2_env_t *env)
+{
+
+	sandesha2_sender_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(sender);
+
+	if(bean_impl->msg_context_ref_key)
+	{
+		AXIS2_FREE(env->allocator, bean_impl->msg_context_ref_key);
+		bean_impl->msg_context_ref_key = NULL;
+	}
+
+	if(bean_impl->msg_id)
+	{
+		AXIS2_FREE(env->allocator, bean_impl->msg_id);
+		bean_impl->msg_id = NULL;
+	}
+
+	if(bean_impl->internal_seq_id)
+	{
+		AXIS2_FREE(env->allocator, bean_impl->internal_seq_id);
+		bean_impl->internal_seq_id = NULL;
+	}
+
+	if(bean_impl->sequence_id)
+	{
+		AXIS2_FREE(env->allocator, bean_impl->sequence_id);
+		bean_impl->sequence_id = NULL;
+	}
+    return AXIS2_SUCCESS;
+
+}
+
+axis2_char_t* AXIS2_CALL
+	sandesha2_sender_bean_get_msg_context_ref_key (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env)
+{
+	sandesha2_sender_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(sender);
+
+	return bean_impl->msg_context_ref_key;
+}
+
+
+void AXIS2_CALL
+	sandesha2_sender_bean_set_msg_context_ref_key (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env,
+				axis2_char_t *ref_key)
+{
+	sandesha2_sender_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(sender);
+
+	if(bean_impl->msg_context_ref_key)
+	{
+		AXIS2_FREE(env->allocator, bean_impl->msg_context_ref_key);
+		bean_impl->msg_context_ref_key = NULL;
+	}
+
+	bean_impl->msg_context_ref_key = (axis2_char_t *)AXIS2_STRDUP(ref_key);
+
+}
+
+axis2_char_t* AXIS2_CALL
+	sandesha2_sender_bean_get_msg_id (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env)
+{
+	sandesha2_sender_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(sender);
+
+	return bean_impl->msg_id;
+}
+
+void AXIS2_CALL 
+	sandesha2_sender_bean_set_msg_id (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env,
+				axis2_char_t *msg_id)
+{
+	sandesha2_sender_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(sender);
+
+	if(bean_impl->msg_id)
+	{
+		AXIS2_FREE(env->allocator, msg_id);
+		bean_impl->msg_id = NULL;
+	}
+
+	bean_impl->msg_id = (axis2_char_t *)AXIS2_STRDUP(env, msg_id);
+}
+
+
+axis2_bool_t AXIS2_CALL
+	sandesha2_sender_bean_is_send (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env)
+{
+	sandesha2_sender_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(sender);
+
+	return bean_impl->send;
+}
+
+
+
+void AXIS2_CALL 
+	sandesha2_sender_bean_set_send (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env,
+				axis2_bool_t send)
+{
+	sandesha2_sender_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(sender);
+
+	bean_impl->send = send;
+}
+
+
+axis2_char_t* AXIS2_CALL
+	sandesha2_sender_bean_get_internal_seq_id (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env)
+{
+	sandesha2_sender_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(sender);
+
+	return bean_impl->internal_seq_id;
+}
+
+void AXIS2_CALL 
+	sandesha2_sender_bean_set_internal_seq_id (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env,
+				axis2_char_t *int_seq_id)
+{
+	sandesha2_sender_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(sender);
+
+	if(bean_impl->internal_seq_id)
+	{
+		AXIS2_FREE(env->allocator, int_seq_id);
+		bean_impl->internal_seq_id = NULL;
+	}
+
+	bean_impl->internal_seq_id = (axis2_char_t *)AXIS2_STRDUP(env, int_seq_id);
+}
+
+int AXIS2_CALL 
+	sandesha2_sender_bean_get_sent_count (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env)
+{
+	sandesha2_sender_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(sender);
+
+	return bean_impl->sent_count;
+}
+
+
+void AXIS2_CALL 
+	sandesha2_sender_bean_set_sent_count (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env,
+				int sent_count)
+{
+	sandesha2_sender_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(sender);
+
+	bean_impl->sent_count = sent_count;
+}
+
+
+long AXIS2_CALL
+	sandesha2_sender_bean_get_msg_no (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env)
+{
+	sandesha2_sender_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(sender);
+
+	return bean_impl->msg_no;
+}
+
+void AXIS2_CALL
+	sandesha2_sender_bean_set_msg_no (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env,
+				long msg_no)
+{
+	sandesha2_sender_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(sender);
+
+	bean_impl->msg_no = msg_no;
+}
+
+
+axis2_bool_t AXIS2_CALL
+	sandesha2_sender_bean_is_resend (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env)
+{
+	sandesha2_sender_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(sender);
+
+	return bean_impl->resend;
+}
+
+void AXIS2_CALL
+	sandesha2_sender_bean_set_resend (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env,
+				axis2_bool_t resend)
+{
+	sandesha2_sender_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(sender);
+
+	bean_impl->resend = resend;
+}
+
+long AXIS2_CALL
+	sandesha2_sender_bean_get_time_to_send (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env)
+{
+	sandesha2_sender_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(sender);
+
+	return bean_impl->time_to_send;
+}
+
+
+void AXIS2_CALL
+	sandesha2_sender_bean_set_time_to_send (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env,
+				long time_to_send)
+{
+	sandesha2_sender_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(sender);
+
+	bean_impl->time_to_send = time_to_send;
+}
+
+int AXIS2_CALL
+       sandesha2_sender_bean_get_msg_type (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env)
+{
+	sandesha2_sender_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(sender);
+
+	return bean_impl->msg_type;
+}
+
+void AXIS2_CALL
+	sandesha2_sender_bean_set_msg_type (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env,
+				int msg_type)
+{
+	sandesha2_sender_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(sender);
+	
+	bean_impl->msg_type = msg_type;
+}
+
+axis2_char_t* AXIS2_CALL
+	sandesha2_sender_bean_get_sequence_id(sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env)
+{
+	sandesha2_sender_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(sender);
+
+	return bean_impl->sequence_id;
+}
+
+
+
+void AXIS2_CALL
+	sandesha2_sender_bean_set_sequence_id (sandesha2_sender_bean_t *sender,
+				const axis2_env_t *env,
+				axis2_char_t *sequence_id)
+{
+	sandesha2_sender_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(sender);
+
+	if(bean_impl->sequence_id)
+	{
+		AXIS2_FREE(env->allocator, bean_impl->sequence_id);
+		bean_impl->sequence_id = NULL;
+	}
+
+	bean_impl->sequence_id = (axis2_char_t *)AXIS2_STRDUP(env, sequence_id);
+}
+

Added: webservices/sandesha/trunk/c/src/storage/beans/sequence_property_bean.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/beans/sequence_property_bean.c?rev=417947&view=auto
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/beans/sequence_property_bean.c (added)
+++ webservices/sandesha/trunk/c/src/storage/beans/sequence_property_bean.c Wed Jun 28 23:15:39 2006
@@ -0,0 +1,268 @@
+/*
+ * 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/sandesha2_sequence_property_bean.h>
+#include <string.h>
+
+/*sequence_property_bean struct */
+typedef struct sandesha2_sequence_property_bean_impl sandesha2_sequence_property_bean_impl_t;
+
+struct sandesha2_sequence_property_bean_impl
+{
+	sandesha2_sequence_property_bean_t o_bean;
+	axis2_char_t *sequence_id;
+	axis2_char_t *name;
+	axis2_char_t *value;
+};
+
+#define AXIS2_INTF_TO_IMPL(prop_bean) ((sandesha2_sequence_property_bean_impl_t*)prop_bean)
+
+
+/************* FUNCTION prototypes ***************/
+axis2_status_t AXIS2_CALL
+	sandesha2_sequence_property_bean_free (struct sandesha2_sequence_property_bean *seq_property,
+		  const axis2_env_t *env);
+
+axis2_char_t *AXIS2_CALL
+	sandesha2_sequence_property_bean_get_name (struct sandesha2_sequence_property_bean *seq_property,
+		const axis2_env_t *env);
+
+void AXIS2_CALL 
+	sandesha2_sequence_property_bean_set_name (struct sandesha2_sequence_property_bean *seq_property,
+		const axis2_env_t *env,
+		axis2_char_t *name);
+
+axis2_char_t *AXIS2_CALL
+	sandesha2_sequence_property_bean_get_sequence_id (struct sandesha2_sequence_property_bean *seq_property,
+		const axis2_env_t *env);
+
+void AXIS2_CALL
+	sandesha2_sequence_property_bean_set_sequence_id (struct sandesha2_sequence_property_bean *seq_property,
+		const axis2_env_t *env,
+		axis2_char_t *seq_id);
+
+axis2_char_t* AXIS2_CALL
+	sandesha2_sequence_property_bean_get_value (struct sandesha2_sequence_property_bean *seq_property,
+		const axis2_env_t *env);
+
+void AXIS2_CALL
+	sandesha2_sequence_property_bean_set_value (struct sandesha2_sequence_property_bean *seq_property,
+		const axis2_env_t *env,
+		axis2_char_t *value);
+
+
+AXIS2_EXTERN sandesha2_sequence_property_bean_t* AXIS2_CALL
+        sandesha2_sequence_property_bean_create(const axis2_env_t *env)
+{
+	sandesha2_sequence_property_bean_impl_t *bean_impl = NULL;
+	AXIS2_ENV_CHECK(env, NULL);
+
+	bean_impl = (sandesha2_sequence_property_bean_impl_t *)AXIS2_MALLOC(env->allocator,
+				sizeof(sandesha2_sequence_property_bean_impl_t));
+
+	if(!bean_impl)
+	{
+		AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+		return NULL;
+	}
+
+	/* initialize properties */
+	bean_impl->sequence_id = NULL;
+	bean_impl->name = NULL;
+	bean_impl->value = NULL;
+
+	bean_impl->o_bean.ops = NULL;
+	bean_impl->o_bean.ops = (sandesha2_sequence_property_bean_ops_t*)AXIS2_MALLOC(env->allocator,
+					sizeof(sandesha2_sequence_property_bean_ops_t));
+
+	if(!bean_impl->o_bean.ops)
+	{
+		AXIS2_FREE(env->allocator, bean_impl);
+		AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+
+		return NULL;
+	}
+
+	bean_impl->o_bean.ops->free = sandesha2_sequence_property_bean_free;
+	bean_impl->o_bean.ops->get_name = sandesha2_sequence_property_bean_get_name;
+	bean_impl->o_bean.ops->set_name = sandesha2_sequence_property_bean_set_name;
+	bean_impl->o_bean.ops->get_sequence_id = sandesha2_sequence_property_bean_get_sequence_id;
+	bean_impl->o_bean.ops->set_sequence_id = sandesha2_sequence_property_bean_set_sequence_id;
+	bean_impl->o_bean.ops->get_value = sandesha2_sequence_property_bean_get_value;
+	bean_impl->o_bean.ops->set_value = sandesha2_sequence_property_bean_set_value;
+
+	return &(bean_impl->o_bean);
+}
+
+AXIS2_EXTERN sandesha2_sequence_property_bean_t* AXIS2_CALL
+        sandesha2_sequence_property_bean_create_with_data(const axis2_env_t *env,
+					axis2_char_t *seq_id,
+					axis2_char_t *prop_name,
+					axis2_char_t *value)
+
+{
+	sandesha2_sequence_property_bean_impl_t *bean_impl = NULL;
+	AXIS2_ENV_CHECK(env, NULL);
+
+	bean_impl = (sandesha2_sequence_property_bean_impl_t *)AXIS2_MALLOC(env->allocator,
+				sizeof(sandesha2_sequence_property_bean_impl_t));
+
+	if(!bean_impl)
+	{
+		AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+		return NULL;
+	}
+
+	/* initialize properties */
+	bean_impl->sequence_id = (axis2_char_t *)AXIS2_STRDUP(env, seq_id);
+	bean_impl->name = (axis2_char_t *)AXIS2_STRDUP(env, prop_name);
+	bean_impl->value = (axis2_char_t *)AXIS2_STRDUP(env, value);
+
+	bean_impl->o_bean.ops = NULL;
+	bean_impl->o_bean.ops = (sandesha2_sequence_property_bean_ops_t*)AXIS2_MALLOC(env->allocator,
+					sizeof(sandesha2_sequence_property_bean_ops_t));
+
+	if(!bean_impl->o_bean.ops)
+	{
+		AXIS2_FREE(env->allocator, bean_impl);
+		AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+
+		return NULL;
+	}
+
+	bean_impl->o_bean.ops->free = sandesha2_sequence_property_bean_free;
+	bean_impl->o_bean.ops->get_name = sandesha2_sequence_property_bean_get_name;
+	bean_impl->o_bean.ops->set_name = sandesha2_sequence_property_bean_set_name;
+	bean_impl->o_bean.ops->get_sequence_id = sandesha2_sequence_property_bean_get_sequence_id;
+	bean_impl->o_bean.ops->set_sequence_id = sandesha2_sequence_property_bean_set_sequence_id;
+	bean_impl->o_bean.ops->get_value = sandesha2_sequence_property_bean_get_value;
+	bean_impl->o_bean.ops->set_value = sandesha2_sequence_property_bean_set_value;
+
+	return &(bean_impl->o_bean);
+}
+
+
+axis2_status_t AXIS2_CALL
+	sandesha2_sequence_property_bean_free (struct sandesha2_sequence_property_bean *seq_property,
+		  const axis2_env_t *env)
+{
+	sandesha2_sequence_property_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(seq_property);
+
+	if(bean_impl->sequence_id)
+	{
+		AXIS2_FREE(env->allocator, bean_impl->sequence_id);
+		bean_impl->sequence_id = NULL;
+	}
+
+	if(bean_impl->name)
+	{
+		AXIS2_FREE(env->allocator, bean_impl->name);
+		bean_impl->name = NULL;
+	}
+
+	if(bean_impl->value)
+	{
+		AXIS2_FREE(env->allocator,  bean_impl->value);
+		bean_impl->value = NULL;
+	}
+    return AXIS2_SUCCESS;
+}
+
+axis2_char_t *AXIS2_CALL
+	sandesha2_sequence_property_bean_get_name (struct sandesha2_sequence_property_bean *seq_property,
+		const axis2_env_t *env)
+{
+	sandesha2_sequence_property_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(seq_property);
+
+	return bean_impl->name;
+}
+
+void AXIS2_CALL 
+	sandesha2_sequence_property_bean_set_name (struct sandesha2_sequence_property_bean *seq_property,
+		const axis2_env_t *env,
+		axis2_char_t *name)
+{
+	sandesha2_sequence_property_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(seq_property);
+
+	if(bean_impl->name)
+	{
+		AXIS2_FREE(env->allocator, bean_impl->name);
+		bean_impl->name = NULL;
+	}
+
+	bean_impl->name = (axis2_char_t *)AXIS2_STRDUP(env, name);
+}
+
+axis2_char_t *AXIS2_CALL
+	sandesha2_sequence_property_bean_get_sequence_id (struct sandesha2_sequence_property_bean *seq_property,
+		const axis2_env_t *env)
+{
+	sandesha2_sequence_property_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(seq_property);
+
+	return bean_impl->sequence_id;
+}
+
+
+void AXIS2_CALL
+	sandesha2_sequence_property_bean_set_sequence_id (struct sandesha2_sequence_property_bean *seq_property,
+		const axis2_env_t *env,
+		axis2_char_t *seq_id)
+{
+	sandesha2_sequence_property_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(seq_property);
+
+	if(bean_impl->sequence_id)
+	{
+		AXIS2_FREE(env->allocator, bean_impl->sequence_id);
+		bean_impl->sequence_id = NULL;
+	}
+
+	bean_impl->sequence_id = (axis2_char_t *)AXIS2_STRDUP(env, seq_id);
+}
+
+axis2_char_t* AXIS2_CALL
+	sandesha2_sequence_property_bean_get_value (struct sandesha2_sequence_property_bean *seq_property,
+		const axis2_env_t *env)
+{
+	sandesha2_sequence_property_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(seq_property);
+
+	return bean_impl->value;
+}
+
+
+void AXIS2_CALL
+	sandesha2_sequence_property_bean_set_value (struct sandesha2_sequence_property_bean *seq_property,
+		const axis2_env_t *env,
+		axis2_char_t *value)
+{
+	sandesha2_sequence_property_bean_impl_t *bean_impl = NULL;
+	bean_impl = AXIS2_INTF_TO_IMPL(seq_property);
+
+	if(bean_impl->value)
+	{
+		AXIS2_FREE(env->allocator, bean_impl->value);
+		bean_impl->value = NULL;
+	}
+
+	bean_impl->value = (axis2_char_t *)AXIS2_STRDUP(env, value);
+
+}
+



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