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/11/09 12:13:16 UTC
svn commit: r332018 - in /webservices/axis2/trunk/c/modules:
core/description/src/svc.c wsdl/src/wsdl_svc.c
Author: damitha
Date: Wed Nov 9 03:13:03 2005
New Revision: 332018
URL: http://svn.apache.org/viewcvs?rev=332018&view=rev
Log:
More work on wsdl_svc
Modified:
webservices/axis2/trunk/c/modules/core/description/src/svc.c
webservices/axis2/trunk/c/modules/wsdl/src/wsdl_svc.c
Modified: webservices/axis2/trunk/c/modules/core/description/src/svc.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/src/svc.c?rev=332018&r1=332017&r2=332018&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/src/svc.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/src/svc.c Wed Nov 9 03:13:03 2005
@@ -107,6 +107,7 @@
axis2_param_container_create(env);
if(NULL == param_container)
{
+ AXIS2_FREE((*env)->allocator, svc_impl->svc.ops);
AXIS2_FREE((*env)->allocator, svc_impl);
AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
}
@@ -117,6 +118,8 @@
axis2_param_container_create(env);
if(NULL == wsdl_svc)
{
+ AXIS2_FREE((*env)->allocator, svc_impl->svc.ops);
+ AXIS2_PARAM_CONTAINER_FREE(svc_impl->param_container, env);
AXIS2_FREE((*env)->allocator, svc_impl);
AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
}
@@ -128,8 +131,10 @@
svc_impl->wasaction_opeartionmap = axis2_hash_make (env);
if(NULL == svc_impl->wasaction_opeartionmap)
{
+ AXIS2_FREE((*env)->allocator, svc_impl->svc.ops);
+ AXIS2_PARAM_CONTAINER_FREE(svc_impl->param_container, env);
+ AXIS2_WSDL_SVC_FREE(svc_impl->wsdl_svc, env);
AXIS2_FREE((*env)->allocator, svc_impl);
- AXIS2_FREE((*env)->allocator, svc_impl->param_container);
AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
}
svc_impl->qname = NULL;
Modified: webservices/axis2/trunk/c/modules/wsdl/src/wsdl_svc.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/src/wsdl_svc.c?rev=332018&r1=332017&r2=332018&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/src/wsdl_svc.c (original)
+++ webservices/axis2/trunk/c/modules/wsdl/src/wsdl_svc.c Wed Nov 9 03:13:03 2005
@@ -25,6 +25,7 @@
struct axis2_wsdl_svc_impl_s
{
axis2_wsdl_svc_t wsdl_svc;
+ axis2_hash_t * component_properties;
axis2_qname_t *qname;
};
@@ -59,13 +60,20 @@
{
AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
}
-
+
+ wsdl_svc_impl->component_properties = axis2_hash_make(env);
+ if(NULL == wsdl_svc_impl->component_properties)
+ {
+ AXIS2_FREE((*env)->allocator, wsdl_svc_impl);
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+ }
wsdl_svc_impl->wsdl_svc.ops =
(axis2_wsdl_svc_ops_t *) AXIS2_MALLOC ((*env)->allocator,
sizeof(axis2_wsdl_svc_ops_t));
if(NULL == wsdl_svc_impl->wsdl_svc.ops)
{
+ axis2_hash_free(wsdl_svc_impl->component_properties, env);
AXIS2_FREE((*env)->allocator, wsdl_svc_impl);
AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
}
@@ -84,6 +92,10 @@
axis2_env_t **env)
{
AXIS2_FUNC_PARAM_CHECK(wsdl_svc, env, AXIS2_FAILURE);
+
+ if(NULL != AXIS2_INTF_TO_IMPL(wsdl_svc)->component_properties)
+ axis2_hash_free(AXIS2_INTF_TO_IMPL(wsdl_svc)->component_properties, env);
+
if(NULL != wsdl_svc->ops)
AXIS2_FREE((*env)->allocator, wsdl_svc->ops);
@@ -108,6 +120,49 @@
AXIS2_FUNC_PARAM_CHECK(wsdl_svc, env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, qname, AXIS2_FAILURE);
AXIS2_INTF_TO_IMPL(wsdl_svc)->qname = qname;
+
+ return AXIS2_SUCCESS;
+}
+
+axis2_hash_t * AXIS2_CALL
+axis2_wsdl_svc_get_component_properties(axis2_wsdl_svc_t *wsdl_svc,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(wsdl_svc, env, NULL);
+ return AXIS2_INTF_TO_IMPL(wsdl_svc)->component_properties;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_svc_set_component_properties(axis2_wsdl_svc_t *wsdl_svc,
+ axis2_env_t **env,
+ axis2_hash_t *properties)
+{
+ AXIS2_FUNC_PARAM_CHECK(wsdl_svc, env, AXIS2_FAILURE);
+ AXIS2_INTF_TO_IMPL(wsdl_svc)->component_properties = properties;
+ return AXIS2_SUCCESS;
+}
+
+axis2_wsdl_component_t * AXIS2_CALL
+axis2_wsdl_svc_get_component_property(axis2_wsdl_svc_t *wsdl_svc,
+ axis2_env_t **env,
+ const axis2_char_t *key)
+{
+ AXIS2_FUNC_PARAM_CHECK(wsdl_svc, env, NULL);
+ AXIS2_PARAM_CHECK((*env)->error, key, NULL);
+ return axis2_hash_get(AXIS2_INTF_TO_IMPL(wsdl_svc)->component_properties,
+ (axis2_char_t *) key, AXIS2_HASH_KEY_STRING);
+}
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_svc_set_component_property (axis2_wsdl_svc_t *wsdl_svc,
+ axis2_env_t **env,
+ const void *key,
+ void *value)
+{
+ AXIS2_FUNC_PARAM_CHECK(wsdl_svc, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, key, AXIS2_FAILURE);
+ axis2_hash_set (AXIS2_INTF_TO_IMPL(wsdl_svc)->component_properties,
+ (axis2_char_t *) key, AXIS2_HASH_KEY_STRING, value);
return AXIS2_SUCCESS;
}