You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by da...@apache.org on 2005/12/02 06:14:51 UTC
svn commit: r351594 [4/5] - in /webservices/axis2/trunk/c: ./ ides/anjuta/
include/ modules/core/context/src/ modules/core/description/src/
modules/core/engine/src/ modules/core/phaseresolver/src/
modules/core/phaseresolver/src/.deps/ modules/core/tran...
Modified: webservices/axis2/trunk/c/modules/core/engine/src/engine_config.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/engine/src/engine_config.c?rev=351594&r1=351593&r2=351594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/engine/src/engine_config.c (original)
+++ webservices/axis2/trunk/c/modules/core/engine/src/engine_config.c Thu Dec 1 21:13:39 2005
@@ -18,17 +18,33 @@
#include <axis2_engine_config.h>
-typedef struct axis2_engine_config_impl_s axis2_engine_config_impl_t;
+typedef struct axis2_engine_config_impl axis2_engine_config_impl_t;
/**
* @brief Engine configuration struct impl
* Axis2 Engine Configuration impl
*/
-struct axis2_engine_config_impl_s
+struct axis2_engine_config_impl
{
axis2_engine_config_t engine_config;
- axis2_param_container_t *param_container;
axis2_hash_t *svc_grps;
+ axis2_hash_t *transports_in;
+ axis2_hash_t *transports_out;
+ /**
+ * Field modules
+ */
+ axis2_array_list_t *engaged_modules;
+ /**
+ * Field modules
+ */
+ axis2_hash_t *modules;
+ /** private ArrayList inPhases; */
+ axis2_array_list_t *out_phases;
+ axis2_array_list_t *in_fault_phases;
+ axis2_array_list_t *out_fault_phases;
+
+ axis2_array_list_t *in_phases_upto_and_including_post_dispatch;
+
};
#define AXIS2_INTF_TO_IMPL(engine_config) \
@@ -43,13 +59,17 @@
axis2_status_t AXIS2_CALL
axis2_engine_config_add_svc_grp (axis2_engine_config_t *engine_config,
axis2_env_t **env,
- struct axis2_svc_grp_s *svc_grp);
+ struct axis2_svc_grp *svc_grp);
-struct axis2_svc_grp_s * AXIS2_CALL
+struct axis2_svc_grp * AXIS2_CALL
axis2_engine_config_get_svc_grp (axis2_engine_config_t *engine_config,
axis2_env_t **env,
const axis2_char_t *svc_grp_name);
+axis2_hash_t * AXIS2_CALL
+axis2_engine_config_get_svc_grps(axis2_engine_config_t *engine_config,
+ axis2_env_t **env);
+
axis2_status_t AXIS2_CALL
axis2_engine_config_add_svc (axis2_engine_config_t *engine_config,
axis2_env_t **env,
@@ -98,51 +118,216 @@
const axis2_char_t *svc_name,
axis2_char_t **svc_name_st);
+struct axis2_transport_in_desc * AXIS2_CALL
+axis2_engine_config_get_transport_in(axis2_engine_config_t *engine_config,
+ axis2_env_t **env,
+ axis2_qname_t *qname);
+
+axis2_status_t AXIS2_CALL
+axis2_engine_config_add_transport_in(axis2_engine_config_t *engine_config,
+ axis2_env_t **env,
+ struct axis2_transport_in_desc *transport);
+
+struct axis2_transport_out_desc * AXIS2_CALL
+axis2_engine_config_get_transport_out(axis2_engine_config_t *engine_config,
+ axis2_env_t **env,
+ axis2_qname_t *qname);
+
+axis2_status_t AXIS2_CALL
+axis2_engine_config_add_transport_out(axis2_engine_config_t *engine_config,
+ axis2_env_t **env,
+ struct axis2_transport_out_desc *transport);
+
+axis2_hash_t * AXIS2_CALL
+axis2_engine_config_get_transports_in(axis2_engine_config_t *engine_config,
+ axis2_env_t **env);
+
+axis2_hash_t * AXIS2_CALL
+axis2_engine_config_get_transports_out(axis2_engine_config_t *engine_config,
+ axis2_env_t **env);
+
+struct axis2_module_desc *AXIS2_CALL
+axis2_engine_config_get_module(axis2_engine_config_t *engine_config,
+ axis2_env_t **env,
+ axis2_qname_t *qname);
+
+axis2_array_list_t * AXIS2_CALL
+axis2_engine_config_get_engaged_modules(axis2_engine_config_t *engine_config,
+ axis2_env_t **env);
+
+axis2_array_list_t * AXIS2_CALL
+axis2_engine_config_get_in_phases_upto_and_including_post_dispatch(
+ axis2_engine_config_t *engine_config,
+ axis2_env_t **env);
+
+axis2_array_list_t * AXIS2_CALL
+axis2_engine_config_get_outflow(axis2_engine_config_t *engine_config,
+ axis2_env_t **env);
+
+axis2_array_list_t * AXIS2_CALL
+axis2_engine_config_get_in_fault_flow(axis2_engine_config_t *engine_config,
+ axis2_env_t **env);
+axis2_array_list_t * AXIS2_CALL
+axis2_engine_config_get_out_fault_flow(axis2_engine_config_t *engine_config,
+ axis2_env_t **env);
+
/************************** End of function prototypes ************************/
axis2_engine_config_t * AXIS2_CALL
axis2_engine_config_create (axis2_env_t **env)
{
+ axis2_engine_config_impl_t *config_impl = NULL;
AXIS2_ENV_CHECK(env, NULL);
- axis2_engine_config_impl_t *engine_config_impl
+ config_impl
= (axis2_engine_config_impl_t *) AXIS2_MALLOC ((*env)->allocator
, sizeof(axis2_engine_config_impl_t));
- if(NULL == engine_config_impl)
+ if(NULL == config_impl)
AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+
+ config_impl->svc_grps = NULL;
+ config_impl->modules = NULL;
+ config_impl->engaged_modules = NULL;
+ config_impl->in_phases_upto_and_including_post_dispatch = NULL;
+ config_impl->out_phases = NULL;
+ config_impl->in_fault_phases = NULL;
+ config_impl->out_fault_phases = NULL;
+
+ config_impl->engine_config.ops = NULL;
- engine_config_impl->engine_config.ops->free = axis2_engine_config_free;
- engine_config_impl->engine_config.ops->add_svc_grp =
+ config_impl->engine_config.param_container = (axis2_param_container_t *)
+ axis2_param_container_create(env);
+ if(NULL == config_impl->engine_config.param_container)
+ {
+ axis2_engine_config_free(&(config_impl->engine_config), env);
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+ }
+
+ config_impl->transports_in = axis2_hash_make(env);
+ if(NULL == config_impl->transports_in)
+ {
+ axis2_engine_config_free(&(config_impl->engine_config), env);
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+ }
+
+ config_impl->transports_out = axis2_hash_make(env);
+ if(NULL == config_impl->transports_out)
+ {
+ axis2_engine_config_free(&(config_impl->engine_config), env);
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+ }
+
+ config_impl->modules = axis2_hash_make(env);
+ if(NULL == config_impl->modules)
+ {
+ axis2_engine_config_free(&(config_impl->engine_config), env);
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+ }
+
+ config_impl->engaged_modules = axis2_array_list_create(env, 0);
+ if(NULL == config_impl->engaged_modules)
+ {
+ axis2_engine_config_free(&(config_impl->engine_config), env);
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+ }
+
+ config_impl->in_phases_upto_and_including_post_dispatch =
+ axis2_array_list_create(env, 0);
+ if(NULL == config_impl->in_phases_upto_and_including_post_dispatch)
+ {
+ axis2_engine_config_free(&(config_impl->engine_config), env);
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+ }
+
+ config_impl->out_phases = axis2_array_list_create(env, 0);
+ if(NULL == config_impl->out_phases)
+ {
+ axis2_engine_config_free(&(config_impl->engine_config), env);
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+ }
+
+ config_impl->in_fault_phases = axis2_array_list_create(env, 0);
+ if(NULL == config_impl->in_fault_phases)
+ {
+ axis2_engine_config_free(&(config_impl->engine_config), env);
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+ }
+
+ config_impl->out_fault_phases = axis2_array_list_create(env, 0);
+ if(NULL == config_impl->out_fault_phases)
+ {
+ axis2_engine_config_free(&(config_impl->engine_config), env);
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+ }
+
+ config_impl->engine_config.ops = AXIS2_MALLOC((*env)->allocator,
+ sizeof(axis2_engine_config_ops_t));
+ if(NULL == config_impl->engine_config.ops)
+ {
+ axis2_engine_config_free(&(config_impl->engine_config), env);
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+ }
+
+ config_impl->engine_config.ops->free = axis2_engine_config_free;
+ config_impl->engine_config.ops->add_svc_grp =
axis2_engine_config_add_svc_grp;
- engine_config_impl->engine_config.ops->get_svc_grp =
+ config_impl->engine_config.ops->get_svc_grp =
axis2_engine_config_get_svc_grp;
- engine_config_impl->engine_config.ops->add_svc = axis2_engine_config_add_svc;
- engine_config_impl->engine_config.ops->get_svc = axis2_engine_config_get_svc;
- engine_config_impl->engine_config.ops->remove_svc =
+
+ config_impl->engine_config.ops->get_svc_grps =
+ axis2_engine_config_get_svc_grps;
+
+ config_impl->engine_config.ops->add_svc = axis2_engine_config_add_svc;
+ config_impl->engine_config.ops->get_svc = axis2_engine_config_get_svc;
+ config_impl->engine_config.ops->remove_svc =
axis2_engine_config_remove_svc;
- engine_config_impl->engine_config.ops->add_param =
+ config_impl->engine_config.ops->add_param =
axis2_engine_config_add_param;
- engine_config_impl->engine_config.ops->get_param =
+ config_impl->engine_config.ops->get_param =
axis2_engine_config_get_param;
- engine_config_impl->engine_config.ops->get_params =
+ config_impl->engine_config.ops->get_params =
axis2_engine_config_get_params;
- engine_config_impl->engine_config.ops->is_param_locked =
+ config_impl->engine_config.ops->is_param_locked =
axis2_engine_config_is_param_locked;
-
- axis2_param_container_t *param_container = (axis2_param_container_t *)
- axis2_param_container_create(env);
- if(NULL == param_container)
- {
- AXIS2_FREE((*env)->allocator, engine_config_impl);
- AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
- }
-
- engine_config_impl->param_container = param_container;
-
- engine_config_impl->svc_grps = NULL;
+
+ config_impl->engine_config.ops->get_transport_in =
+ axis2_engine_config_get_transport_in;
+
+ config_impl->engine_config.ops->add_transport_in =
+ axis2_engine_config_add_transport_in;
+
+ config_impl->engine_config.ops->get_transport_out =
+ axis2_engine_config_get_transport_out;
+
+ config_impl->engine_config.ops->add_transport_out =
+ axis2_engine_config_add_transport_out;
+
+ config_impl->engine_config.ops->get_transports_in =
+ axis2_engine_config_get_transports_in;
+
+ config_impl->engine_config.ops->get_transports_out =
+ axis2_engine_config_get_transports_out;
- return &(engine_config_impl->engine_config);
+ config_impl->engine_config.ops->get_module =
+ axis2_engine_config_get_module;
+
+ config_impl->engine_config.ops->get_engaged_modules =
+ axis2_engine_config_get_engaged_modules;
+
+ config_impl->engine_config.ops->get_in_phases_upto_and_including_post_dispatch =
+ axis2_engine_config_get_in_phases_upto_and_including_post_dispatch;
+
+ config_impl->engine_config.ops->get_outflow =
+ axis2_engine_config_get_outflow;
+
+ config_impl->engine_config.ops->get_in_fault_flow =
+ axis2_engine_config_get_in_fault_flow;
+
+ config_impl->engine_config.ops->get_out_fault_flow =
+ axis2_engine_config_get_out_fault_flow;
+
+ return &(config_impl->engine_config);
}
/**********************Start of operation impls********************************/
@@ -151,16 +336,43 @@
axis2_engine_config_free (axis2_engine_config_t *engine_config,
axis2_env_t **env)
{
+ axis2_engine_config_impl_t *config_impl = NULL;
AXIS2_FUNC_PARAM_CHECK(engine_config, env, AXIS2_FAILURE);
+ config_impl = AXIS2_INTF_TO_IMPL(engine_config);
if(NULL != engine_config->ops)
AXIS2_FREE((*env)->allocator, engine_config->ops);
- if(NULL != AXIS2_INTF_TO_IMPL(engine_config)->param_container)
- AXIS2_PARAM_CONTAINER_FREE(AXIS2_INTF_TO_IMPL(engine_config)->
- param_container, env);
+ if(NULL != engine_config->param_container)
+ AXIS2_PARAM_CONTAINER_FREE(engine_config->param_container, env);
+
+ if(config_impl->svc_grps)
+ axis2_hash_free(config_impl->svc_grps, env);
+
+ if(config_impl->transports_in)
+ axis2_hash_free(config_impl->transports_in, env);
+
+ if(config_impl->transports_out)
+ axis2_hash_free(config_impl->transports_out, env);
+
+ if(config_impl->modules)
+ axis2_hash_free(config_impl->modules, env);
+
+ if(config_impl->engaged_modules)
+ AXIS2_ARRAY_LIST_FREE(config_impl->engaged_modules, env);
- axis2_hash_free(AXIS2_INTF_TO_IMPL(engine_config)->svc_grps, env);
+ if(config_impl->out_phases)
+ AXIS2_ARRAY_LIST_FREE(config_impl->out_phases, env);
+
+ if(config_impl->in_fault_phases)
+ AXIS2_ARRAY_LIST_FREE(config_impl->in_fault_phases, env);
+
+ if(config_impl->out_fault_phases)
+ AXIS2_ARRAY_LIST_FREE(config_impl->out_fault_phases, env);
+
+ if(config_impl->in_phases_upto_and_including_post_dispatch)
+ AXIS2_ARRAY_LIST_FREE(config_impl->
+ in_phases_upto_and_including_post_dispatch, env);
AXIS2_FREE((*env)->allocator, engine_config);
@@ -170,7 +382,7 @@
axis2_status_t AXIS2_CALL
axis2_engine_config_add_svc_grp (axis2_engine_config_t *engine_config,
axis2_env_t **env,
- struct axis2_svc_grp_s *svc_grp)
+ struct axis2_svc_grp *svc_grp)
{
AXIS2_FUNC_PARAM_CHECK(engine_config, env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, svc_grp, AXIS2_FAILURE);
@@ -182,7 +394,7 @@
return AXIS2_SUCCESS;
}
-struct axis2_svc_grp_s * AXIS2_CALL
+struct axis2_svc_grp * AXIS2_CALL
axis2_engine_config_get_svc_grp (axis2_engine_config_t *engine_config,
axis2_env_t **env,
const axis2_char_t *svc_grp_name)
@@ -190,11 +402,19 @@
AXIS2_FUNC_PARAM_CHECK(engine_config, env, NULL);
AXIS2_PARAM_CHECK((*env)->error, svc_grp_name, NULL);
- return (struct axis2_svc_grp_s *) (axis2_hash_get (
+ return (struct axis2_svc_grp *) (axis2_hash_get (
AXIS2_INTF_TO_IMPL(engine_config)->svc_grps, svc_grp_name,
AXIS2_HASH_KEY_STRING));
}
+axis2_hash_t * AXIS2_CALL
+axis2_engine_config_get_svc_grps(axis2_engine_config_t *engine_config,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(engine_config, env, NULL);
+ return AXIS2_INTF_TO_IMPL(engine_config)->svc_grps;
+}
+
axis2_status_t AXIS2_CALL
axis2_engine_config_add_svc (axis2_engine_config_t *engine_config,
axis2_env_t **env,
@@ -203,7 +423,7 @@
AXIS2_FUNC_PARAM_CHECK(engine_config, env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, svc, AXIS2_FAILURE);
- struct axis2_svc_grp_s *svc_grp = axis2_svc_grp_create(env);
+ struct axis2_svc_grp *svc_grp = axis2_svc_grp_create(env);
if(NULL == svc_grp)
{
@@ -233,7 +453,7 @@
AXIS2_FUNC_PARAM_CHECK(engine_config, env, NULL);
AXIS2_PARAM_CHECK((*env)->error, svc_name, NULL);
- struct axis2_svc_grp_s *sg = NULL;
+ struct axis2_svc_grp *sg = NULL;
int len = strlen(svc_name);
axis2_char_t *svc_st[2];
svc_st[1] = (axis2_char_t*) AXIS2_MALLOC((*env)->allocator,
@@ -263,7 +483,7 @@
AXIS2_FUNC_PARAM_CHECK(engine_config, env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, svc_name, AXIS2_FAILURE);
- struct axis2_svc_grp_s *sg = NULL;
+ struct axis2_svc_grp *sg = NULL;
int len = strlen(svc_name);
axis2_char_t *svc_st[2];
@@ -292,18 +512,28 @@
axis2_env_t **env,
axis2_param_t *param)
{
+ axis2_status_t status = AXIS2_FAILURE;
AXIS2_FUNC_PARAM_CHECK(engine_config, env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, param, AXIS2_FAILURE);
- if(NULL == AXIS2_INTF_TO_IMPL(engine_config)->param_container)
+ if(NULL == engine_config->param_container)
{
AXIS2_ERROR_SET((*env)->error,
AXIS2_ERROR_INVALID_STATE_PARAM_CONTAINER, AXIS2_FAILURE);
+ return AXIS2_FAILURE;
}
- axis2_hash_set (AXIS2_PARAM_CONTAINER_GET_PARAMS(AXIS2_INTF_TO_IMPL(engine_config)->
- param_container, env), AXIS2_PARAM_GET_NAME(param, env),
- AXIS2_HASH_KEY_STRING, param);
- return AXIS2_SUCCESS;
+
+ if(AXIS2_PARAM_CONTAINER_IS_PARAM_LOCKED(engine_config->param_container, env,
+ AXIS2_PARAM_GET_NAME(param, env)))
+ {
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_PARAMETER_LOCKED_CANNOT_OVERRIDE,
+ AXIS2_FAILURE);
+ return AXIS2_FAILURE;
+ } else
+ {
+ status = AXIS2_PARAM_CONTAINER_ADD_PARAM(engine_config->param_container, env, param);
+ }
+ return status;
}
axis2_param_t * AXIS2_CALL
@@ -311,17 +541,18 @@
axis2_env_t **env,
const axis2_char_t *name)
{
- AXIS2_FUNC_PARAM_CHECK(engine_config, env, AXIS2_FAILURE);
+ AXIS2_FUNC_PARAM_CHECK(engine_config, env, NULL);
+ AXIS2_PARAM_CHECK((*env)->error, name, NULL);
- if(NULL == AXIS2_INTF_TO_IMPL(engine_config)->param_container)
+ if(NULL == engine_config->param_container)
{
AXIS2_ERROR_SET((*env)->error,
- AXIS2_ERROR_INVALID_STATE_PARAM_CONTAINER, AXIS2_FAILURE);
+ AXIS2_ERROR_INVALID_STATE_PARAM_CONTAINER, NULL);
+ return NULL;
}
- return (axis2_param_t *)(axis2_hash_get
- (AXIS2_PARAM_CONTAINER_GET_PARAMS(AXIS2_INTF_TO_IMPL(engine_config)->
- param_container, env), name, AXIS2_HASH_KEY_STRING));
+ return AXIS2_PARAM_CONTAINER_GET_PARAM(engine_config->param_container, env,
+ name);
}
@@ -330,8 +561,7 @@
axis2_env_t **env)
{
AXIS2_FUNC_PARAM_CHECK(engine_config, env, NULL);
- return AXIS2_PARAM_CONTAINER_GET_PARAMS(AXIS2_INTF_TO_IMPL(engine_config)->
- param_container, env);
+ return AXIS2_PARAM_CONTAINER_GET_PARAMS(engine_config->param_container, env);
}
@@ -341,7 +571,7 @@
const axis2_char_t *param_name)
{
AXIS2_FUNC_PARAM_CHECK(engine_config, env, AXIS2_FALSE);
- if(NULL == AXIS2_INTF_TO_IMPL(engine_config)->param_container)
+ if(NULL == engine_config->param_container)
{
AXIS2_ERROR_SET((*env)->error,
AXIS2_ERROR_INVALID_STATE_PARAM_CONTAINER, AXIS2_FALSE);
@@ -353,11 +583,172 @@
AXIS2_FAILURE);
return AXIS2_PARAM_CONTAINER_IS_PARAM_LOCKED
- (AXIS2_INTF_TO_IMPL(engine_config)->param_container, env, param_name);
+ (engine_config->param_container, env, param_name);
}
-
+struct axis2_transport_in_desc * AXIS2_CALL
+axis2_engine_config_get_transport_in(axis2_engine_config_t *engine_config,
+ axis2_env_t **env,
+ axis2_qname_t *qname)
+{
+ axis2_engine_config_impl_t *config_impl = NULL;
+ AXIS2_FUNC_PARAM_CHECK(engine_config, env, NULL);
+ AXIS2_PARAM_CHECK((*env)->error, qname, NULL);
+
+ config_impl = AXIS2_INTF_TO_IMPL(engine_config);
+
+ return (struct axis2_transport_in_desc *) axis2_hash_get(config_impl->transports_in,
+ qname, sizeof(axis2_qname_t));
+}
+
+/**
+ * Method addTransport
+ *
+ * @param transport
+ * @throws AxisFault
+ */
+axis2_status_t AXIS2_CALL
+axis2_engine_config_add_transport_in(axis2_engine_config_t *engine_config,
+ axis2_env_t **env,
+ struct axis2_transport_in_desc *transport)
+{
+ axis2_engine_config_impl_t *config_impl = NULL;
+ AXIS2_FUNC_PARAM_CHECK(engine_config, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, transport, AXIS2_FAILURE);
+ config_impl = AXIS2_INTF_TO_IMPL(engine_config);
+ axis2_hash_set(config_impl->transports_in,
+ AXIS2_TRANSPORT_IN_DESC_GET_QNAME(transport, env), sizeof(axis2_qname_t),
+ transport);
+
+ return AXIS2_SUCCESS;
+
+}
+
+struct axis2_transport_out_desc * AXIS2_CALL
+axis2_engine_config_get_transport_out(axis2_engine_config_t *engine_config,
+ axis2_env_t **env,
+ axis2_qname_t *qname)
+{
+ axis2_engine_config_impl_t *config_impl = NULL;
+ AXIS2_FUNC_PARAM_CHECK(engine_config, env, NULL);
+ AXIS2_PARAM_CHECK((*env)->error, qname, NULL);
+
+ config_impl = AXIS2_INTF_TO_IMPL(engine_config);
+
+ return (struct axis2_transport_out_desc *) axis2_hash_get(config_impl->transports_out,
+ qname, sizeof(axis2_qname_t));
+}
+
+/**
+ * Method addTransport
+ *
+ * @param transport
+ * @throws AxisFault
+ */
+axis2_status_t AXIS2_CALL
+axis2_engine_config_add_transport_out(axis2_engine_config_t *engine_config,
+ axis2_env_t **env,
+ struct axis2_transport_out_desc *transport)
+{
+ axis2_engine_config_impl_t *config_impl = NULL;
+ AXIS2_FUNC_PARAM_CHECK(engine_config, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, transport, AXIS2_FAILURE);
+ config_impl = AXIS2_INTF_TO_IMPL(engine_config);
+ axis2_hash_set(config_impl->transports_out,
+ AXIS2_TRANSPORT_OUT_DESC_GET_QNAME(transport, env),
+ sizeof(axis2_qname_t), transport);
+ return AXIS2_SUCCESS;
+
+}
+
+axis2_hash_t * AXIS2_CALL
+axis2_engine_config_get_transports_in(axis2_engine_config_t *engine_config,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(engine_config, env, NULL);
+ return AXIS2_INTF_TO_IMPL(engine_config)->transports_in;
+}
+
+/**
+ * Method getModule
+ *
+ * @param name
+ * @return ModuleDescription
+ */
+struct axis2_module_desc *AXIS2_CALL
+axis2_engine_config_get_module(axis2_engine_config_t *engine_config,
+ axis2_env_t **env,
+ axis2_qname_t *qname)
+{
+ AXIS2_FUNC_PARAM_CHECK(engine_config, env, NULL);
+ AXIS2_PARAM_CHECK((*env)->error, qname, NULL);
+ return (struct axis2_module_desc *) axis2_hash_get(AXIS2_INTF_TO_IMPL(
+ engine_config)->modules, qname, sizeof(axis2_qname_t));
+}
+
+/**
+ * Method getEngadgedModules
+ *
+ * @return Collection
+ */
+axis2_array_list_t * AXIS2_CALL
+axis2_engine_config_get_engaged_modules(axis2_engine_config_t *engine_config,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(engine_config, env, NULL);
+ return AXIS2_INTF_TO_IMPL(engine_config)->engaged_modules;
+}
+
+axis2_array_list_t * AXIS2_CALL
+axis2_engine_config_get_in_phases_upto_and_including_post_dispatch(
+ axis2_engine_config_t *engine_config,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(engine_config, env, NULL);
+ return AXIS2_INTF_TO_IMPL(engine_config)->
+ in_phases_upto_and_including_post_dispatch;
+}
+
+axis2_array_list_t * AXIS2_CALL
+axis2_engine_config_get_outflow(axis2_engine_config_t *engine_config,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(engine_config, env, NULL);
+ return AXIS2_INTF_TO_IMPL(engine_config)->out_phases;
+}
+
+
+/**
+ * @return ArrayList
+ */
+axis2_array_list_t * AXIS2_CALL
+axis2_engine_config_get_in_fault_flow(axis2_engine_config_t *engine_config,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(engine_config, env, NULL);
+ return AXIS2_INTF_TO_IMPL(engine_config)->in_fault_phases;
+}
+
+/**
+ * @return ArrayList
+ */
+axis2_array_list_t * AXIS2_CALL
+axis2_engine_config_get_out_fault_flow(axis2_engine_config_t *engine_config,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(engine_config, env, NULL);
+ return AXIS2_INTF_TO_IMPL(engine_config)->out_fault_phases;
+}
+
+axis2_hash_t * AXIS2_CALL
+axis2_engine_config_get_transports_out(axis2_engine_config_t *engine_config,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(engine_config, env, NULL);
+ return AXIS2_INTF_TO_IMPL(engine_config)->transports_out;
+}
+
axis2_status_t
split_svc_name (axis2_env_t **env,
const axis2_char_t *svc_name,
Modified: webservices/axis2/trunk/c/modules/core/phaseresolver/src/.deps/phase_holder.Plo
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/phaseresolver/src/.deps/phase_holder.Plo?rev=351594&r1=351593&r2=351594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/phaseresolver/src/.deps/phase_holder.Plo (original)
+++ webservices/axis2/trunk/c/modules/core/phaseresolver/src/.deps/phase_holder.Plo Thu Dec 1 21:13:39 2005
@@ -1 +1,107 @@
-# dummy
+phase_holder.lo phase_holder.o: phase_holder.c \
+ ../../../../include/axis2_phase_holder.h ../../../../include/axis2.h \
+ /usr/include/stdlib.h /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/bits/wordsize.h \
+ /usr/include/gnu/stubs-32.h \
+ /usr/lib/gcc/i386-redhat-linux/4.0.0/include/stddef.h \
+ /usr/include/stdio.h /usr/include/bits/types.h \
+ /usr/include/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i386-redhat-linux/4.0.0/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h ../../../../include/axis2_env.h \
+ ../../../../include/axis2_allocator.h \
+ ../../../../include/axis2_defines.h ../../../../include/axis2_error.h \
+ ../../../../include/axis2_stream.h ../../../../include/axis2_log.h \
+ ../../../../include/axis2_qname.h \
+ ../../../../modules/util/src/axis2_string.h \
+ ../../../../modules/util/src/axis2_array_list.h \
+ ../../../../include/axis2_handler_desc.h \
+ ../../../../include/axis2_param.h ../../../../include/axis2_om_node.h \
+ ../../../../include/axis2_core.h \
+ ../../../../modules/util/src/axis2_hash.h \
+ ../../../../include/axis2_param_container.h \
+ ../../../../include/axis2_phase_rule.h \
+ ../../../../include/axis2_handler.h ../../../../include/axis2_phase.h \
+ ../../../../modules/wsdl/src/wsdl.h
+
+../../../../include/axis2_phase_holder.h:
+
+../../../../include/axis2.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/gnu/stubs-32.h:
+
+/usr/lib/gcc/i386-redhat-linux/4.0.0/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i386-redhat-linux/4.0.0/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+../../../../include/axis2_env.h:
+
+../../../../include/axis2_allocator.h:
+
+../../../../include/axis2_defines.h:
+
+../../../../include/axis2_error.h:
+
+../../../../include/axis2_stream.h:
+
+../../../../include/axis2_log.h:
+
+../../../../include/axis2_qname.h:
+
+../../../../modules/util/src/axis2_string.h:
+
+../../../../modules/util/src/axis2_array_list.h:
+
+../../../../include/axis2_handler_desc.h:
+
+../../../../include/axis2_param.h:
+
+../../../../include/axis2_om_node.h:
+
+../../../../include/axis2_core.h:
+
+../../../../modules/util/src/axis2_hash.h:
+
+../../../../include/axis2_param_container.h:
+
+../../../../include/axis2_phase_rule.h:
+
+../../../../include/axis2_handler.h:
+
+../../../../include/axis2_phase.h:
+
+../../../../modules/wsdl/src/wsdl.h:
Modified: webservices/axis2/trunk/c/modules/core/phaseresolver/src/Makefile.am
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/phaseresolver/src/Makefile.am?rev=351594&r1=351593&r2=351594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/phaseresolver/src/Makefile.am (original)
+++ webservices/axis2/trunk/c/modules/core/phaseresolver/src/Makefile.am Thu Dec 1 21:13:39 2005
@@ -6,4 +6,6 @@
INCLUDES = -I${CUTEST_HOME}/include -I$(top_builddir)/include \
-I$(top_builddir)/modules/xml/guththila/src \
-I$(top_builddir)/modules/util/src \
- -I$(top_builddir)/modules/wsdl/src
+ -I$(top_builddir)/modules/wsdl/src \
+ -I$(top_builddir)/modules/core/description/src \
+ -I$(top_builddir)/modules/core/transport
Modified: webservices/axis2/trunk/c/modules/core/phaseresolver/src/Makefile.in
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/phaseresolver/src/Makefile.in?rev=351594&r1=351593&r2=351594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/phaseresolver/src/Makefile.in (original)
+++ webservices/axis2/trunk/c/modules/core/phaseresolver/src/Makefile.in Thu Dec 1 21:13:39 2005
@@ -195,7 +195,9 @@
INCLUDES = -I${CUTEST_HOME}/include -I$(top_builddir)/include \
-I$(top_builddir)/modules/xml/guththila/src \
-I$(top_builddir)/modules/util/src \
- -I$(top_builddir)/modules/wsdl/src
+ -I$(top_builddir)/modules/wsdl/src \
+ -I$(top_builddir)/modules/core/description/src \
+ -I$(top_builddir)/modules/core/transport
all: all-am
Modified: webservices/axis2/trunk/c/modules/core/phaseresolver/src/phase_holder.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/phaseresolver/src/phase_holder.c?rev=351594&r1=351593&r2=351594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/phaseresolver/src/phase_holder.c (original)
+++ webservices/axis2/trunk/c/modules/core/phaseresolver/src/phase_holder.c Thu Dec 1 21:13:39 2005
@@ -73,12 +73,7 @@
if(NULL == phase_holder_impl)
AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
- phase_holder_impl->phase_list = axis2_array_list_create(env, 0);
- if(NULL == phase_holder_impl->phase_list)
- {
- axis2_phase_holder_free(&(phase_holder_impl->phase_holder), env);
- AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
- }
+ phase_holder_impl->phase_list = NULL;
phase_holder_impl->phase_holder.ops =
AXIS2_MALLOC ((*env)->allocator, sizeof(axis2_phase_holder_ops_t));
@@ -155,6 +150,7 @@
int size = 0;
int i = 0;
struct axis2_phase *phase = NULL;
+
AXIS2_FUNC_PARAM_CHECK(phase_holder, env, AXIS2_FALSE);
AXIS2_PARAM_CHECK((*env)->error, phase_name, AXIS2_FALSE);
@@ -187,6 +183,7 @@
{
axis2_char_t *phase_name = NULL;
axis2_status_t status = AXIS2_FAILURE;
+
AXIS2_FUNC_PARAM_CHECK(phase_holder, env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, handler, AXIS2_FAILURE);
@@ -200,7 +197,7 @@
} else
{
AXIS2_ERROR_SET((*env)->error, INVALID_PHASE, AXIS2_FAILURE);
-
+ return AXIS2_FAILURE;
}
return status;
}
@@ -218,12 +215,14 @@
{
int size = 0;
int i = 0;
- axis2_phase_holder_impl_t *phase_holder_impl = AXIS2_INTF_TO_IMPL(phase_holder);
+ axis2_phase_holder_impl_t *phase_holder_impl = NULL;
struct axis2_phase *phase = NULL;
AXIS2_FUNC_PARAM_CHECK(phase_holder, env, NULL);
AXIS2_PARAM_CHECK((*env)->error, phase_name, NULL);
+ phase_holder_impl = AXIS2_INTF_TO_IMPL(phase_holder);
+
size = AXIS2_ARRAY_LIST_SIZE(phase_holder_impl->phase_list, env);
for (i = 0; i < size; i++) {
@@ -276,11 +275,14 @@
handler =
(Handler) handlerClass.newInstance();*/
status = AXIS2_HANDLER_INIT(handler, env, handler_desc);
- if(AXIS2_SUCCESS == status)
- status = AXIS2_HANDLER_DESC_SET_HANDLER(handler_desc, env, handler);
+ if(AXIS2_FAILURE == status)
+ return status;
+
+ status = AXIS2_HANDLER_DESC_SET_HANDLER(handler_desc, env, handler);
+ if(AXIS2_FAILURE == status)
+ return status;
- if(AXIS2_SUCCESS == status)
- status = AXIS2_PHASE_ADD_HANDLER(phase, env, handler);
+ status = AXIS2_PHASE_ADD_HANDLER(phase, env, handler);
}
return status;
}