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/20 04:47:39 UTC
svn commit: r326780 - in /webservices/axis2/trunk/c: ides/anjuta/ include/
modules/core/context/src/ modules/core/description/src/
modules/core/engine/src/
Author: damitha
Date: Wed Oct 19 19:47:09 2005
New Revision: 326780
URL: http://svn.apache.org/viewcvs?rev=326780&view=rev
Log:
Added more code to information model. Updated anjuta project by
adding 4 files related to information model
Added:
webservices/axis2/trunk/c/include/axis2_context_msg_context.h
webservices/axis2/trunk/c/include/axis2_engine_msg_receiver.h
webservices/axis2/trunk/c/modules/core/context/src/axis2_context_msg_context.c
webservices/axis2/trunk/c/modules/core/engine/src/axis2_engine_msg_receiver.c
Modified:
webservices/axis2/trunk/c/ides/anjuta/axis2c.prj
webservices/axis2/trunk/c/include/axis2_description_module.h
webservices/axis2/trunk/c/include/axis2_description_operation.h
webservices/axis2/trunk/c/include/axis2_description_parameter.h
webservices/axis2/trunk/c/include/axis2_description_service.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/context/src/Makefile.am
webservices/axis2/trunk/c/modules/core/context/src/Makefile.in
webservices/axis2/trunk/c/modules/core/description/src/axis2_description_module.c
webservices/axis2/trunk/c/modules/core/description/src/axis2_description_operation.c
webservices/axis2/trunk/c/modules/core/description/src/axis2_description_param_include.c
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/Makefile.am
webservices/axis2/trunk/c/modules/core/engine/src/Makefile.in
webservices/axis2/trunk/c/modules/core/engine/src/axis2_engine_config.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=326780&r1=326779&r2=326780&view=diff
==============================================================================
--- webservices/axis2/trunk/c/ides/anjuta/axis2c.prj (original)
+++ webservices/axis2/trunk/c/ides/anjuta/axis2c.prj Wed Oct 19 19:47:09 2005
@@ -114,7 +114,9 @@
include/axis2_description_service.h\
include/axis2_description_servicegroup.h\
modules/core/description/test/description_test.h\
- include/axis2_core.h
+ include/axis2_core.h\
+ include/axis2_context_msg_context.h\
+ include/axis2_engine_msg_receiver.h
module.source.name=.
module.source.type=
@@ -167,7 +169,9 @@
modules/core/description/src/axis2_description_parameter.c\
modules/core/description/src/axis2_description_service.c\
modules/core/description/src/axis2_description_servicegroup.c\
- modules/core/description/test/main.c
+ modules/core/description/test/main.c\
+ modules/core/context/src/axis2_context_msg_context.c\
+ modules/core/engine/src/axis2_engine_msg_receiver.c
module.pixmap.name=.
module.pixmap.type=
Added: webservices/axis2/trunk/c/include/axis2_context_msg_context.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_context_msg_context.h?rev=326780&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_context_msg_context.h (added)
+++ webservices/axis2/trunk/c/include/axis2_context_msg_context.h Wed Oct 19 19:47:09 2005
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef AXIS2_ENGINE_MSG_CONTEXT_H
+#define AXIS2_ENGINE_MSG_CONTEXT_H
+
+
+/**
+ * @file axis2_context_msg_context.h
+ * @brief axis2 ENGINE CORE msg_context
+ */
+
+#include <axis2_core.h>
+#include <axis2_context_msg_context.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/** @defgroup axis2_context ENGINE (Axis2 Information model)
+ * @ingroup axis2
+ * @{
+ */
+
+/** @} */
+
+/**
+ * @defgroup axis2_context_msg_context ENGINE Msg_context
+ * @ingroup axis2_context
+ * @{
+ */
+
+/************************** Start of function macros **************************/
+
+#define axis2_context_msg_ctx_free(env, msg_ctx) \
+ (axis2_context_msg_ctx_get_ops(env, \
+ msg_ctx)->free (env, msg_ctx));
+
+/************************** End of function macros ****************************/
+
+/************************** Start of function pointers ************************/
+
+typedef axis2_status_t (*axis2_context_msg_ctx_free_t)
+ (axis2_environment_t *env
+ , axis2_context_msg_ctx_t *msg_ctx);
+
+/**************************** End of function pointers ************************/
+
+struct axis2_context_msg_ctx_ops_s
+{
+ axis2_context_msg_ctx_free_t free;
+};
+
+axis2_context_msg_ctx_t *axis2_context_msg_ctx_get_ops
+ (axis2_environment_t *env
+ , axis2_context_msg_ctx_t *msg_ctx);
+
+axis2_context_msg_ctx_t
+ *axis2_context_msg_ctx_create (axis2_environment_t *env);
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* AXIS2_ENGINE_MSG_CONTEXT_H */
Modified: webservices/axis2/trunk/c/include/axis2_description_module.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_description_module.h?rev=326780&r1=326779&r2=326780&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_description_module.h (original)
+++ webservices/axis2/trunk/c/include/axis2_description_module.h Wed Oct 19 19:47:09 2005
@@ -1,28 +1,57 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
#ifndef AXIS2_DESCRIPTION_MODULE_H
#define AXIS2_DESCRIPTION_MODULE_H
-#include <axis2.h>
-#include <axis2_error.h>
-#include <axis2_defines.h>
-#include <axis2_environment.h>
-#include <axis2_allocator.h>
-#include <axis2_string.h>
-#include <axis2_hash.h>
-
+/**
+ * @file axis2_description_module.h
+ * @brief Parameter handling
+ */
+
#include <axis2_qname.h>
#include <axis2_description_operation.h>
#include <axis2_engine_config.h>
#include <axis2_description_param_include.h>
/*#include <axis2_om_node.h> */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/** @defgroup axis2_description DESCRIPTION (Axis2 Information model)
+ * @ingroup axis2
+ * @{
+ */
+
+/** @} */
+
/**
- * @file axis2_description_module.h
- * @brief Parameter handling
+ * @defgroup axis2_description_module DESCRIPTION Module
+ * @ingroup axis2_description
+ * @{
*/
+
+/***************************** Start of function macros ***********************/
+/***************************** End of function macros *************************/
/**
- * <p>This holds the information about a Module. </p>
- */
+ * This holds the information about a Module
+ */
typedef struct
{
axis2_qname_t *qname;
@@ -75,5 +104,8 @@
*axis2_description_module_get_parent (axis2_description_module_t *
module_desc);
-
+/** @} */
+#ifdef __cplusplus
+}
+#endif
#endif /*AXIS2_DESCRIPTION_MODULE_H */
Modified: webservices/axis2/trunk/c/include/axis2_description_operation.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_description_operation.h?rev=326780&r1=326779&r2=326780&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_description_operation.h (original)
+++ webservices/axis2/trunk/c/include/axis2_description_operation.h Wed Oct 19 19:47:09 2005
@@ -1,18 +1,50 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
#ifndef AXIS2_DESCRIPTION_OPERATION_H
#define AXIS2_DESCRIPTION_OPERATION_H
-#include <axis2.h>
-#include <axis2_error.h>
-#include <axis2_defines.h>
-#include <axis2_environment.h>
-#include <axis2_allocator.h>
-#include <axis2_string.h>
-#include <axis2_hash.h>
-
+/**
+ * @file axis2_description_operation.h
+ * @brief axis2 DESCRIPTION CORE operation
+ */
+
#include <axis2_core.h>
#include <axis2_description_param_include.h>
#include <axis2_description_service.h>
+#include <axis2_engine_msg_receiver.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/** @defgroup axis2_description DESCRIPTION (Axis2 Information model)
+ * @ingroup axis2
+ * @{
+ */
+
+/** @} */
+
+/**
+ * @defgroup axis2_description_operation DESCRIPTION Operation
+ * @ingroup axis2_description
+ * @{
+ */
+
/************************** Start of function macros **************************/
#define axis2_description_operation_free(env, operation_desc) \
@@ -68,11 +100,30 @@
(axis2_environment_t *env
, axis2_description_operation_t *operation_desc);
+typedef axis2_qname_t *(*axis2_description_operation_get_name_t)
+ (axis2_environment_t *env, axis2_description_operation_t *operation_desc);
+
+typedef axis2_status_t (*axis2_description_operation_set_msg_exchange_pattern_t)
+ (axis2_environment_t *env, axis2_description_operation_t *operation_desc
+ , axis2_char_t *pattern);
+
+typedef axis2_char_t *(*axis2_description_operation_get_msg_exchange_pattern_t)
+ (axis2_environment_t *env, axis2_description_operation_t *operation_desc);
+
+typedef axis2_status_t (*axis2_description_operation_set_msg_receiver_t)
+ (axis2_environment_t *env, axis2_description_operation_t *operation_desc
+ , axis2_engine_msg_receiver_t *msg_receiver);
+
+typedef axis2_engine_msg_receiver_t *(*axis2_description_operation_get_msg_receiver_t)
+ (axis2_environment_t *env, axis2_description_operation_t *operation_desc);
+
/**************************** End of function pointers ************************/
struct axis2_description_operation_ops_s
{
axis2_description_operation_free_t free;
+
+ axis2_description_operation_get_name_t get_name;
axis2_description_operation_add_param_t add_param;
@@ -83,15 +134,24 @@
axis2_description_operation_set_parent_t set_parent;
axis2_description_operation_get_parent_t get_parent;
+ axis2_description_operation_set_msg_exchange_pattern_t set_msg_exchange_pattern;
+ axis2_description_operation_get_msg_exchange_pattern_t get_msg_exchange_pattern;
+ axis2_description_operation_set_msg_receiver_t set_msg_receiver;
+ axis2_description_operation_get_msg_receiver_t get_msg_receiver;
};
axis2_description_operation_t *axis2_description_operation_get_ops
- (axis2_environment_t *env);
+ (axis2_environment_t *env
+ , axis2_description_operation_t *operation_desc);
axis2_description_operation_t
*axis2_description_operation_create (axis2_environment_t *env);
axis2_description_operation_t *axis2_description_operation_create_with_name
(axis2_environment_t *env, axis2_qname_t *name);
-
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
#endif /* AXIS2_DESCRIPTION_OPERATION_H */
Modified: webservices/axis2/trunk/c/include/axis2_description_parameter.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_description_parameter.h?rev=326780&r1=326779&r2=326780&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_description_parameter.h (original)
+++ webservices/axis2/trunk/c/include/axis2_description_parameter.h Wed Oct 19 19:47:09 2005
@@ -21,15 +21,8 @@
* @file axis2_parameter.h
* @brief axis2 DESCRIPTION CORE parameter
*/
-
-#include <axis2.h>
-#include <axis2_error.h>
-#include <axis2_defines.h>
-#include <axis2_environment.h>
-#include <axis2_allocator.h>
-#include <axis2_string.h>
-#include <axis2_core.h>
+#include <axis2_core.h>
/*#include <axis2_om_element.h>*/
#ifdef __cplusplus
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=326780&r1=326779&r2=326780&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_description_service.h (original)
+++ webservices/axis2/trunk/c/include/axis2_description_service.h Wed Oct 19 19:47:09 2005
@@ -1,29 +1,60 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
#ifndef AXIS2_DESCRIPTION_SERVICE_H
#define AXIS2_DESCRIPTION_SERVICE_H
-#include <axis2.h>
-#include <axis2_error.h>
-#include <axis2_defines.h>
-#include <axis2_environment.h>
-#include <axis2_allocator.h>
-#include <axis2_string.h>
-#include <axis2_hash.h>
-
+/**
+ * @file axis2_description_service.h
+ * @brief axis2 DESCRIPTION CORE service
+ */
+
#include <axis2_core.h>
#include <axis2_description_param_include.h>
#include <axis2_description_operation.h>
#include <axis2_description_servicegroup.h>
#include <axis2_qname.h>
-
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/** @defgroup axis2_description DESCRIPTION (Axis2 Information model)
+ * @ingroup axis2
+ * @{
+ */
+
+/** @} */
+
+/**
+ * @defgroup axis2_description_service DESCRIPTION Service
+ * @ingroup axis2_description
+ * @{
+ */
+
+/**************************** Start of function macros ************************/
+
+/**************************** End of function macros **************************/
/**************************** Function pointers *******************************/
+
-typedef axis2_status_t *(*axis2_description_service_free_t)
+typedef axis2_status_t (*axis2_description_service_free_t)
(axis2_environment_t *env, axis2_description_service_t *service_desc);
-typedef axis2_status_t (*axis2_description_service_add_operation_t)
- (axis2_environment_t *env, axis2_description_service_t *service_desc
- , axis2_description_operation_t *operation_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);
@@ -35,6 +66,10 @@
typedef axis2_hash_t *(*axis2_description_service_get_params_t)
(axis2_environment_t *env, axis2_description_service_t *service_desc);
+typedef axis2_status_t (*axis2_description_service_add_operation_t)
+ (axis2_environment_t *env, axis2_description_service_t *service_desc
+ , axis2_description_operation_t *operation_desc);
+
typedef axis2_description_operation_t *(*axis2_description_service_get_operation_with_qname_t)
(axis2_environment_t *env, axis2_description_service_t *service_desc
, axis2_qname_t *operation_name);
@@ -57,6 +92,10 @@
/************************ End function pointers *******************************/
+/** @struct axis2_description_service_ops_s
+ * @brief operations for the axis2_description_service_t
+ * This contain all the operations for axis2_description_service struct
+ */
struct axis2_description_service_ops_s
{
axis2_description_service_free_t free;
@@ -82,11 +121,22 @@
};
-/******************************************************************************/
+/** To get the operation struct for axis_description_service_t call this
+ * function
+ * @return operation struct for service
+ */
axis2_description_service_ops_t * axis2_description_service_get_ops
- (axis2_environment_t *env);
+ (axis2_environment_t *env, axis2_description_service_t *service_desc);
+/** Create a service with qualified name
+ * @param qualified name
+ * @return service struct
+ */
axis2_description_service_t *axis2_description_service_create_with_qname
- (axis2_environment_t *env);
+ (axis2_environment_t *env, axis2_qname_t *qname);
+/** @} */
+#ifdef __cplusplus
+}
+#endif
#endif /* AXIS2_DESCRIPTION_SERVICE_H */
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=326780&r1=326779&r2=326780&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_description_servicegroup.h (original)
+++ webservices/axis2/trunk/c/include/axis2_description_servicegroup.h Wed Oct 19 19:47:09 2005
@@ -1,18 +1,49 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
#ifndef AXIS2_DESCRIPTION_SERVICEGROUP_H
#define AXIS2_DESCRIPTION_SERVICEGROUP_H
-#include <axis2.h>
-#include <axis2_error.h>
-#include <axis2_defines.h>
-#include <axis2_environment.h>
-#include <axis2_allocator.h>
-#include <axis2_string.h>
-#include <axis2_hash.h>
-
+/**
+ * @file axis2_description_servicegroup.h
+ * @brief axis2 DESCRIPTION CORE servicegroup
+ */
+
#include <axis2_core.h>
#include <axis2_description_param_include.h>
#include <axis2_description_service.h>
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/** @defgroup axis2_description DESCRIPTION (Axis2 Information model)
+ * @ingroup axis2
+ * @{
+ */
+
+/** @} */
+
+/**
+ * @defgroup axis2_description_servicegroup DESCRIPTION Servicegroup
+ * @ingroup axis2_description
+ * @{
+ */
+
/**************************** Function pointers *******************************/
typedef axis2_status_t (*axis2_description_servicegroup_add_service_t)
@@ -26,9 +57,11 @@
axis2_description_servicegroup_add_service_t add_service;
};
-/******************************************************************************/
-
axis2_description_servicegroup_ops_t *axis2_description_servicegroup_get_ops
(axis2_environment_t *env);
+/** @} */
+#ifdef __cplusplus
+}
+#endif
#endif /* AXIS2_DESCRIPTION_SERVICEGROUP_H */
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=326780&r1=326779&r2=326780&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_engine_config.h (original)
+++ webservices/axis2/trunk/c/include/axis2_engine_config.h Wed Oct 19 19:47:09 2005
@@ -18,24 +18,33 @@
#define AXIS2_ENGINE_CONFIG_H
/**
- * @file axis2_engine_config.h
- * @brief Global states of all the Axis can
- * can be accessed here
- */
+ * @file axis2_engine_config.h
+ * @brief Global states of all the Axis can
+ * can be accessed here
+ */
-#include <axis2.h>
-#include <axis2_error.h>
-#include <axis2_defines.h>
-#include <axis2_environment.h>
-#include <axis2_allocator.h>
-#include <axis2_string.h>
#include <axis2_core.h>
-
#include <axis2_description_param_include.h>
#include <axis2_description_servicegroup.h>
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/** @defgroup axis2_context CONTEXT (Axis2 Information model)
+ * @ingroup axis2
+ * @{
+ */
+
+/** @} */
/**
+ * @defgroup axis2_context_ CONTEXT engine_config
+ * @ingroup axis2_engine_config
+ * @{
+ */
+
+/**
* The palce where all the global states of Axis is accessed.
* All the global states kept in the <code>EngineRegistry</code> and all the
* Service states kept in the <code>MessageContext</code>. Other runtime
@@ -43,8 +52,10 @@
*/
/**
- * <p>This holds the information about engine. </p>
- */
+ * @struct axis2_engine_config
+ * @brief CONTEXT engine_config operations
+ * This holds the information about engine.
+ */
typedef struct
{
axis2_description_param_include_t * param_include;
@@ -65,4 +76,8 @@
void axis2_engine_config_remove_service(axis2_engine_config_t *engine_config,
char *name);
+/** @} */
+#ifdef __cplusplus
+}
+#endif
#endif /* AXIS2_ENGINE_CONFIG_H */
Added: webservices/axis2/trunk/c/include/axis2_engine_msg_receiver.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_engine_msg_receiver.h?rev=326780&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_engine_msg_receiver.h (added)
+++ webservices/axis2/trunk/c/include/axis2_engine_msg_receiver.h Wed Oct 19 19:47:09 2005
@@ -0,0 +1,89 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef AXIS2_ENGINE_MSG_RECEIVER_H
+#define AXIS2_ENGINE_MSG_RECEIVER_H
+
+
+/**
+ * @file axis2_engine_msg_receiver.h
+ * @brief axis2 ENGINE CORE msg_receiver
+ */
+
+#include <axis2_core.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/** @defgroup axis2_engine ENGINE (Axis2 Information model)
+ * @ingroup axis2
+ * @{
+ */
+
+/** @} */
+
+/**
+ * @defgroup axis2_engine_msg_receiver ENGINE Msg_receiver
+ * @ingroup axis2_engine
+ * @{
+ */
+
+/************************** Start of function macros **************************/
+
+#define axis2_engine_msg_receiver_free(env, msg_receiver) \
+ (axis2_engine_msg_receiver_get_ops(env, \
+ msg_receiver)->free (env, msg_receiver));
+
+#define axis2_engine_msg_receiver_receive(env, msg_receiver, msg_ctx) \
+ (axis2_engine_msg_receiver_get_ops(env, \
+ msg_receiver)->receive (env, msg_receiver, msg_ctx));
+
+/************************** End of function macros ****************************/
+
+/************************** Start of function pointers ************************/
+
+typedef axis2_status_t (*axis2_engine_msg_receiver_free_t)
+ (axis2_environment_t *env
+ , axis2_engine_msg_receiver_t *msg_receiver);
+
+typedef axis2_status_t (*axis2_engine_msg_receiver_receive_t)
+ (axis2_environment_t *env, axis2_engine_msg_receiver_t *msg_receiver
+ , axis2_context_msg_ctx_t *msg_ctx);
+
+/**************************** End of function pointers ************************/
+
+struct axis2_engine_msg_receiver_ops_s
+{
+ axis2_engine_msg_receiver_free_t free;
+
+ axis2_engine_msg_receiver_receive_t receive;
+};
+
+axis2_engine_msg_receiver_t *axis2_engine_msg_receiver_get_ops
+ (axis2_environment_t *env
+ , axis2_engine_msg_receiver_t *msg_receiver);
+
+axis2_engine_msg_receiver_t
+ *axis2_engine_msg_receiver_create (axis2_environment_t *env);
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* AXIS2_ENGINE_MSG_RECEIVER_H */
Modified: webservices/axis2/trunk/c/modules/core/context/src/Makefile.am
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/context/src/Makefile.am?rev=326780&r1=326779&r2=326780&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/context/src/Makefile.am (original)
+++ webservices/axis2/trunk/c/modules/core/context/src/Makefile.am Wed Oct 19 19:47:09 2005
@@ -1,6 +1,6 @@
noinst_LTLIBRARIES = libcontext.la
AM_CPPFLAGS = $(CPPFLAGS)
-libcontext_la_SOURCES =
+libcontext_la_SOURCES = axis2_context_msg_context.c
libcontext_la_LIBADD = $(LDFLAGS)
INCLUDES = -I$(APR_HOME)/include/apr-1 -I${CUTEST_HOME}/include -I../../../xml/guththila/src -I../../../../include
Modified: webservices/axis2/trunk/c/modules/core/context/src/Makefile.in
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/context/src/Makefile.in?rev=326780&r1=326779&r2=326780&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/context/src/Makefile.in (original)
+++ webservices/axis2/trunk/c/modules/core/context/src/Makefile.in Wed Oct 19 19:47:09 2005
@@ -55,9 +55,11 @@
LTLIBRARIES = $(noinst_LTLIBRARIES)
am__DEPENDENCIES_1 =
libcontext_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_libcontext_la_OBJECTS =
+am_libcontext_la_OBJECTS = axis2_context_msg_context.lo
libcontext_la_OBJECTS = $(am_libcontext_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/conftools/depcomp
+am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
@@ -68,6 +70,8 @@
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libcontext_la_SOURCES)
DIST_SOURCES = $(libcontext_la_SOURCES)
+ETAGS = etags
+CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
@@ -179,12 +183,13 @@
target_vendor = @target_vendor@
noinst_LTLIBRARIES = libcontext.la
AM_CPPFLAGS = $(CPPFLAGS)
-libcontext_la_SOURCES =
+libcontext_la_SOURCES = axis2_context_msg_context.c
libcontext_la_LIBADD = $(LDFLAGS)
INCLUDES = -I$(APR_HOME)/include/apr-1 -I${CUTEST_HOME}/include -I../../../xml/guththila/src -I../../../../include
all: all-am
.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
@@ -232,6 +237,29 @@
distclean-compile:
-rm -f *.tab.c
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/axis2_context_msg_context.Plo@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+
mostlyclean-libtool:
-rm -f *.lo
@@ -241,12 +269,54 @@
distclean-libtool:
-rm -f libtool
uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
tags: TAGS
-TAGS:
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
ctags: CTAGS
-CTAGS:
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@@ -309,9 +379,10 @@
mostlyclean-am
distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool
+ distclean-libtool distclean-tags
dvi: dvi-am
@@ -334,6 +405,7 @@
installcheck-am:
maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -352,16 +424,17 @@
uninstall-am: uninstall-info-am
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- clean-noinstLTLIBRARIES distclean distclean-compile \
- distclean-generic distclean-libtool distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- uninstall uninstall-am uninstall-info-am
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstLTLIBRARIES ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am \
+ uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
Added: webservices/axis2/trunk/c/modules/core/context/src/axis2_context_msg_context.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/context/src/axis2_context_msg_context.c?rev=326780&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/core/context/src/axis2_context_msg_context.c (added)
+++ webservices/axis2/trunk/c/modules/core/context/src/axis2_context_msg_context.c Wed Oct 19 19:47:09 2005
@@ -0,0 +1,85 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <axis2_context_msg_context.h>
+
+/**
+ * @struct axis2_context_msg_ctx_s
+ * @brief CONTEXT msg_ctx
+ * This holds the information about msg_ctx.
+ */
+struct axis2_context_msg_ctx_s
+{
+ axis2_context_msg_ctx_ops_t *ops;
+};
+
+/*************************** Function headers *********************************/
+
+axis2_status_t axis2_context_msg_ctx_ops_free (axis2_environment_t *env
+ , axis2_context_msg_ctx_t *msg_ctx);
+
+
+
+/************************* End of function headers ****************************/
+
+axis2_context_msg_ctx_t *axis2_context_msg_ctx_get_ops
+ (axis2_environment_t *env, axis2_context_msg_ctx_t *msg_ctx)
+{
+ if(!msg_ctx)
+ {
+ env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
+ return NULL;
+ }
+ return (axis2_context_msg_ctx_t *) msg_ctx->ops;
+}
+
+axis2_context_msg_ctx_t *axis2_context_msg_ctx_create
+ (axis2_environment_t *env)
+{
+ axis2_context_msg_ctx_ops_t *ops = NULL;
+ axis2_context_msg_ctx_t *msg_ctx =
+ (axis2_context_msg_ctx_t *) axis2_malloc (env->allocator
+ , sizeof (axis2_context_msg_ctx_t));
+ if(!msg_ctx)
+ {
+ env->error->errorno = AXIS2_ERROR_NO_MEMORY;
+ return NULL;
+ }
+ ops = (axis2_context_msg_ctx_ops_t *) axis2_malloc(env->allocator,
+ sizeof(axis2_context_msg_ctx_ops_t));
+ if(!ops)
+ {
+ env->error->errorno = AXIS2_ERROR_NO_MEMORY;
+ return NULL;
+ }
+ ops->free = axis2_context_msg_ctx_ops_free;
+
+ msg_ctx->ops = ops;
+
+ return msg_ctx;
+}
+
+/******************************************************************************/
+
+axis2_status_t axis2_context_msg_ctx_ops_free (axis2_environment_t *env
+ , axis2_context_msg_ctx_t *msg_ctx)
+{
+ if(msg_ctx){
+ free(msg_ctx);
+ return AXIS2_SUCCESS;
+ }
+ return AXIS2_ERROR_UNALLOCATED_MEMEORY_RELEASE_REQUESTED;
+}
Modified: webservices/axis2/trunk/c/modules/core/description/src/axis2_description_module.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/src/axis2_description_module.c?rev=326780&r1=326779&r2=326780&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/src/axis2_description_module.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/src/axis2_description_module.c Wed Oct 19 19:47:09 2005
@@ -1 +1,17 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
#include <axis2_description_module.h>
Modified: webservices/axis2/trunk/c/modules/core/description/src/axis2_description_operation.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/src/axis2_description_operation.c?rev=326780&r1=326779&r2=326780&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/src/axis2_description_operation.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/src/axis2_description_operation.c Wed Oct 19 19:47:09 2005
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
#include <axis2_description_operation.h>
/**
@@ -10,8 +26,9 @@
axis2_description_operation_ops_t *ops;
axis2_description_param_include_t *param_include;
axis2_description_service_t *parent;
- axis2_qname_t *name;
-
+ axis2_qname_t *name;
+ axis2_engine_msg_receiver_t *msg_receiver;
+ axis2_char_t* msg_exchange_pattern;
};
@@ -40,15 +57,37 @@
(axis2_environment_t *env
, axis2_description_operation_t *operation_desc);
+axis2_qname_t *axis2_description_operation_ops_get_name
+ (axis2_environment_t *env, axis2_description_operation_t *operation_desc);
+
+axis2_status_t axis2_description_operation_ops_set_msg_exchange_pattern
+ (axis2_environment_t *env, axis2_description_operation_t *operation_desc
+ , axis2_char_t *pattern);
+
+axis2_char_t *axis2_description_operation_ops_get_msg_exchange_pattern
+ (axis2_environment_t *env, axis2_description_operation_t *operation_desc);
+
+axis2_status_t axis2_description_operation_ops_set_msg_receiver
+ (axis2_environment_t *env, axis2_description_operation_t *operation_desc
+ , axis2_engine_msg_receiver_t *msg_receiver);
+
+axis2_engine_msg_receiver_t *axis2_description_operation_ops_get_msg_receiver
+ (axis2_environment_t *env, axis2_description_operation_t *operation_desc);
+
/************************* End of function headers ****************************/
axis2_description_operation_t *axis2_description_operation_get_ops
- (axis2_environment_t *env)
+ (axis2_environment_t *env, axis2_description_operation_t *operation_desc)
{
- return NULL;
+ if(!operation_desc)
+ {
+ env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
+ return NULL;
+ }
+ return (axis2_description_operation_t *) operation_desc->ops;
}
-axis2_description_operation_t *axis2_description_operation_create_local
+axis2_description_operation_t *axis2_description_operation_create
(axis2_environment_t *env)
{
axis2_description_operation_ops_t *ops = NULL;
@@ -66,37 +105,25 @@
{
env->error->errorno = AXIS2_ERROR_NO_MEMORY;
return NULL;
- }
-
+ }
ops->free = axis2_description_operation_ops_free;
ops->add_param = axis2_description_operation_ops_add_param;
ops->get_param = axis2_description_operation_ops_get_param;
ops->get_params = axis2_description_operation_ops_get_params;
- /*ops->set_parent = axis2_description_operation_ops_set_parent;
- ops->get_parent = axis2_description_ops_operation_ops_get_parent;*/
+ ops->set_parent = axis2_description_operation_ops_set_parent;
+ ops->get_parent = axis2_description_operation_ops_get_parent;
+ ops->get_name = axis2_description_operation_ops_get_name;
+ ops->set_msg_exchange_pattern
+ = axis2_description_operation_ops_set_msg_exchange_pattern;
+ ops->get_msg_exchange_pattern
+ = axis2_description_operation_ops_get_msg_exchange_pattern;
+ ops->set_msg_receiver = axis2_description_operation_ops_set_msg_receiver;
+ ops->get_msg_receiver = axis2_description_operation_ops_get_msg_receiver;
operation_desc->ops = ops;
- operation_desc->param_include = NULL;
- operation_desc->name = NULL;
- /*operation_desc->parent = NULL;*/
-
- return operation_desc;
-}
-
-axis2_description_operation_t *axis2_description_operation_create
- (axis2_environment_t *env)
-{
- axis2_description_param_include_t * param_include = NULL;
- axis2_description_operation_t *operation_desc
- = axis2_description_operation_create_local(env);
- if(!operation_desc)
- {
- env->error->errorno = AXIS2_ERROR_NO_MEMORY;
- return NULL;
- }
-
- param_include = (axis2_description_param_include_t *)
+ axis2_description_param_include_t *param_include
+ = (axis2_description_param_include_t *)
axis2_description_param_include_create(env);
if(!param_include)
{
@@ -105,6 +132,14 @@
}
operation_desc->param_include = param_include;
+
+ operation_desc->parent = NULL;
+
+ operation_desc->name = NULL;
+
+ operation_desc->msg_receiver = NULL;
+
+ operation_desc->msg_exchange_pattern = MEP_URI_IN_OUT;
return operation_desc;
}
@@ -113,7 +148,7 @@
(axis2_environment_t *env, axis2_qname_t *name)
{
axis2_description_operation_t *operation_desc
- = axis2_description_operation_create_local(env);
+ = axis2_description_operation_create(env);
if(!operation_desc)
{
@@ -138,13 +173,17 @@
free(operation_desc);
return AXIS2_SUCCESS;
}
- return AXIS2_FAILURE;
+ return AXIS2_ERROR_UNALLOCATED_MEMEORY_RELEASE_REQUESTED;
}
axis2_status_t axis2_description_operation_ops_add_param
(axis2_environment_t *env, axis2_description_operation_t *operation_desc
, axis2_description_param_t *param)
{
+ if(!operation_desc || !operation_desc->param_include || !param)
+ {
+ return AXIS2_ERROR_INVALID_NULL_PARAMETER;
+ }
axis2_hash_set (axis2_description_param_include_get_params(env
, operation_desc->param_include), axis2_description_param_get_name(env
, param)
@@ -187,22 +226,87 @@
, operation_desc->param_include);
}
-axis2_status_t axis2_description_operation_ops_set_parent(axis2_environment_t *env
- ,axis2_description_operation_t *operation_desc
+axis2_status_t axis2_description_operation_ops_set_parent
+ (axis2_environment_t *env ,axis2_description_operation_t *operation_desc
, axis2_description_service_t *service_desc)
{
- if(operation_desc && service_desc){
- operation_desc->parent = service_desc;
- return AXIS2_SUCCESS;
+ if(!operation_desc || !service_desc)
+ {
+ return AXIS2_ERROR_INVALID_NULL_PARAMETER;
}
- return AXIS2_ERROR_INVALID_NULL_PARAMETER;
+ operation_desc->parent = service_desc;
+ return AXIS2_SUCCESS;
}
axis2_description_service_t *axis2_description_ops_operation_ops_get_parent
(axis2_environment_t *env
, axis2_description_operation_t *operation_desc)
{
- if(operation_desc)
- return operation_desc->parent;
- else return NULL;
+ if(!operation_desc)
+ {
+ env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
+ return NULL;
+ }
+ return operation_desc->parent;
+}
+
+axis2_qname_t *axis2_description_operation_ops_get_name
+ (axis2_environment_t *env, axis2_description_operation_t *operation_desc)
+{
+ if(!operation_desc)
+ {
+ env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
+ return NULL;
+ }
+ return operation_desc->name;
+}
+
+axis2_status_t axis2_description_operation_ops_set_msg_exchange_pattern
+ (axis2_environment_t *env, axis2_description_operation_t *operation_desc
+ , axis2_char_t *pattern)
+{
+ if(!operation_desc)
+ {
+ return AXIS2_ERROR_INVALID_NULL_PARAMETER;
+ }
+ operation_desc->msg_exchange_pattern = axis2_strdup(env->string, pattern);
+ if(!operation_desc->msg_exchange_pattern)
+ return AXIS2_ERROR_NO_MEMORY;
+ return AXIS2_SUCCESS;
+}
+
+axis2_char_t *axis2_description_operation_ops_get_msg_exchange_pattern
+ (axis2_environment_t *env, axis2_description_operation_t *operation_desc)
+{
+ if(!operation_desc)
+ {
+ env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
+ return NULL;
+ }
+ return operation_desc->msg_exchange_pattern;
+}
+
+axis2_status_t axis2_description_operation_ops_set_msg_receiver
+ (axis2_environment_t *env, axis2_description_operation_t *operation_desc
+ , axis2_engine_msg_receiver_t *msg_receiver)
+{
+ if(!operation_desc)
+ {
+ return AXIS2_ERROR_INVALID_NULL_PARAMETER;
+ }
+ operation_desc->msg_receiver = msg_receiver;
+ if(!operation_desc->msg_receiver)
+ return AXIS2_ERROR_NO_MEMORY;
+ return AXIS2_SUCCESS;
+}
+
+axis2_engine_msg_receiver_t *axis2_description_operation_ops_get_msg_receiver
+ (axis2_environment_t *env, axis2_description_operation_t *operation_desc)
+{
+ if(!operation_desc)
+ {
+ env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
+ return NULL;
+ }
+ return operation_desc->msg_receiver;
}
Modified: webservices/axis2/trunk/c/modules/core/description/src/axis2_description_param_include.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/description/src/axis2_description_param_include.c?rev=326780&r1=326779&r2=326780&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/src/axis2_description_param_include.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/src/axis2_description_param_include.c Wed Oct 19 19:47:09 2005
@@ -119,13 +119,9 @@
, axis2_description_param_include_t *param_include
, const axis2_description_param_t *param)
{
- if(!param_include)
+ if(!param_include || !param)
{
return AXIS2_ERROR_INVALID_NULL_PARAMETER;
- }
- if(!param)
- {
- return AXIS2_ERROR_INVALID_NULL_PARAMETER;
}
if (!(param_include->params))
{
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=326780&r1=326779&r2=326780&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 Wed Oct 19 19:47:09 2005
@@ -10,7 +10,8 @@
axis2_description_service_ops_t *ops;
axis2_description_param_include_t *param_include;
axis2_description_servicegroup_t *parent;
- axis2_hash_t *wasaction_opeartionmap;
+ axis2_hash_t *wasaction_opeartionmap;
+ axis2_qname_t *qname;
};
@@ -19,10 +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_operation
- (axis2_environment_t *env, axis2_description_service_t *service_desc
- , axis2_description_operation_t *operation_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);
@@ -34,6 +31,10 @@
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);
+
axis2_description_operation_t *
axis2_description_service_ops_get_operation_with_qname(
axis2_environment_t *env, axis2_description_service_t *service_desc
@@ -46,7 +47,7 @@
axis2_hash_t *axis2_description_service_ops_get_operations(
axis2_environment_t *env, axis2_description_service_t *service_desc);
-
+
axis2_status_t axis2_description_service_ops_set_parent(axis2_environment_t *env
, axis2_description_service_t *service_desc
,axis2_description_servicegroup_t *servicegroup_desc);
@@ -57,18 +58,88 @@
/************************* End of function pointers ***************************/
axis2_description_service_ops_t * axis2_description_service_get_ops
+ (axis2_environment_t *env, axis2_description_service_t *service_desc)
+{
+ if(!service_desc)
+ {
+ env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
+ return NULL;
+ }
+ return service_desc->ops;
+}
+
+axis2_description_service_t *axis2_description_service_create
(axis2_environment_t *env)
{
- return NULL;
+ axis2_description_service_t *service_desc = (axis2_description_service_t *)
+ axis2_malloc (env->allocator, sizeof(axis2_description_service_t));
+ if(!service_desc)
+ {
+ env->error->errorno = AXIS2_ERROR_NO_MEMORY;
+ return NULL;
+ }
+ axis2_description_service_ops_t *ops = (axis2_description_service_ops_t *)
+ axis2_malloc (env->allocator, sizeof(axis2_description_service_ops_t));
+ if(!ops)
+ {
+ env->error->errorno = AXIS2_ERROR_NO_MEMORY;
+ return NULL;
+ }
+ ops->free = axis2_description_service_ops_free;
+ ops->add_operation = axis2_description_service_ops_add_operation;
+ ops->add_param = axis2_description_service_ops_add_param;
+ ops->get_param = axis2_description_service_ops_get_param;
+ ops->get_params = axis2_description_service_ops_get_params;
+ ops->get_operation_with_qname =
+ axis2_description_service_ops_get_operation_with_qname;
+ ops->get_operation_with_name =
+ axis2_description_service_ops_get_operation_with_name;
+ ops->get_operations = axis2_description_service_ops_get_operations;
+ ops->set_parent = axis2_description_service_ops_set_parent;
+ ops->get_parent = axis2_description_service_ops_get_parent;
+
+ service_desc->ops = ops;
+
+ axis2_description_param_include_t *param_include
+ = (axis2_description_param_include_t *)
+ axis2_description_param_include_create(env);
+ if(!param_include)
+ {
+ env->error->errorno = AXIS2_ERROR_NO_MEMORY;
+ return NULL;
+ }
+
+ service_desc->param_include = param_include;
+
+ service_desc->parent = NULL;
+
+ service_desc->wasaction_opeartionmap = axis2_hash_make (env);
+ if(!service_desc->wasaction_opeartionmap)
+ {
+ env->error->errorno = AXIS2_ERROR_NO_MEMORY;
+ return NULL;
+ }
+ service_desc->qname = NULL;
+
+ return service_desc;
}
axis2_description_service_t *axis2_description_service_create_with_qname
- (axis2_environment_t *env)
+ (axis2_environment_t *env, axis2_qname_t *qname)
{
- return NULL;
+ axis2_description_service_t *service_desc =
+ axis2_description_service_create(env);
+ if(!service_desc)
+ {
+ env->error->errorno = AXIS2_ERROR_NO_MEMORY;
+ return NULL;
+ }
+ service_desc->qname = axis2_strdup(env->string, qname);
+
+ return service_desc;
}
-/******************************************************************************/
+/********************** Start of function implementations ********************/
axis2_status_t axis2_description_service_ops_free
(axis2_environment_t *env, axis2_description_service_t *service_desc)
@@ -78,31 +149,73 @@
return AXIS2_SUCCESS;
}
-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)
-{
- return AXIS2_ERROR_INVALID_NULL_PARAMETER;
-}
-
axis2_status_t axis2_description_service_ops_add_param(axis2_environment_t *env
- , axis2_description_service_t *operation_desc
+ , axis2_description_service_t *service_desc
, axis2_description_param_t *param)
{
- return NULL;
+ 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)
{
- return NULL;
+ 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)
{
- return NULL;
+ 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
+ , axis2_description_operation_t *operation_desc)
+{
+ if(!service_desc || !operation_desc)
+ {
+ return AXIS2_ERROR_INVALID_NULL_PARAMETER;
+ }
+ if (!(service_desc->wasaction_opeartionmap))
+ {
+ service_desc->wasaction_opeartionmap = axis2_hash_make (env);
+ }
+ axis2_hash_set (service_desc->wasaction_opeartionmap
+ , axis2_description_operation_get_name(env, operation_desc)
+ , AXIS2_HASH_KEY_STRING, operation_desc);
+
+ return AXIS2_SUCCESS;
}
axis2_description_operation_t
@@ -110,7 +223,11 @@
(axis2_environment_t *env, axis2_description_service_t *service_desc
, axis2_qname_t *operation_name)
{
- return NULL;
+ if(!service_desc || !service_desc->wasaction_opeartionmap)
+ {
+ env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
+ return NULL;
+ }
}
axis2_description_operation_t
@@ -118,24 +235,43 @@
(axis2_environment_t *env, axis2_description_service_t *service_desc
, const axis2_char_t* name)
{
- return NULL;
+ if(!service_desc || !service_desc->wasaction_opeartionmap)
+ {
+ env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
+ return NULL;
+ }
}
axis2_hash_t *axis2_description_service_ops_get_operations
(axis2_environment_t *env, axis2_description_service_t *service_desc)
{
- return NULL;
+ if(!service_desc)
+ {
+ env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
+ return NULL;
+ }
+ return service_desc->wasaction_opeartionmap;
}
-axis2_status_t axis2_description_operation_ops_set_parent
+axis2_status_t axis2_description_service_ops_set_parent
(axis2_environment_t *env, axis2_description_service_t *service_desc
,axis2_description_servicegroup_t *servicegroup_desc)
{
- return NULL;
+ if(!service_desc || !servicegroup_desc)
+ {
+ return AXIS2_ERROR_INVALID_NULL_PARAMETER;
+ }
+ service_desc->parent = servicegroup_desc;
+ return AXIS2_SUCCESS;
}
axis2_description_servicegroup_t *axis2_description_service_ops_get_parent
(axis2_environment_t *env, axis2_description_service_t *service_desc)
{
- return NULL;
+ if(!service_desc || !service_desc->parent)
+ {
+ env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
+ return NULL;
+ }
+ return service_desc->parent;
}
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=326780&r1=326779&r2=326780&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 Wed Oct 19 19:47:09 2005
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
#include <axis2_description_servicegroup.h>
/** @struct axis2_description_servicegroup_s
Modified: webservices/axis2/trunk/c/modules/core/engine/src/Makefile.am
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/engine/src/Makefile.am?rev=326780&r1=326779&r2=326780&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/engine/src/Makefile.am (original)
+++ webservices/axis2/trunk/c/modules/core/engine/src/Makefile.am Wed Oct 19 19:47:09 2005
@@ -1,6 +1,6 @@
noinst_LTLIBRARIES = libengine.la
AM_CPPFLAGS = $(CPPFLAGS)
-libengine_la_SOURCES = axis2_engine_config.c
+libengine_la_SOURCES = axis2_engine_config.c axis2_engine_msg_receiver.c
libengine_la_LIBADD = $(LDFLAGS)
INCLUDES = -I$(APR_HOME)/include/apr-1 -I${CUTEST_HOME}/include -I../../../xml/guththila/src -I../../../../include
Modified: webservices/axis2/trunk/c/modules/core/engine/src/Makefile.in
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/engine/src/Makefile.in?rev=326780&r1=326779&r2=326780&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/engine/src/Makefile.in (original)
+++ webservices/axis2/trunk/c/modules/core/engine/src/Makefile.in Wed Oct 19 19:47:09 2005
@@ -55,7 +55,8 @@
LTLIBRARIES = $(noinst_LTLIBRARIES)
am__DEPENDENCIES_1 =
libengine_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_libengine_la_OBJECTS = axis2_engine_config.lo
+am_libengine_la_OBJECTS = axis2_engine_config.lo \
+ axis2_engine_msg_receiver.lo
libengine_la_OBJECTS = $(am_libengine_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/conftools/depcomp
@@ -183,7 +184,7 @@
target_vendor = @target_vendor@
noinst_LTLIBRARIES = libengine.la
AM_CPPFLAGS = $(CPPFLAGS)
-libengine_la_SOURCES = axis2_engine_config.c
+libengine_la_SOURCES = axis2_engine_config.c axis2_engine_msg_receiver.c
libengine_la_LIBADD = $(LDFLAGS)
INCLUDES = -I$(APR_HOME)/include/apr-1 -I${CUTEST_HOME}/include -I../../../xml/guththila/src -I../../../../include
all: all-am
@@ -238,6 +239,7 @@
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/axis2_engine_config.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/axis2_engine_msg_receiver.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
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=326780&r1=326779&r2=326780&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 Wed Oct 19 19:47:09 2005
@@ -1 +1,17 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
#include <axis2_engine_config.h>
Added: webservices/axis2/trunk/c/modules/core/engine/src/axis2_engine_msg_receiver.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/engine/src/axis2_engine_msg_receiver.c?rev=326780&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/core/engine/src/axis2_engine_msg_receiver.c (added)
+++ webservices/axis2/trunk/c/modules/core/engine/src/axis2_engine_msg_receiver.c Wed Oct 19 19:47:09 2005
@@ -0,0 +1,94 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <axis2_engine_msg_receiver.h>
+
+/**
+ * @struct axis2_engine_msg_receiver_s
+ * @brief ENGINE msg_receiver
+ * This holds the information about msg_receiver.
+ */
+struct axis2_engine_msg_receiver_s
+{
+ axis2_engine_msg_receiver_ops_t *ops;
+};
+
+/*************************** Function headers *********************************/
+
+axis2_status_t axis2_engine_msg_receiver_ops_free (axis2_environment_t *env
+ , axis2_engine_msg_receiver_t *msg_receiver);
+
+axis2_status_t axis2_engine_msg_receiver_ops_receive (axis2_environment_t *env
+ , axis2_engine_msg_receiver_t *msg_receiver
+ , axis2_context_msg_ctx_t *msg_ctx);
+
+/************************* End of function headers ****************************/
+
+axis2_engine_msg_receiver_t *axis2_engine_msg_receiver_get_ops
+ (axis2_environment_t *env, axis2_engine_msg_receiver_t *msg_receiver)
+{
+ if(!msg_receiver)
+ {
+ env->error->errorno = AXIS2_ERROR_INVALID_NULL_PARAMETER;
+ return NULL;
+ }
+ return (axis2_engine_msg_receiver_t *) msg_receiver->ops;
+}
+
+axis2_engine_msg_receiver_t *axis2_engine_msg_receiver_create
+ (axis2_environment_t *env)
+{
+ axis2_engine_msg_receiver_ops_t *ops = NULL;
+ axis2_engine_msg_receiver_t *msg_receiver =
+ (axis2_engine_msg_receiver_t *) axis2_malloc (env->allocator
+ , sizeof (axis2_engine_msg_receiver_t));
+ if(!msg_receiver)
+ {
+ env->error->errorno = AXIS2_ERROR_NO_MEMORY;
+ return NULL;
+ }
+ ops = (axis2_engine_msg_receiver_ops_t *) axis2_malloc(env->allocator,
+ sizeof(axis2_engine_msg_receiver_ops_t));
+ if(!ops)
+ {
+ env->error->errorno = AXIS2_ERROR_NO_MEMORY;
+ return NULL;
+ }
+ ops->free = axis2_engine_msg_receiver_ops_free;
+
+ msg_receiver->ops = ops;
+
+ return msg_receiver;
+}
+
+/******************************************************************************/
+
+axis2_status_t axis2_engine_msg_receiver_ops_free (axis2_environment_t *env
+ , axis2_engine_msg_receiver_t *msg_receiver)
+{
+ if(msg_receiver){
+ free(msg_receiver);
+ return AXIS2_SUCCESS;
+ }
+ return AXIS2_ERROR_UNALLOCATED_MEMEORY_RELEASE_REQUESTED;
+}
+
+axis2_status_t axis2_engine_msg_receive(axis2_environment_t *env
+ , axis2_engine_msg_receiver_t *msg_receiver
+ , axis2_context_msg_ctx_t *msg_ctx)
+{
+ return AXIS2_SUCCESS;
+}