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/24 12:21:49 UTC

svn commit: r328026 - in /webservices/axis2/trunk/c: include/axis2_core.h include/axis2_description_servicegroup.h include/axis2_engine_config.h modules/core/engine/src/axis2_engine_config.c

Author: damitha
Date: Mon Oct 24 03:21:36 2005
New Revision: 328026

URL: http://svn.apache.org/viewcvs?rev=328026&view=rev
Log:
more code

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

Modified: webservices/axis2/trunk/c/include/axis2_core.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_core.h?rev=328026&r1=328025&r2=328026&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_core.h (original)
+++ webservices/axis2/trunk/c/include/axis2_core.h Mon Oct 24 03:21:36 2005
@@ -60,7 +60,7 @@
 	
 /************************ End of message exchange patters *********************/	
 	
-	
+#define SERVICE_NAME_SPLIT_CHAR ':'	
 /** @cond */
 struct axis2_description_param_ops_s;
 struct axis2_description_param_s;

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=328026&r1=328025&r2=328026&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_description_servicegroup.h (original)
+++ webservices/axis2/trunk/c/include/axis2_description_servicegroup.h Mon Oct 24 03:21:36 2005
@@ -60,7 +60,7 @@
 
 #define axis2_description_servicegroup_add_service(env, servicegroup_desc \
 		, service_desc) (axis2_description_servicegroup_get_ops(env, \
-		servicegroup_desc)->get_param (env, servicegroup_desc, service_desc));
+		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, \

Modified: webservices/axis2/trunk/c/include/axis2_engine_config.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_engine_config.h?rev=328026&r1=328025&r2=328026&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_engine_config.h (original)
+++ webservices/axis2/trunk/c/include/axis2_engine_config.h Mon Oct 24 03:21:36 2005
@@ -71,11 +71,13 @@
 		(axis2_environment_t *env, axis2_engine_config_t *engine_config
     	, axis2_description_servicegroup_t *service_group_desc);
 
-typedef axis2_description_service_t *(*axis2_engine_config_get_service_t)(
-		axis2_engine_config_t *engine_config, const axis2_char_t* service_name);
+typedef axis2_description_service_t *(*axis2_engine_config_get_service_t)
+		(axis2_environment_t *env, axis2_engine_config_t *engine_config
+		, const axis2_char_t* service_name);
 
 typedef axis2_status_t (*axis2_engine_config_remove_service_t)
-		(axis2_engine_config_t *engine_config, const axis2_char_t *name);	
+		(axis2_environment_t *env, axis2_engine_config_t *engine_config
+		, const axis2_char_t *name);	
 		
 /************************* End of function pointers ***************************/
 	

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=328026&r1=328025&r2=328026&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 Mon Oct 24 03:21:36 2005
@@ -165,16 +165,34 @@
 		axis2_environment_t *env, axis2_engine_config_t *engine_config
 		, const axis2_description_service_t *service_desc)
 {
-	if(!engine_config || engine_config->servicegroup_desc) return AXIS2_ERROR_INVALID_NULL_PARAMETER;
+	if(!engine_config || !service_desc) 
+		return AXIS2_ERROR_INVALID_NULL_PARAMETER;
 	
-		
+	axis2_description_servicegroup_t *servicegroup_desc 
+		= axis2_description_servicegroup_create(env);
+	
+	if(!servicegroup_desc)
+		return AXIS2_ERROR_NO_MEMORY;
+	
+	axis2_qname_t *servicegroup_qname = axis2_description_service_get_name
+		(env, service_desc);
+	
+	axis2_char_t *servicegroup_name = servicegroup_qname->localpart;
+	
+	axis2_description_servicegroup_set_name(env, servicegroup_desc
+		, servicegroup_name);
+	
+	axis2_description_servicegroup_add_service(env, servicegroup_desc
+		, service_desc);
+	
+	return AXIS2_SUCCESS;
 }
 
 axis2_description_service_t *axis2_engine_config_ops_get_service(
 		axis2_environment_t *env, axis2_engine_config_t *engine_config
 		, const axis2_char_t* service_name)
 {
-		
+			
 }
 
 axis2_status_t axis2_engine_config_ops_remove_service
@@ -182,4 +200,30 @@
 		, const axis2_char_t *name)
 {
 	
+}
+	
+/**
+ * To split a given service name into it's service group name and service name.
+ * if the service name is foo:bar then service group name is "foo" and 
+ * service name is "bar" but if the service name is only the "foo" we asume 
+ * service group name is "foo" and service name is "foo"
+ * meaning foo := foo:foo
+ * @param service_name
+ * @return axis2_char_t* 
+ */
+axis2_status_t split_service_name(axis2_environment_t *env
+		, axis2_char_t *service_name, axis2_char_t **service_name_st)
+{
+	char *srv_name = strchr(service_name, SERVICE_NAME_SPLIT_CHAR);
+	if(NULL == srv_name)
+	{
+		*(service_name_st + 1) = srv_name;
+		*(service_name_st + 2) = srv_name;
+	}
+	srv_name = '\0';
+	char *grp_name = service_name;
+	srv_name = srv_name + 1;
+	*(service_name_st + 1) = srv_name;
+	*(service_name_st + 2) = grp_name;
+	return AXIS2_SUCCESS;
 }