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;
}