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