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 2005/10/26 04:16:44 UTC

svn commit: r328524 - in /webservices/axis2/trunk/c: include/ modules/core/description/src/ modules/core/engine/src/

Author: damitha
Date: Tue Oct 25 19:16:31 2005
New Revision: 328524

URL: http://svn.apache.org/viewcvs?rev=328524&view=rev
Log:
Code added

Modified:
    webservices/axis2/trunk/c/include/axis2_description_param_include.h
    webservices/axis2/trunk/c/include/axis2_description_service.h
    webservices/axis2/trunk/c/include/axis2_description_servicegroup.h
    webservices/axis2/trunk/c/modules/core/description/src/axis2_description_service.c
    webservices/axis2/trunk/c/modules/core/description/src/axis2_description_servicegroup.c
    webservices/axis2/trunk/c/modules/core/engine/src/axis2_engine_config.c

Modified: webservices/axis2/trunk/c/include/axis2_description_param_include.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_description_param_include.h?rev=328524&r1=328523&r2=328524&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_description_param_include.h (original)
+++ webservices/axis2/trunk/c/include/axis2_description_param_include.h Tue Oct 25 19:16:31 2005
@@ -71,8 +71,8 @@
 	param_include)->get_params (env, param_include))
 
 #define axis2_description_param_include_is_param_locked(env, \
-	param_include) (axis2_description_param_include_get_ops(env, \
-	param_include)->is_param_locked (env, param_include))
+	param_include, param_name) (axis2_description_param_include_get_ops(env, \
+	param_include)->is_param_locked (env, param_include, param_name))
 
 /*************************** End of function macros ***************************/
 
@@ -81,35 +81,32 @@
 /** Deallocate memory
   * @return status code
   */
-    typedef axis2_status_t (*axis2_description_param_include_free_t)
-        (axis2_environment_t * env,
-         axis2_description_param_include_t * param_include);
+typedef axis2_status_t (*axis2_description_param_include_free_t)
+		(axis2_environment_t * env,
+		 axis2_description_param_include_t * param_include);
 
 /** Add a parameter
   * @param parameters
   * @return status code
   */
-    typedef axis2_status_t (*axis2_description_param_include_add_param_t)
-        (axis2_environment_t * env,
-         axis2_description_param_include_t * param_include,
-         const axis2_description_param_t * param);
+typedef axis2_status_t (*axis2_description_param_include_add_param_t)
+		(axis2_environment_t * env,
+		 axis2_description_param_include_t * param_include,
+		 const axis2_description_param_t * param);
 
 /** To get a parameter in a given description 
   * @param parameter name
   * @return parameter
   */
-    typedef axis2_description_param_t
-        *(*axis2_description_param_include_get_param_t) (axis2_environment_t *
-                                                         env,
-                                                         axis2_description_param_include_t
-                                                         * param_include,
-                                                         const axis2_char_t *
-                                                         name);
+typedef axis2_description_param_t
+		*(*axis2_description_param_include_get_param_t) 
+		(axis2_environment_t *env, axis2_description_param_include_t *param_include,
+		const axis2_char_t *name);
 
 /** To get all the parameters in a given description
   * @return all the parameters contained
   */
-    typedef axis2_hash_t *(*axis2_description_param_include_get_params_t)
+typedef axis2_hash_t *(*axis2_description_param_include_get_params_t)
         (axis2_environment_t * env,
          axis2_description_param_include_t * param_include);
 
@@ -117,10 +114,10 @@
   * @param parameter name
   * @return whether parameter is locked
   */
-    typedef axis2_bool_t (*axis2_description_param_include_is_param_locked_t)
-        (axis2_environment_t * env,
-         axis2_description_param_include_t * param_include,
-         const axis2_char_t * param_name);
+typedef axis2_bool_t (*axis2_description_param_include_is_param_locked_t)
+		(axis2_environment_t *env,
+		axis2_description_param_include_t *param_include,
+		const axis2_char_t *param_name);
 
 /****************************** End of function pointers **********************/
 
@@ -128,34 +125,32 @@
   * Paramter can be any thing it can be XML element with number of child 
   * elements
   */
-    struct axis2_description_param_include_ops_s
-    {
-        axis2_description_param_include_free_t free;
+struct axis2_description_param_include_ops_s
+{
+	axis2_description_param_include_free_t free;
 
-        axis2_description_param_include_add_param_t add_param;
+	axis2_description_param_include_add_param_t add_param;
 
-        axis2_description_param_include_get_param_t get_param;
+	axis2_description_param_include_get_param_t get_param;
 
-        axis2_description_param_include_get_params_t get_params;
+	axis2_description_param_include_get_params_t get_params;
 
-        axis2_description_param_include_is_param_locked_t is_param_locked;
+	axis2_description_param_include_is_param_locked_t is_param_locked;
 
-    };
+};
 
 /** This will return the operations struct of the 
   * axis2_description_param_include_t struct
   * @return operations for axis2_description_param_include_t
   */
-    axis2_description_param_include_ops_t
-        *axis2_description_param_include_get_ops (axis2_environment_t * env,
-                                                  axis2_description_param_include_t
-                                                  * param_include);
+axis2_description_param_include_ops_t*axis2_description_param_include_get_ops 
+		(axis2_environment_t *env, axis2_description_param_include_t *param_include);
 
 /**
   *	Create axis2_description_param_include_t
   * @return axis2_description_param_include_t
   */
-    axis2_description_param_include_t *axis2_description_param_include_create
+axis2_description_param_include_t *axis2_description_param_include_create
         (axis2_environment_t * env);
 
 /** @} */

Modified: webservices/axis2/trunk/c/include/axis2_description_service.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_description_service.h?rev=328524&r1=328523&r2=328524&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_description_service.h (original)
+++ webservices/axis2/trunk/c/include/axis2_description_service.h Tue Oct 25 19:16:31 2005
@@ -52,18 +52,6 @@
 		(axis2_description_service_get_ops(env, service_desc)->free \
 		(env, service_desc));
 
-#define axis2_description_service_add_param(env, service_desc, param) \
-		(axis2_description_service_get_ops(env, service_desc)->add_param \
-		(env, service_desc, param));
-
-#define axis2_description_service_get_param(env, service_desc) \
-		(axis2_description_service_get_ops(env, service_desc)->get_param \
-		(env, service_desc));
-
-#define axis2_description_service_get_params(env, service_desc) \
-		(axis2_description_service_get_ops(env, service_desc)->get_params \
-		(env, service_desc));
-
 #define axis2_description_service_add_operation(env, service_desc, operation_desc) \
 		(axis2_description_service_get_ops(env, service_desc)->add_operation \
 		(env, service_desc, operation_desc));
@@ -91,25 +79,33 @@
 #define axis2_description_service_get_name(env, service_desc) \
 		(axis2_description_service_get_ops(env, service_desc)->get_name(env \
 		,service_desc));
+		
+#define axis2_description_service_add_param(env, service_desc, param) \
+		(axis2_description_service_get_ops(env, service_desc)->add_param(env \
+		, service_desc, param));
+		
 
-/**************************** End of function macros **************************/
-/**************************** Function pointers *******************************/
+#define axis2_description_service_get_param(env, service_desc, name) \
+		(axis2_description_service_get_ops(env, service_desc)->get_param(env \
+		, service_desc, name));
+		
 
+#define axis2_description_service_get_params(env, service_desc) \
+		(axis2_description_service_get_ops(env, service_desc)->get_params(env \
+		, service_desc));
+		
+		
 
-typedef axis2_status_t (*axis2_description_service_free_t)
-		(axis2_environment_t * env,
-	 	axis2_description_service_t * service_desc);
+#define axis2_description_service_is_param_locked(env, service_desc, \
+		param_name) (axis2_description_service_get_ops(env \
+		, service_desc)->is_parameter_locked(env, service_desc, param_name));
+				
 
-typedef axis2_status_t (*axis2_description_service_add_param_t)
-		(axis2_environment_t * env,
-	 	axis2_description_service_t * service_desc,
-	 	axis2_description_param_t * param);
+/**************************** End of function macros **************************/
+/**************************** Function pointers *******************************/
 
-typedef axis2_description_param_t
-		*(*axis2_description_service_get_param_t) (axis2_environment_t * env,
-		axis2_description_service_t *service_desc,const axis2_char_t *name);
 
-typedef axis2_hash_t *(*axis2_description_service_get_params_t)
+typedef axis2_status_t (*axis2_description_service_free_t)
 		(axis2_environment_t * env,
 	 	axis2_description_service_t * service_desc);
 
@@ -146,6 +142,22 @@
 		 
 typedef axis2_qname_t *(*axis2_description_service_get_name_t)
 		(axis2_environment_t *env, axis2_description_service_t *service_desc);
+		
+typedef axis2_status_t (*axis2_description_service_add_param_t)
+		(axis2_environment_t *env
+		, axis2_description_service_t *service_desc
+		, axis2_description_param_t *param);
+
+typedef axis2_description_param_t *(*axis2_description_service_get_param_t)
+		(axis2_environment_t *env, axis2_description_service_t *service_desc
+		, const axis2_char_t *name);
+
+typedef axis2_hash_t *(*axis2_description_service_get_params_t)
+		(axis2_environment_t *env, axis2_description_service_t *service_desc);
+
+typedef axis2_bool_t (*axis2_description_service_is_param_locked_t)
+		(axis2_environment_t *env, axis2_description_service_t *service_desc
+		, const axis2_char_t *param_name);		
 
 /************************ End function pointers *******************************/
 
@@ -159,13 +171,7 @@
 
 	axis2_description_service_add_operation_t add_operation;
 
-	axis2_description_service_add_param_t add_param;
-
-	axis2_description_service_get_param_t get_param;
-
-	axis2_description_service_get_params_t get_params;
-
-	  axis2_description_service_get_operation_with_qname_t
+	axis2_description_service_get_operation_with_qname_t
 		get_operation_with_qname;
 
 	axis2_description_service_get_operation_with_name_t
@@ -179,6 +185,13 @@
 	
 	axis2_description_service_get_name_t get_name;
 
+	axis2_description_service_add_param_t add_param;
+
+	axis2_description_service_get_param_t get_param;
+
+	axis2_description_service_get_params_t get_params;
+	
+	axis2_description_service_is_param_locked_t is_param_locked;
 };
 
 /** To get the operation struct for axis_description_service_t call this

Modified: webservices/axis2/trunk/c/include/axis2_description_servicegroup.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_description_servicegroup.h?rev=328524&r1=328523&r2=328524&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_description_servicegroup.h (original)
+++ webservices/axis2/trunk/c/include/axis2_description_servicegroup.h Tue Oct 25 19:16:31 2005
@@ -63,9 +63,32 @@
 		servicegroup_desc)->add_service (env, servicegroup_desc, service_desc));
 
 #define axis2_description_servicegroup_get_service(env, servicegroup_desc \
-		, service_desc) ((axis2_description_servicegroup_get_ops(env, \
+		, service_desc) (axis2_description_servicegroup_get_ops(env, \
 		servicegroup_desc)->get_service(env, servicegroup_desc, service_desc));
+		
+#define axis2_description_servicegroup_remove_service(env, servicegroup_desc \
+		, service_name) (axis2_description_servicegroup_get_ops(env, \
+		servicegroup_desc)->remove_service(env, servicegroup_desc, service_name));		
+
+#define axis2_description_servicegroup_add_param(env, servicegroup_desc, param) \
+		(axis2_description_servicegroup_get_ops(env, \
+		servicegroup_desc)->add_param(env, servicegroup_desc, param));
+		
+		
 
+#define axis2_description_servicegroup_get_param(env, servicegroup_desc, name) \
+		(axis2_description_servicegroup_get_ops(env, \
+		servicegroup_desc)->get_param(env, servicegroup_desc, name));
+		
+#define axis2_description_servicegroup_get_params(env, servicegroup_desc) \
+		(axis2_description_servicegroup_get_ops(env, \
+		servicegroup_desc)->get_params(env, servicegroup_desc));
+		
+		
+#define axis2_description_servicegroup_is_param_locked(env, servicegroup_desc \
+		, param_name)(axis2_description_servicegroup_get_ops(env, \
+		servicegroup_desc)->is_param_locked(env, servicegroup_desc, param_name));
+		
 /**************************** End of function macros **************************/
 /**************************** Function pointers *******************************/
 
@@ -109,8 +132,31 @@
 		*(*axis2_description_servicegroup_get_service_t)
 		(axis2_environment_t *env
 		, axis2_description_servicegroup_t *servicegroup_desc
-		, const axis2_qname_t* service_name);		
+		, const axis2_qname_t* service_name);
 
+typedef axis2_status_t (*axis2_description_servicegroup_remove_service_t)
+		(axis2_environment_t *env
+		, axis2_description_servicegroup_t *servicegroup_desc
+		, const axis2_qname_t* service_name);
+		
+typedef axis2_status_t (*axis2_description_servicegroup_add_param_t)
+		(axis2_environment_t *env
+		, axis2_description_servicegroup_t *servicegroup_desc
+		, axis2_description_param_t *param);
+		
+
+typedef axis2_description_param_t *(*axis2_description_servicegroup_get_param_t)(
+		axis2_environment_t *env, axis2_description_servicegroup_t *servicegroup_desc
+		, const axis2_char_t *name);
+		
+typedef axis2_hash_t *(*axis2_description_servicegroup_get_params_t)
+		(axis2_environment_t *env
+		, axis2_description_servicegroup_t *servicegroup_desc);
+		
+typedef axis2_bool_t (*axis2_description_servicegroup_is_param_locked_t)
+		(axis2_environment_t *env, axis2_description_servicegroup_t *servicegroup_desc
+		, const axis2_char_t *param_name);
+		
 /*************************** End of function pointers *************************/
 
 struct axis2_description_servicegroup_ops_s
@@ -120,6 +166,11 @@
 	axis2_description_servicegroup_get_name_t get_name;
 	axis2_description_servicegroup_add_service_t add_service;
 	axis2_description_servicegroup_get_service_t get_service;
+	axis2_description_servicegroup_remove_service_t remove_service;
+	axis2_description_servicegroup_add_param_t add_param;
+	axis2_description_servicegroup_get_param_t get_param;
+	axis2_description_servicegroup_get_params_t get_params;
+	axis2_description_servicegroup_is_param_locked_t is_param_locked;
 };
 
 axis2_description_servicegroup_ops_t *axis2_description_servicegroup_get_ops 

Modified: webservices/axis2/trunk/c/modules/core/description/src/axis2_description_service.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/src/axis2_description_service.c?rev=328524&r1=328523&r2=328524&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/src/axis2_description_service.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/src/axis2_description_service.c Tue Oct 25 19:16:31 2005
@@ -20,17 +20,6 @@
 axis2_status_t axis2_description_service_ops_free (axis2_environment_t *env
 		, axis2_description_service_t *service_desc);
 
-axis2_status_t axis2_description_service_ops_add_param(axis2_environment_t *env
-		, axis2_description_service_t *operation_desc
-		, axis2_description_param_t *param);
-
-axis2_description_param_t *axis2_description_service_ops_get_param
-		(axis2_environment_t *env, axis2_description_service_t *service_desc
-		, const axis2_char_t *name);
-
-axis2_hash_t *axis2_description_service_ops_get_params
-		(axis2_environment_t *env, axis2_description_service_t *service_desc);
-
 axis2_status_t axis2_description_service_ops_add_operation
 		(axis2_environment_t *env, axis2_description_service_t *service_desc
 		, axis2_description_operation_t *operation_desc);
@@ -57,6 +46,21 @@
 		
 axis2_qname_t *axis2_description_service_ops_get_name
 		(axis2_environment_t *env, axis2_description_service_t *service_desc);	
+
+axis2_status_t axis2_description_service_ops_add_param(axis2_environment_t *env
+		, axis2_description_service_t *service_desc
+		, axis2_description_param_t *param);
+
+axis2_description_param_t *axis2_description_service_ops_get_param
+		(axis2_environment_t *env, axis2_description_service_t *service_desc
+		, const axis2_char_t *name);
+
+axis2_hash_t *axis2_description_service_ops_get_params
+		(axis2_environment_t *env, axis2_description_service_t *service_desc);
+
+axis2_bool_t axis2_description_service_ops_is_param_locked(
+		axis2_environment_t *env, axis2_description_service_t *service_desc
+		, const axis2_char_t *param_name);
 		
 /************************* End of function headers ***************************/
 
@@ -147,6 +151,8 @@
 axis2_status_t axis2_description_service_ops_free
 		(axis2_environment_t *env, axis2_description_service_t *service_desc)
 {
+	if(!env)
+		return AXIS2_ERROR_INVALID_NULL_PARAMETER;
 	if(service_desc)
 	{
 		axis2_free(env->allocator, service_desc);
@@ -155,55 +161,6 @@
 	return AXIS2_ERROR_UNALLOCATED_MEMEORY_RELEASE_REQUESTED;
 }
 
-axis2_status_t axis2_description_service_ops_add_param(axis2_environment_t *env
-		, axis2_description_service_t *service_desc
-		, axis2_description_param_t *param)
-{
-	if(!service_desc || !service_desc->param_include || !param)
-	{
-		return AXIS2_ERROR_INVALID_NULL_PARAMETER;
-	}
-	axis2_hash_set (axis2_description_param_include_get_params(env
-		, service_desc->param_include), axis2_description_param_get_name(env
-		, param)
-		, AXIS2_HASH_KEY_STRING, param);	
-	return AXIS2_SUCCESS;
-}
-
-axis2_description_param_t *axis2_description_service_ops_get_param(
-		axis2_environment_t *env, axis2_description_service_t *service_desc
-		, const axis2_char_t *name)
-{
-	if(!service_desc || !service_desc->param_include)
-	{
-		env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
-		return NULL;
-	}
-	axis2_char_t *tempname = axis2_strdup(env->string, name);
-	if(!tempname)
-	{
-		env->error->errorno = AXIS2_ERROR_NO_MEMORY;
-		return NULL;
-	}
-		
-	return (axis2_description_param_t *)(axis2_hash_get 
-		(axis2_description_param_include_get_params(env
-		, service_desc->param_include), tempname, AXIS2_HASH_KEY_STRING));
-	
-}
-
-axis2_hash_t *axis2_description_service_ops_get_params
-		(axis2_environment_t *env, axis2_description_service_t *service_desc)
-{
-	if(!service_desc)
-	{
-		env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
-		return NULL;		
-	}
-	return axis2_description_param_include_get_params(env
-		, service_desc->param_include);
-	
-}
 
 axis2_status_t axis2_description_service_ops_add_operation
 		(axis2_environment_t *env, axis2_description_service_t *service_desc
@@ -311,4 +268,75 @@
 		return NULL;	
 	}
 	return service_desc->name;
+}
+
+axis2_status_t axis2_description_service_ops_add_param(axis2_environment_t *env
+		, axis2_description_service_t *service_desc
+		, axis2_description_param_t *param)
+{
+	if(!env || !service_desc || !service_desc->param_include || !param)
+	{
+		return AXIS2_ERROR_INVALID_NULL_PARAMETER;
+	}
+	axis2_hash_set (axis2_description_param_include_get_params(env
+		, service_desc->param_include), axis2_description_param_get_name(env
+		, param)
+		, AXIS2_HASH_KEY_STRING, param);	
+	return AXIS2_SUCCESS;
+}
+
+axis2_description_param_t *axis2_description_service_ops_get_param(
+		axis2_environment_t *env, axis2_description_service_t *service_desc
+		, const axis2_char_t *name)
+{
+	if(!env || !service_desc || !service_desc->param_include)
+	{
+		env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
+		return NULL;
+	}
+	axis2_char_t *tempname = axis2_strdup(env->string, name);
+	if(!tempname)
+	{
+		env->error->errorno = AXIS2_ERROR_NO_MEMORY;
+		return NULL;
+	}
+		
+	return (axis2_description_param_t *)(axis2_hash_get 
+		(axis2_description_param_include_get_params(env
+		, service_desc->param_include), tempname, AXIS2_HASH_KEY_STRING));
+	
+}
+
+axis2_hash_t *axis2_description_service_ops_get_params
+		(axis2_environment_t *env, axis2_description_service_t *service_desc)
+{
+	if(!env || !service_desc)
+	{
+		env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
+		return NULL;		
+	}
+	return axis2_description_param_include_get_params(env
+		, service_desc->param_include);
+	
+}
+
+axis2_bool_t axis2_description_service_ops_is_param_locked(
+		axis2_environment_t *env, axis2_description_service_t *service_desc
+		, const axis2_char_t *param_name)
+{
+	if(!env || !service_desc || !service_desc->param_include)
+	{
+		env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
+		return AXIS2_FALSE;
+	}
+	axis2_char_t *tempname = axis2_strdup(env->string, param_name);
+	if(!tempname)
+	{
+		env->error->errorno = AXIS2_ERROR_NO_MEMORY;
+		return AXIS2_FALSE;
+	}
+		
+	return axis2_description_param_include_is_param_locked (env
+		, service_desc->param_include, param_name); 
+	
 }

Modified: webservices/axis2/trunk/c/modules/core/description/src/axis2_description_servicegroup.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/src/axis2_description_servicegroup.c?rev=328524&r1=328523&r2=328524&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/src/axis2_description_servicegroup.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/src/axis2_description_servicegroup.c Tue Oct 25 19:16:31 2005
@@ -52,6 +52,29 @@
 		(axis2_environment_t *env
 		, axis2_description_servicegroup_t *servicegroup_desc
 		, const axis2_qname_t* service_name);
+		
+axis2_status_t axis2_description_servicegroup_ops_remove_service
+		(axis2_environment_t *env
+		, axis2_description_servicegroup_t *servicegroup_desc
+		, const axis2_qname_t* service_name);
+		
+axis2_status_t axis2_description_servicegroup_ops_add_param
+		(axis2_environment_t *env
+		, axis2_description_servicegroup_t *servicegroup_desc
+		, axis2_description_param_t *param);
+		
+
+axis2_description_param_t *axis2_description_servicegroup_ops_get_param(
+		axis2_environment_t *env, axis2_description_servicegroup_t *servicegroup_desc
+		, const axis2_char_t *name);
+		
+axis2_hash_t *axis2_description_servicegroup_ops_get_params
+		(axis2_environment_t *env
+		, axis2_description_servicegroup_t *servicegroup_desc);
+		
+axis2_bool_t axis2_description_servicegroup_ops_is_param_locked(
+		axis2_environment_t *env, axis2_description_servicegroup_t *servicegroup_desc
+		, const axis2_char_t *param_name);
 
 /***************************** End of function headers ************************/
 
@@ -146,7 +169,7 @@
 		(axis2_environment_t *env
 		, axis2_description_servicegroup_t *servicegroup_desc)
 {
-	if(!servicegroup_desc)
+	if(!env || !servicegroup_desc)
 	{
 		env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
 		return NULL;
@@ -173,7 +196,7 @@
 		, axis2_description_servicegroup_t *servicegroup_desc
 		, const axis2_qname_t* service_name)
 {
-	if(!servicegroup_desc || ! service_name)
+	if(!env || !servicegroup_desc || ! service_name)
 	{
 		env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
 		return NULL;
@@ -181,4 +204,92 @@
 	return (axis2_description_service_t *) (axis2_hash_get 
 		(servicegroup_desc->services, service_name->localpart
 		, AXIS2_HASH_KEY_STRING));
+}
+
+axis2_status_t axis2_description_servicegroup_ops_remove_service
+		(axis2_environment_t *env
+		, axis2_description_servicegroup_t *servicegroup_desc
+		, const axis2_qname_t* service_name)
+{
+	if(!env || !servicegroup_desc || ! service_name)
+	{
+		return AXIS2_ERROR_INVALID_NULL_PARAMETER;
+	}
+	axis2_hash_set (servicegroup_desc->services, service_name->localpart
+		, AXIS2_HASH_KEY_STRING, NULL);
+	
+	return AXIS2_SUCCESS;
+}
+
+axis2_status_t axis2_description_servicegroup_ops_add_param
+		(axis2_environment_t *env
+		, axis2_description_servicegroup_t *servicegroup_desc
+		, axis2_description_param_t *param)
+{
+	if(!env || !servicegroup_desc || !servicegroup_desc->param_include || !param)
+	{
+		return AXIS2_ERROR_INVALID_NULL_PARAMETER;
+	}
+	axis2_hash_set (axis2_description_param_include_get_params(env
+		, servicegroup_desc->param_include), axis2_description_param_get_name(env
+		, param)
+		, AXIS2_HASH_KEY_STRING, param);	
+	return AXIS2_SUCCESS;
+}
+
+axis2_description_param_t *axis2_description_servicegroup_ops_get_param(
+		axis2_environment_t *env, axis2_description_servicegroup_t *servicegroup_desc
+		, const axis2_char_t *name)
+{
+	if(!env || !servicegroup_desc || !servicegroup_desc->param_include)
+	{
+		env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
+		return NULL;
+	}
+	axis2_char_t *tempname = axis2_strdup(env->string, name);
+	if(!tempname)
+	{
+		env->error->errorno = AXIS2_ERROR_NO_MEMORY;
+		return NULL;
+	}
+		
+	return (axis2_description_param_t *)(axis2_hash_get 
+		(axis2_description_param_include_get_params(env
+		, servicegroup_desc->param_include), tempname, AXIS2_HASH_KEY_STRING));
+	
+}
+
+axis2_hash_t *axis2_description_servicegroup_ops_get_params
+		(axis2_environment_t *env
+		, axis2_description_servicegroup_t *servicegroup_desc)
+{
+	if(!env || !servicegroup_desc)
+	{
+		env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
+		return NULL;		
+	}
+	return axis2_description_param_include_get_params(env
+		, servicegroup_desc->param_include);
+	
+}
+
+axis2_bool_t axis2_description_servicegroup_ops_is_param_locked(
+		axis2_environment_t *env, axis2_description_servicegroup_t *servicegroup_desc
+		, const axis2_char_t *param_name)
+{
+	if(!env || !servicegroup_desc || !servicegroup_desc->param_include)
+	{
+		env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
+		return AXIS2_FALSE;
+	}
+	axis2_char_t *tempname = axis2_strdup(env->string, param_name);
+	if(!tempname)
+	{
+		env->error->errorno = AXIS2_ERROR_NO_MEMORY;
+		return AXIS2_FALSE;
+	}
+		
+	return axis2_description_param_include_is_param_locked (env
+		, servicegroup_desc->param_include, param_name); 
+	
 }

Modified: webservices/axis2/trunk/c/modules/core/engine/src/axis2_engine_config.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/engine/src/axis2_engine_config.c?rev=328524&r1=328523&r2=328524&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/engine/src/axis2_engine_config.c (original)
+++ webservices/axis2/trunk/c/modules/core/engine/src/axis2_engine_config.c Tue Oct 25 19:16:31 2005
@@ -55,6 +55,10 @@
 axis2_status_t axis2_engine_config_ops_remove_service
 		(axis2_environment_t *env, axis2_engine_config_t *engine_config
 		, const axis2_char_t *name);
+		
+axis2_status_t split_service_name(axis2_environment_t *env
+		, axis2_char_t *service_name, axis2_char_t **service_name_st);
+		
 
 /************************** End of function prototypes ************************/
 
@@ -195,6 +199,18 @@
 		axis2_environment_t *env, axis2_engine_config_t *engine_config
 		, const axis2_char_t* service_name)
 {
+	if(!env || !engine_config)
+	{
+		env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
+		return NULL;
+	}
+	axis2_char_t *tempname = axis2_strdup(env->string, service_name);
+	if(!tempname)
+	{
+		env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
+		return NULL;
+	}
+	
 	axis2_description_servicegroup_t *sg = NULL;
 	int len = strlen(service_name);
 	axis2_char_t *service_st[2];
@@ -213,16 +229,44 @@
 	axis2_char_t *srv_name = *(service_st + 1);
 	axis2_qname_t *qname = (axis2_qname_t*) axis2_qname_create(env, srv_name, NULL, NULL); 
 	
-	/*return axis2_description_servicegroup_get_service(env, sg, qname);*/
+	return axis2_description_servicegroup_get_service(env, sg, qname);
 	return NULL;
 			
 }
 
 axis2_status_t axis2_engine_config_ops_remove_service
 		(axis2_environment_t *env, axis2_engine_config_t *engine_config
-		, const axis2_char_t *name)
+		, const axis2_char_t *service_name)
 {
+	if(!env || !engine_config)
+		return AXIS2_ERROR_INVALID_NULL_PARAMETER;
+	axis2_char_t *tempname = axis2_strdup(env->string, service_name);
+	if(!tempname)
+		return AXIS2_ERROR_INVALID_NULL_PARAMETER;
+	
+	axis2_description_servicegroup_t *sg = NULL;
+	int len = strlen(service_name);
+	axis2_char_t *service_st[2];
+	service_st[1] = (axis2_char_t*) axis2_malloc
+		(env->allocator, len * sizeof(axis2_char_t));
+	service_st[2] = (axis2_char_t*) axis2_malloc
+		(env->allocator, len * sizeof(axis2_char_t));
+	
+	if(AXIS2_SUCCESS == split_service_name(env, service_name, service_st))
+	{
+		axis2_char_t *grp_name = *(service_st + 2);
+		sg = axis2_engine_config_ops_get_servicegroup(env, engine_config
+			, grp_name);
+		if(!sg)
+			return AXIS2_ERROR_INVALID_NULL_PARAMETER;
+	}
+	axis2_char_t *srv_name = *(service_st + 1);
+	axis2_qname_t *qname = (axis2_qname_t*) axis2_qname_create(env, srv_name
+		, NULL, NULL);
 	
+	axis2_description_servicegroup_remove_service(env, sg, qname);
+	
+	return AXIS2_SUCCESS;
 }
 	
 /**