You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by da...@apache.org on 2006/02/06 08:25:04 UTC
svn commit: r375212 - in /webservices/axis2/trunk/c: ides/anjuta/ include/
modules/core/deployment/ modules/core/description/ modules/platforms/unix/
modules/util/ modules/wsdl/ test/core/description/ test/unit/wsdl/
Author: damitha
Date: Sun Feb 5 23:25:02 2006
New Revision: 375212
URL: http://svn.apache.org/viewcvs?rev=375212&view=rev
Log:
see [jira] Commented: (AXIS2C-54) include files in src folders.
Removed axis2_wsdl_component's dependancy on axis2_description.h
Modified:
webservices/axis2/trunk/c/ides/anjuta/axis2c.prj
webservices/axis2/trunk/c/include/axis2.h
webservices/axis2/trunk/c/include/axis2_dll_desc.h
webservices/axis2/trunk/c/include/axis2_flow.h
webservices/axis2/trunk/c/include/axis2_module_desc.h
webservices/axis2/trunk/c/include/axis2_param_container.h
webservices/axis2/trunk/c/include/axis2_wsdl_component.h
webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c
webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c
webservices/axis2/trunk/c/modules/core/description/dll_desc.c
webservices/axis2/trunk/c/modules/core/description/flow.c
webservices/axis2/trunk/c/modules/core/description/module_desc.c
webservices/axis2/trunk/c/modules/core/description/op.c
webservices/axis2/trunk/c/modules/core/description/param_container.c
webservices/axis2/trunk/c/modules/core/description/svc.c
webservices/axis2/trunk/c/modules/platforms/unix/axis2_unix.h
webservices/axis2/trunk/c/modules/util/Makefile.am
webservices/axis2/trunk/c/modules/util/class_loader.c
webservices/axis2/trunk/c/modules/wsdl/wsdl_component.c
webservices/axis2/trunk/c/test/core/description/test_description.c
webservices/axis2/trunk/c/test/unit/wsdl/test_wsdl_component.c
Modified: webservices/axis2/trunk/c/ides/anjuta/axis2c.prj
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/ides/anjuta/axis2c.prj?rev=375212&r1=375211&r2=375212&view=diff
==============================================================================
--- webservices/axis2/trunk/c/ides/anjuta/axis2c.prj (original)
+++ webservices/axis2/trunk/c/ides/anjuta/axis2c.prj Sun Feb 5 23:25:02 2006
@@ -246,7 +246,8 @@
include/axis2_http_server.h\
include/axis2_http_svr_thread.h\
include/axis2_uuid_gen.h\
- include/axis2_conf_init.h
+ include/axis2_conf_init.h\
+ include/axis2_svr_callback.h
module.source.name=.
module.source.type=
@@ -433,7 +434,8 @@
modules/xml/soap/soap_utils.c\
test/client/echo/echo_client.c\
test/client/echo/axis2_echo_stub.c\
- modules/core/deployment/conf_init.c
+ modules/core/deployment/conf_init.c\
+ modules/core/receivers/svr_callback.c
module.pixmap.name=.
module.pixmap.type=
Modified: webservices/axis2/trunk/c/include/axis2.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2.h?rev=375212&r1=375211&r2=375212&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2.h (original)
+++ webservices/axis2/trunk/c/include/axis2.h Sun Feb 5 23:25:02 2006
@@ -93,6 +93,8 @@
* @{
*/
+typedef int (*AXIS2_FREE_VOID_ARG) (void *obj_to_be_freed, axis2_env_t **env);
+
typedef enum axis2_op_type
{
/** axis2_wsdl_op_t */
Modified: webservices/axis2/trunk/c/include/axis2_dll_desc.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_dll_desc.h?rev=375212&r1=375211&r2=375212&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_dll_desc.h (original)
+++ webservices/axis2/trunk/c/include/axis2_dll_desc.h Sun Feb 5 23:25:02 2006
@@ -160,7 +160,7 @@
axis2_dll_desc_create(axis2_env_t **env);
AXIS2_DECLARE(axis2_status_t)
-axis2_dll_desc_as_param_value_free (void *as_param_value,
+axis2_dll_desc_free_void_arg (void *dll_desc,
axis2_env_t **env);
/******************************************************************************/
Modified: webservices/axis2/trunk/c/include/axis2_flow.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_flow.h?rev=375212&r1=375211&r2=375212&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_flow.h (original)
+++ webservices/axis2/trunk/c/include/axis2_flow.h Sun Feb 5 23:25:02 2006
@@ -99,6 +99,15 @@
AXIS2_DECLARE(axis2_flow_t *)
axis2_flow_create (axis2_env_t **env);
+/**
+ * Free flow passed as void pointer. This will be
+ * cast into appropriate type and then pass the cast object
+ * into the flow structure's free method
+ */
+AXIS2_DECLARE(axis2_status_t)
+axis2_flow_free_void_arg (void *flow,
+ axis2_env_t **env);
+
/*************************** Function macros **********************************/
#define AXIS2_FLOW_FREE(flow, env) ((flow)->ops->free (flow, env))
Modified: webservices/axis2/trunk/c/include/axis2_module_desc.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_module_desc.h?rev=375212&r1=375211&r2=375212&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_module_desc.h (original)
+++ webservices/axis2/trunk/c/include/axis2_module_desc.h Sun Feb 5 23:25:02 2006
@@ -256,7 +256,22 @@
axis2_module_desc_create_with_qname (axis2_env_t **env,
axis2_qname_t *qname);
+/**
+ * Free module_desc passed as void pointer. This will be
+ * cast into appropriate type and then pass the cast object
+ * into the module_desc structure's free method
+ */
+AXIS2_DECLARE(axis2_status_t)
+axis2_module_desc_free_void_arg (void *module_desc,
+ axis2_env_t **env);
+/**
+ * Free module_desc array passed as void pointer.
+ */
+AXIS2_DECLARE(axis2_status_t)
+axis2_module_desc_array_list_free (void *module_desc_list,
+ axis2_env_t **env);
+
/************************* Start of function macros ***************************/
#define AXIS2_MODULE_DESC_FREE(module_desc, env) \
Modified: webservices/axis2/trunk/c/include/axis2_param_container.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_param_container.h?rev=375212&r1=375211&r2=375212&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_param_container.h (original)
+++ webservices/axis2/trunk/c/include/axis2_param_container.h Sun Feb 5 23:25:02 2006
@@ -117,8 +117,18 @@
* Creates param container struct
* @return pointer to newly created param container
*/
-AXIS2_DECLARE(axis2_param_container_t *) axis2_param_container_create (axis2_env_t **env);
+AXIS2_DECLARE(axis2_param_container_t *)
+axis2_param_container_create (axis2_env_t **env);
+/**
+ * Free param_container passed as void pointer. This will be
+ * cast into appropriate type and then pass the cast object
+ * into the param_container structure's free method
+ */
+AXIS2_DECLARE(axis2_status_t)
+axis2_param_container_free_void_arg (void *param_container,
+ axis2_env_t **env);
+
/*************************** Function macros **********************************/
#define AXIS2_PARAM_CONTAINER_FREE(param_container, env) \
Modified: webservices/axis2/trunk/c/include/axis2_wsdl_component.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_wsdl_component.h?rev=375212&r1=375211&r2=375212&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_wsdl_component.h (original)
+++ webservices/axis2/trunk/c/include/axis2_wsdl_component.h Sun Feb 5 23:25:02 2006
@@ -15,9 +15,6 @@
#include <axis2_linked_list.h>
#include <axis2_array_list.h>
#include <axis2_wsdl_extensible_element.h>
-#include <axis2_param_container.h>
-#include <axis2_description.h>
-#include <axis2_module_desc.h>
#ifdef __cplusplus
@@ -59,6 +56,7 @@
axis2_env_t **env,
axis2_hash_t *properties);
+
/**
* Returns the properties that are specific to this WSDL Component
* @return axis2_hash_t component properties
@@ -78,6 +76,20 @@
axis2_env_t **env,
axis2_char_t *key,
void *value);
+
+ /**
+ * Will set the free function pointer keyed with the relavent key
+ * @param void Key in the map. This should be the same key used to set
+ * the corresponding property.
+ * @param void Function pointer to be put
+ * @return status code
+ */
+ axis2_status_t (AXIS2_CALL *
+ set_component_property_free_func) (axis2_wsdl_component_t *wsdl_component,
+ axis2_env_t **env,
+ axis2_char_t *key,
+ void *value);
+
/**
* Gets the component property
@@ -137,7 +149,7 @@
properties) \
((wsdl_component)->ops->set_component_properties(wsdl_component , env, \
properties))
-
+
#define AXIS2_WSDL_COMPONENT_GET_COMPONENT_PROPERTIES(wsdl_component, env) \
((wsdl_component)->ops->get_component_properties(wsdl_component, env))
@@ -145,6 +157,11 @@
key, value) \
((wsdl_component)->ops->set_component_property(wsdl_component, env,\
key, value))
+
+#define AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY_FREE_FUNC(wsdl_component, \
+ env, key, value) \
+ ((wsdl_component)->ops->set_component_property_free_func(\
+ wsdl_component, env, key, value))
#define AXIS2_WSDL_COMPONENT_GET_COMPONENT_PROPERTY(wsdl_component, env, key) \
((wsdl_component)->ops->get_component_property(wsdl_component, env, key))
Modified: webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c?rev=375212&r1=375211&r2=375212&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c Sun Feb 5 23:25:02 2006
@@ -685,7 +685,7 @@
AXIS2_PARAM_SET_VALUE(impl_info_param, env, dll_desc);
impl_info_param->ops->value_free =
- axis2_dll_desc_as_param_value_free;
+ axis2_dll_desc_free_void_arg;
transport_sender = (axis2_transport_sender_t *)
axis2_class_loader_create_dll(env, impl_info_param);
AXIS2_TRANSPORT_OUT_DESC_SET_SENDER(transport_out, env,
@@ -841,7 +841,7 @@
AXIS2_PARAM_SET_VALUE(impl_info_param, env, dll_desc);
impl_info_param->ops->value_free =
- axis2_dll_desc_as_param_value_free;
+ axis2_dll_desc_free_void_arg;
recv = (axis2_transport_receiver_t *)
axis2_class_loader_create_dll(env, impl_info_param);
stat = AXIS2_TRANSPORT_IN_DESC_SET_RECV(transport_in, env,
Modified: webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c?rev=375212&r1=375211&r2=375212&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c Sun Feb 5 23:25:02 2006
@@ -370,7 +370,7 @@
AXIS2_DLL_DESC_SET_TYPE(dll_desc, env, AXIS2_SVC_DLL);
status = AXIS2_PARAM_SET_VALUE(impl_info_param, env, dll_desc);
- impl_info_param->ops->value_free = axis2_dll_desc_as_param_value_free;
+ impl_info_param->ops->value_free = axis2_dll_desc_free_void_arg;
if(AXIS2_SUCCESS != status)
{
return AXIS2_FAILURE;
Modified: webservices/axis2/trunk/c/modules/core/description/dll_desc.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/dll_desc.c?rev=375212&r1=375211&r2=375212&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/dll_desc.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/dll_desc.c Sun Feb 5 23:25:02 2006
@@ -203,14 +203,14 @@
}
axis2_status_t AXIS2_CALL
-axis2_dll_desc_as_param_value_free (void *as_param_value,
+axis2_dll_desc_free_void_arg (void *dll_desc,
axis2_env_t **env)
{
- axis2_dll_desc_t *dll_desc = NULL;
+ axis2_dll_desc_t *dll_desc_l = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- dll_desc = (axis2_dll_desc_t *) as_param_value;
- return axis2_dll_desc_free(dll_desc, env);
+ dll_desc_l = (axis2_dll_desc_t *) dll_desc;
+ return axis2_dll_desc_free(dll_desc_l, env);
}
axis2_status_t AXIS2_CALL
Modified: webservices/axis2/trunk/c/modules/core/description/flow.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/flow.c?rev=375212&r1=375211&r2=375212&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/flow.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/flow.c Sun Feb 5 23:25:02 2006
@@ -129,6 +129,17 @@
}
axis2_status_t AXIS2_CALL
+axis2_flow_free_void_arg (void *flow,
+ axis2_env_t **env)
+{
+ axis2_flow_t *flow_l = NULL;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ flow_l = (axis2_flow_t *) flow;
+ return axis2_flow_free(flow_l, env);
+}
+
+axis2_status_t AXIS2_CALL
axis2_flow_add_handler (axis2_flow_t *flow,
axis2_env_t **env,
axis2_handler_desc_t *handler)
Modified: webservices/axis2/trunk/c/modules/core/description/module_desc.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/module_desc.c?rev=375212&r1=375211&r2=375212&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/module_desc.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/module_desc.c Sun Feb 5 23:25:02 2006
@@ -319,6 +319,39 @@
return AXIS2_SUCCESS;
}
+axis2_status_t AXIS2_CALL
+axis2_module_desc_free_void_arg (void *module_desc,
+ axis2_env_t **env)
+{
+ axis2_module_desc_t *module_desc_l = NULL;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ module_desc_l = (axis2_module_desc_t *) module_desc;
+ return axis2_module_desc_free(module_desc_l, env);
+}
+
+axis2_status_t AXIS2_CALL
+axis2_module_desc_array_list_free (void *module_desc_list,
+ axis2_env_t **env)
+{
+ axis2_module_desc_t *module_desc = NULL;
+ axis2_array_list_t *module_desc_list_l = NULL;
+ int i = 0;
+ int size = 0;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+
+ module_desc_list_l = (axis2_array_list_t *) module_desc_list;
+ size = AXIS2_ARRAY_LIST_SIZE(module_desc_list_l, env);
+ for(i = 0; i < size; i++)
+ {
+ module_desc = (axis2_module_desc_t *)
+ AXIS2_ARRAY_LIST_GET(module_desc_list_l, env, i);
+ axis2_module_desc_free(module_desc, env);
+ }
+ return AXIS2_SUCCESS;
+}
+
axis2_flow_t *AXIS2_CALL
axis2_module_desc_get_inflow(axis2_module_desc_t *module_desc,
axis2_env_t **env)
Modified: webservices/axis2/trunk/c/modules/core/description/op.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/op.c?rev=375212&r1=375211&r2=375212&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/op.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/op.c Sun Feb 5 23:25:02 2006
@@ -335,6 +335,7 @@
struct axis2_param_container *param_container_l = NULL;
axis2_array_list_t *array_list_l = NULL;
axis2_op_impl_t *op_impl = NULL;
+ axis2_status_t status = AXIS2_FAILURE;
AXIS2_ENV_CHECK(env, NULL);
@@ -420,15 +421,37 @@
{
return NULL;
}
- AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY(op_impl->op.wsdl_op->
+ status = AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY(op_impl->op.wsdl_op->
extensible_component->wsdl_component, env, AXIS2_PARAMETER_KEY,
param_container_l);
+ if(AXIS2_SUCCESS == status)
+ {
+ status = AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY_FREE_FUNC(op_impl->
+ op.wsdl_op->extensible_component->wsdl_component, env,
+ AXIS2_PARAMETER_KEY, axis2_param_container_free_void_arg);
+ if(AXIS2_FAILURE == status)
+ {
+ axis2_op_free(&(op_impl->op), env);
+ return NULL;
+ }
+ }
- array_list_l = axis2_array_list_create(env, 20);
+ array_list_l = axis2_array_list_create(env, 0);
if(NULL == array_list_l) return NULL;
- AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY(op_impl->op.wsdl_op->
+ status = AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY(op_impl->op.wsdl_op->
extensible_component->wsdl_component, env, AXIS2_MODULEREF_KEY, array_list_l);
-
+ if(AXIS2_SUCCESS == status)
+ {
+ status = AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY_FREE_FUNC(
+ op_impl->op.wsdl_op->extensible_component->wsdl_component, env,
+ AXIS2_MODULEREF_KEY, axis2_module_desc_array_list_free);
+ if(AXIS2_FAILURE == status)
+ {
+ axis2_op_free(&(op_impl->op), env);
+ return NULL;
+ }
+ }
+
op_impl->op.ops = AXIS2_MALLOC((*env)->allocator, sizeof(axis2_op_ops_t));
if(NULL == op_impl->op.ops)
{
Modified: webservices/axis2/trunk/c/modules/core/description/param_container.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/param_container.c?rev=375212&r1=375211&r2=375212&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/param_container.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/param_container.c Sun Feb 5 23:25:02 2006
@@ -144,6 +144,17 @@
return status;
}
+axis2_status_t AXIS2_CALL
+axis2_param_container_free_void_arg (void *param_container,
+ axis2_env_t **env)
+{
+ axis2_param_container_t *param_container_l = NULL;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ param_container_l = (axis2_param_container_t *) param_container;
+ return axis2_param_container_free(param_container_l, env);
+}
+
axis2_status_t AXIS2_CALL
axis2_param_container_add_param (axis2_param_container_t *param_container,
axis2_env_t **env,
Modified: webservices/axis2/trunk/c/modules/core/description/svc.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/svc.c?rev=375212&r1=375211&r2=375212&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/svc.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/svc.c Sun Feb 5 23:25:02 2006
@@ -371,8 +371,16 @@
axis2_svc_free(&(svc_impl->svc), env);
return NULL;
}
+ status = AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY_FREE_FUNC(svc_impl->
+ svc.wsdl_svc->wsdl_component, env, AXIS2_PARAMETER_KEY,
+ axis2_param_container_free_void_arg);
+ if(AXIS2_FAILURE == status)
+ {
+ axis2_svc_free(&(svc_impl->svc), env);
+ return NULL;
+ }
- array_list_l = axis2_array_list_create(env, 20);
+ array_list_l = axis2_array_list_create(env, 0);
if(NULL == array_list_l)
{
axis2_svc_free(&(svc_impl->svc), env);
@@ -388,6 +396,14 @@
return NULL;
}
+ status = AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY_FREE_FUNC(svc_impl->svc.wsdl_svc->
+ wsdl_component, env, AXIS2_MODULEREF_KEY, axis2_module_desc_array_list_free);
+ if(AXIS2_FAILURE == status)
+ {
+ axis2_svc_free(&(svc_impl->svc), env);
+ return NULL;
+ }
+
svc_impl->svc.ops->free = axis2_svc_free;
svc_impl->svc.ops->add_op = axis2_svc_add_op;
svc_impl->svc.ops->get_op_with_qname = axis2_svc_get_op_with_qname;
@@ -1133,11 +1149,20 @@
axis2_env_t **env,
axis2_flow_t *inflow)
{
+ axis2_status_t status = AXIS2_FAILURE;
+
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, inflow, AXIS2_FAILURE);
- return AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY(svc->wsdl_svc->
+ status = AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY(svc->wsdl_svc->
wsdl_component, env, AXIS2_INFLOW_KEY, inflow);
+ if(AXIS2_SUCCESS == status)
+ {
+ status = AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY_FREE_FUNC(svc->
+ wsdl_svc->wsdl_component, env, AXIS2_OUTFLOW_KEY,
+ axis2_flow_free_void_arg);
+ }
+ return status;
}
axis2_flow_t * AXIS2_CALL
@@ -1154,11 +1179,20 @@
axis2_env_t **env,
axis2_flow_t *outflow)
{
+ axis2_status_t status = AXIS2_FAILURE;
+
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, outflow, AXIS2_FAILURE);
- return AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY(svc->wsdl_svc->
+ status = AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY(svc->wsdl_svc->
wsdl_component, env, AXIS2_OUTFLOW_KEY, outflow);
+ if(AXIS2_SUCCESS == status)
+ {
+ status = AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY_FREE_FUNC(svc->
+ wsdl_svc->wsdl_component, env, AXIS2_OUTFLOW_KEY,
+ axis2_flow_free_void_arg);
+ }
+ return status;
}
axis2_flow_t *AXIS2_CALL
@@ -1176,10 +1210,19 @@
axis2_env_t **env,
axis2_flow_t *fault_flow)
{
+ axis2_status_t status = AXIS2_FAILURE;
+
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, fault_flow, AXIS2_FAILURE);
- return AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY(svc->wsdl_svc->
+ status = AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY(svc->wsdl_svc->
wsdl_component, env, AXIS2_IN_FAULTFLOW_KEY, fault_flow);
+ if(AXIS2_SUCCESS == status)
+ {
+ status = AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY_FREE_FUNC(svc->
+ wsdl_svc->wsdl_component, env, AXIS2_OUTFLOW_KEY,
+ axis2_flow_free_void_arg);
+ }
+ return status;
}
axis2_flow_t * AXIS2_CALL
@@ -1197,11 +1240,20 @@
axis2_env_t **env,
axis2_flow_t *fault_flow)
{
+ axis2_status_t status = AXIS2_FAILURE;
+
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, fault_flow, AXIS2_FAILURE);
- return AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY(svc->wsdl_svc->
+ status = AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY(svc->wsdl_svc->
wsdl_component, env, AXIS2_OUT_FAULTFLOW_KEY, fault_flow);
+ if(AXIS2_SUCCESS == status)
+ {
+ status = AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY_FREE_FUNC(svc->
+ wsdl_svc->wsdl_component, env, AXIS2_OUTFLOW_KEY,
+ axis2_flow_free_void_arg);
+ }
+ return status;
}
axis2_op_t * AXIS2_CALL
Modified: webservices/axis2/trunk/c/modules/platforms/unix/axis2_unix.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/platforms/unix/axis2_unix.h?rev=375212&r1=375211&r2=375212&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/platforms/unix/axis2_unix.h (original)
+++ webservices/axis2/trunk/c/modules/platforms/unix/axis2_unix.h Sun Feb 5 23:25:02 2006
@@ -52,7 +52,7 @@
/**
* Resource that contains the configuration
*/
-#define AXIS2_CONFIGURATION_RESOURCE "/home/damitha/programs/axis2c/axis2.xml"
+#define AXIS2_CONFIGURATION_RESOURCE "/usr/local/axis2/axis2.xml"
/*****************************************************************
* Library loading and procedure resolution
Modified: webservices/axis2/trunk/c/modules/util/Makefile.am
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/util/Makefile.am?rev=375212&r1=375211&r2=375212&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/util/Makefile.am (original)
+++ webservices/axis2/trunk/c/modules/util/Makefile.am Sun Feb 5 23:25:02 2006
@@ -4,7 +4,6 @@
axis2_array_list.h \
axis2_log_default.h \
axis2_error_default.h \
-# axis2_stream_default.h \
axis2_file_diff.h \
axis2_utils.h \
axis2_linked_list.h
Modified: webservices/axis2/trunk/c/modules/util/class_loader.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/util/class_loader.c?rev=375212&r1=375211&r2=375212&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/util/class_loader.c (original)
+++ webservices/axis2/trunk/c/modules/util/class_loader.c Sun Feb 5 23:25:02 2006
@@ -15,7 +15,6 @@
*/
#include <axis2_class_loader.h>
-#include <axis2_msg_recv.h>
axis2_status_t
axis2_class_loader_load_lib (axis2_env_t **env,
Modified: webservices/axis2/trunk/c/modules/wsdl/wsdl_component.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/wsdl_component.c?rev=375212&r1=375211&r2=375212&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/wsdl_component.c (original)
+++ webservices/axis2/trunk/c/modules/wsdl/wsdl_component.c Sun Feb 5 23:25:02 2006
@@ -1,5 +1,4 @@
#include <axis2_wsdl_component.h>
-#include <string.h>
/**
* @brief Wsdl Component struct impl
@@ -9,6 +8,7 @@
{
axis2_wsdl_component_t wsdl_component;
axis2_hash_t *component_properties;
+ axis2_hash_t *component_properties_free_func_ptrs;
/**
* Field Namespace Qualified elements that can be sticked in the component.
*/
@@ -48,7 +48,14 @@
axis2_env_t **env,
axis2_char_t *key,
void *value);
-
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_component_set_component_property_free_func(
+ axis2_wsdl_component_t *wsdl_component,
+ axis2_env_t **env,
+ axis2_char_t *key,
+ void *value);
+
void * AXIS2_CALL
axis2_wsdl_component_get_component_property(
axis2_wsdl_component_t *wsdl_component,
@@ -85,6 +92,7 @@
}
wsdl_component_impl->component_properties = NULL;
+ wsdl_component_impl->component_properties_free_func_ptrs = NULL;
wsdl_component_impl->elements = NULL;
wsdl_component_impl->attributes = NULL;
@@ -96,6 +104,15 @@
return NULL;
}
+ wsdl_component_impl->component_properties_free_func_ptrs =
+ axis2_hash_make (env);
+ if(NULL == wsdl_component_impl->component_properties_free_func_ptrs)
+ {
+ axis2_wsdl_component_free(&(wsdl_component_impl->wsdl_component), env);
+ AXIS2_ERROR_SET ((*env)->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+ return NULL;
+ }
+
wsdl_component_impl->wsdl_component.ops = (axis2_wsdl_component_ops_t *)
AXIS2_MALLOC ((*env)->allocator, sizeof(axis2_wsdl_component_ops_t));
@@ -113,6 +130,8 @@
axis2_wsdl_component_get_component_properties;
wsdl_component_impl->wsdl_component.ops->set_component_property =
axis2_wsdl_component_set_component_property;
+ wsdl_component_impl->wsdl_component.ops->set_component_property_free_func =
+ axis2_wsdl_component_set_component_property_free_func;
wsdl_component_impl->wsdl_component.ops->get_component_property =
axis2_wsdl_component_get_component_property;
wsdl_component_impl->wsdl_component.ops->add_extensibility_element =
@@ -146,50 +165,25 @@
axis2_hash_index_t *hi = NULL;
void *val = NULL;
const void *key = NULL;
- for (hi = axis2_hash_first (component_impl->component_properties, env); hi;
- hi = axis2_hash_next ( env, hi))
- {
- axis2_param_container_t *param_container = NULL;
- axis2_array_list_t *module_desc_list = NULL;
-
- axis2_hash_this (hi, &key, NULL, &val);
+ for (hi = axis2_hash_first (component_impl->component_properties, env);
+ hi; hi = axis2_hash_next ( env, hi))
+ {
+ AXIS2_FREE_VOID_ARG free_func_ptr = NULL;
- if(0 == AXIS2_STRCMP(AXIS2_PARAMETER_KEY, (axis2_char_t *)key))
- {
- param_container = (axis2_param_container_t *) val;
- AXIS2_PARAM_CONTAINER_FREE(param_container, env);
- param_container = NULL;
- }
-
- if(0 == AXIS2_STRCMP(AXIS2_MODULEREF_KEY, (axis2_char_t *)key))
+ axis2_hash_this (hi, &key, NULL, &val);
+ free_func_ptr = axis2_hash_get(component_impl->
+ component_properties_free_func_ptrs, key, AXIS2_HASH_KEY_STRING);
+ if(!free_func_ptr)
{
- int i = 0;
- int size = 0;
- module_desc_list = (axis2_array_list_t *) val;
- if(module_desc_list)
- {
- size = AXIS2_ARRAY_LIST_SIZE(module_desc_list, env);
- for (i = 0; i < size; i++)
- {
- axis2_module_desc_t *module_desc = NULL;
-
- module_desc = AXIS2_ARRAY_LIST_GET(module_desc_list,
- env, i);
- if (module_desc)
- {
- AXIS2_MODULE_DESC_FREE (module_desc, env);
- module_desc = NULL;
- }
-
- }
- AXIS2_ARRAY_LIST_FREE(module_desc_list, env);
- module_desc_list = NULL;
- }
+ /* If free_func_ptr is NULL we assume that property is type
+ * axis2_char_t *
+ */
+ AXIS2_FREE((*env)->allocator, val);
}
+ free_func_ptr(val, env);
val = NULL;
key = NULL;
-
}
axis2_hash_free(component_impl->component_properties, env);
component_impl->component_properties = NULL;
@@ -229,49 +223,25 @@
axis2_hash_index_t *hi = NULL;
void *val = NULL;
const void *key = NULL;
- for (hi = axis2_hash_first (component_impl->component_properties, env); hi;
- hi = axis2_hash_next ( env, hi))
- {
- axis2_param_container_t *param_container = NULL;
- axis2_array_list_t *module_desc_list = NULL;
-
- axis2_hash_this (hi, &key, NULL, &val);
+ for (hi = axis2_hash_first (component_impl->component_properties, env);
+ hi; hi = axis2_hash_next ( env, hi))
+ {
+ AXIS2_FREE_VOID_ARG free_func_ptr = NULL;
- if(0 == AXIS2_STRCMP(AXIS2_PARAMETER_KEY, (axis2_char_t *)key))
+ axis2_hash_this (hi, &key, NULL, &val);
+ free_func_ptr = axis2_hash_get(component_impl->
+ component_properties_free_func_ptrs, key, AXIS2_HASH_KEY_STRING);
+ if(!free_func_ptr)
{
- param_container = (axis2_param_container_t *) val;
- AXIS2_PARAM_CONTAINER_FREE(param_container, env);
- param_container = NULL;
- val = NULL;
- key = NULL;
+ /* If free_func_ptr is NULL we assume that property is type
+ * axis2_char_t *
+ */
+ AXIS2_FREE((*env)->allocator, val);
}
+ free_func_ptr(val, env);
- if(0 == AXIS2_STRCMP(AXIS2_MODULEREF_KEY, (axis2_char_t *)key))
- {
- int i = 0;
- int size = 0;
- module_desc_list = (axis2_array_list_t *) val;
- if(module_desc_list)
- {
- size = AXIS2_ARRAY_LIST_SIZE(module_desc_list, env);
- for (i = 0; i < size; i++)
- {
- axis2_module_desc_t *module_desc = NULL;
- module_desc = AXIS2_ARRAY_LIST_GET(module_desc_list,
- env, i);
- if (module_desc)
- {
- AXIS2_MODULE_DESC_FREE (module_desc, env);
- module_desc = NULL;
- }
- }
- AXIS2_ARRAY_LIST_FREE(module_desc_list, env);
- }
- module_desc_list = NULL;
- }
val = NULL;
key = NULL;
-
}
axis2_hash_free(component_impl->component_properties, env);
component_impl->component_properties = NULL;
@@ -304,6 +274,26 @@
component_impl = AXIS2_INTF_TO_IMPL(wsdl_component);
axis2_hash_set (component_impl->component_properties, key,
+ AXIS2_HASH_KEY_STRING, value);
+
+ return AXIS2_SUCCESS;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_component_set_component_property_free_func(
+ axis2_wsdl_component_t *wsdl_component,
+ axis2_env_t **env,
+ axis2_char_t *key,
+ void *value)
+{
+ axis2_wsdl_component_impl_t *component_impl = NULL;
+
+ AXIS2_FUNC_PARAM_CHECK(wsdl_component, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, key, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, value, AXIS2_FAILURE);
+ component_impl = AXIS2_INTF_TO_IMPL(wsdl_component);
+
+ axis2_hash_set (component_impl->component_properties_free_func_ptrs, key,
AXIS2_HASH_KEY_STRING, value);
return AXIS2_SUCCESS;
Modified: webservices/axis2/trunk/c/test/core/description/test_description.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/core/description/test_description.c?rev=375212&r1=375211&r2=375212&view=diff
==============================================================================
--- webservices/axis2/trunk/c/test/core/description/test_description.c (original)
+++ webservices/axis2/trunk/c/test/core/description/test_description.c Sun Feb 5 23:25:02 2006
@@ -27,12 +27,13 @@
if(status != AXIS2_SUCCESS )
{
+ AXIS2_OP_FREE(op, &env);
+ AXIS2_MODULE_DESC_FREE(moduleref, &env);
printf("ERROR %d\n", status);
/*return -1;*/
}
AXIS2_OP_FREE(op, &env);
- AXIS2_MODULE_DESC_FREE(moduleref, &env);
axis2_env_free(env);
return 0;
}
Modified: webservices/axis2/trunk/c/test/unit/wsdl/test_wsdl_component.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/unit/wsdl/test_wsdl_component.c?rev=375212&r1=375211&r2=375212&view=diff
==============================================================================
--- webservices/axis2/trunk/c/test/unit/wsdl/test_wsdl_component.c (original)
+++ webservices/axis2/trunk/c/test/unit/wsdl/test_wsdl_component.c Sun Feb 5 23:25:02 2006
@@ -29,7 +29,7 @@
}
axis2_hash_t *
-get_module_list_map(axis2_env_t **env)
+get_module_list_map(axis2_wsdl_component_t *wsdl_comp, axis2_env_t **env)
{
axis2_hash_t *module_list_map = NULL;
axis2_array_list_t *module_list = NULL;
@@ -42,16 +42,22 @@
module_list = get_module_list(env);
axis2_hash_set(module_list_map, AXIS2_MODULEREF_KEY,
AXIS2_HASH_KEY_STRING, module_list);
+ AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY_FREE_FUNC(wsdl_comp,
+ env, AXIS2_MODULEREF_KEY, axis2_module_desc_array_list_free);
module_list = NULL;
module_list = get_module_list(env);
axis2_hash_set(module_list_map, AXIS2_MODULEREF_KEY,
AXIS2_HASH_KEY_STRING, module_list);
+ AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY_FREE_FUNC(wsdl_comp,
+ env, AXIS2_MODULEREF_KEY, axis2_module_desc_array_list_free);
module_list = NULL;
module_list = get_module_list(env);
axis2_hash_set(module_list_map, AXIS2_MODULEREF_KEY,
AXIS2_HASH_KEY_STRING, module_list);
+ AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY_FREE_FUNC(wsdl_comp,
+ env, AXIS2_MODULEREF_KEY, axis2_module_desc_array_list_free);
module_list = NULL;
return module_list_map;
@@ -73,12 +79,12 @@
wsdl_comp = axis2_wsdl_component_create(&env);
CuAssertPtrNotNull(tc, wsdl_comp);
- module_list_map = get_module_list_map(&env);
+ module_list_map = get_module_list_map(wsdl_comp, &env);
CuAssertPtrNotNull(tc, module_list_map);
actual = AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTIES(wsdl_comp, &env, module_list_map);
/* again create a module_list_map and assign to see whether it works correctly */
module_list_map = NULL;
- module_list_map = get_module_list_map(&env);
+ module_list_map = get_module_list_map(wsdl_comp, &env);
CuAssertPtrNotNull(tc, module_list_map);
actual = AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTIES(wsdl_comp, &env, module_list_map);
/*AXIS2_WSDL_COMPONENT_FREE(wsdl_comp, &env);*/