You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by da...@apache.org on 2005/12/02 06:14:51 UTC

svn commit: r351594 [1/5] - in /webservices/axis2/trunk/c: ./ ides/anjuta/ include/ modules/core/context/src/ modules/core/description/src/ modules/core/engine/src/ modules/core/phaseresolver/src/ modules/core/phaseresolver/src/.deps/ modules/core/tran...

Author: damitha
Date: Thu Dec  1 21:13:39 2005
New Revision: 351594

URL: http://svn.apache.org/viewcvs?rev=351594&view=rev
Log:
Description module and wsdl module is not compiling. All the files
and code now are in place. Need some refactoring

Modified:
    webservices/axis2/trunk/c/INSTALL
    webservices/axis2/trunk/c/configure
    webservices/axis2/trunk/c/ides/anjuta/axis2c.prj
    webservices/axis2/trunk/c/include/axis2.h
    webservices/axis2/trunk/c/include/axis2_engine_config.h
    webservices/axis2/trunk/c/include/axis2_error.h
    webservices/axis2/trunk/c/include/axis2_flow_container.h
    webservices/axis2/trunk/c/include/axis2_module_desc.h
    webservices/axis2/trunk/c/include/axis2_msg_ctx.h
    webservices/axis2/trunk/c/include/axis2_operation.h
    webservices/axis2/trunk/c/include/axis2_phase_holder.h
    webservices/axis2/trunk/c/include/axis2_phase_meta.h
    webservices/axis2/trunk/c/include/axis2_phase_resolver.h
    webservices/axis2/trunk/c/include/axis2_phase_rule.h
    webservices/axis2/trunk/c/include/axis2_svc.h
    webservices/axis2/trunk/c/include/axis2_svc_grp.h
    webservices/axis2/trunk/c/include/axis2_transport_in_desc.h
    webservices/axis2/trunk/c/include/axis2_transport_out_desc.h
    webservices/axis2/trunk/c/include/axis2_wsdl_binding_operation.h
    webservices/axis2/trunk/c/include/axis2_wsdl_component.h
    webservices/axis2/trunk/c/include/axis2_wsdl_interface.h
    webservices/axis2/trunk/c/include/axis2_wsdl_svc.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/Makefile.am
    webservices/axis2/trunk/c/modules/core/description/src/Makefile.in
    webservices/axis2/trunk/c/modules/core/description/src/description.h
    webservices/axis2/trunk/c/modules/core/description/src/flow_container.c
    webservices/axis2/trunk/c/modules/core/description/src/module_desc.c
    webservices/axis2/trunk/c/modules/core/description/src/operation.c
    webservices/axis2/trunk/c/modules/core/description/src/phase_rule.c
    webservices/axis2/trunk/c/modules/core/description/src/svc.c
    webservices/axis2/trunk/c/modules/core/description/src/svc_grp.c
    webservices/axis2/trunk/c/modules/core/description/src/transport_out_desc.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/engine_config.c
    webservices/axis2/trunk/c/modules/core/phaseresolver/src/.deps/phase_holder.Plo
    webservices/axis2/trunk/c/modules/core/phaseresolver/src/Makefile.am
    webservices/axis2/trunk/c/modules/core/phaseresolver/src/Makefile.in
    webservices/axis2/trunk/c/modules/core/phaseresolver/src/phase_holder.c
    webservices/axis2/trunk/c/modules/core/phaseresolver/src/phase_resolver.c
    webservices/axis2/trunk/c/modules/core/transport/axis2_transport_listener.h
    webservices/axis2/trunk/c/modules/test/om/src/test_om.c
    webservices/axis2/trunk/c/modules/wsdl/src/Makefile.am
    webservices/axis2/trunk/c/modules/wsdl/src/Makefile.in
    webservices/axis2/trunk/c/modules/wsdl/src/wsdl.h
    webservices/axis2/trunk/c/modules/wsdl/src/wsdl_binding_operation.c
    webservices/axis2/trunk/c/modules/wsdl/src/wsdl_component.c
    webservices/axis2/trunk/c/modules/wsdl/src/wsdl_interface.c

Modified: webservices/axis2/trunk/c/INSTALL
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/INSTALL?rev=351594&r1=351593&r2=351594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/INSTALL (original)
+++ webservices/axis2/trunk/c/INSTALL Thu Dec  1 21:13:39 2005
@@ -234,3 +234,17 @@
 `configure' also accepts some other, not widely useful, options.  Run
 `configure --help' for more details.
 
+Axis2 specific installation instructions
+=======================================
+
+User can select the parser between Guththila and
+libxml2. This can be done using a configure option
+
+configure --with-pull-parser=PARSER      build the pull parser wrapper library. PARSER=libxml2/guththila
+
+For example if user want to build the wrapper for libxml2
+
+configure --with-pull-parser=libxml2
+
+Currently only compile time parser abstraction is supported. ie. User need to decide which parser to
+use at compile time. Dynamic parser change will be supported with the next release

Modified: webservices/axis2/trunk/c/configure
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/configure?rev=351594&r1=351593&r2=351594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/configure (original)
+++ webservices/axis2/trunk/c/configure Thu Dec  1 21:13:39 2005
@@ -22469,7 +22469,7 @@
 PULL_PARSER=$want_parser
 
 
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ac_config_files="$ac_config_files Makefile modules/Makefile modules/core/Makefile modules/core/context/Makefile modules/core/context/src/Makefile modules/core/context/test/Makefile modules/core/description/Makefile modules/core/description/src/Makefile modules/core/description/test/Makefile modules/core/engine/Makefile modules/core/engine/src/Makefile modules/core/engine/test/Makefile modules/core/handlers/Makefile modules/core/handlers/src/Makefile modules/core/phaseresolver/Makefile modules/core/phaseresolver/src/Makefile modules/core/transport/Makefile modules/xml/Makefile modules/xml/parser/Makefile modules/xml/parser/guththila/Makefile modules/xml/parser/guththila/impl/Makefile modules/xml/parser/guththila/impl/src/Makefile modules/xml/parser/guththila/src/Makefile modules/xml/parser/guththila/test/Makefile modules/xml/parser/libxml2/Makefile modules/xml/parser/libxml2/src/Makefile modules/xml/parser/libxml2/test/Makefile modules/xml/soap/Makefile modules/xml/soap/src/Makefile modules/xml/om/Makefile modules/xml/om/src/Makefile modules/xml/om/test/Makefile modules/common/Makefile modules/common/src/Makefile modules/common/test/Makefile modules/util/Makefile modules/util/src/Makefile modules/util/test/Makefile modules/wsdl/Makefile modules/wsdl/src/Makefile modules/wsdl/test/Makefile modules/test/Makefile modules/test/om/Makefile modules/test/om/src/Makefile modules/test/common/Makefile modules/test/core/Makefile modules/test/core/handlers/Makefile modules/test/util/Makefile modules/test/unit/Makefile"
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ac_config_files="$ac_config_files Makefile modules/Makefile modules/core/Makefile modules/core/context/Makefile modules/core/context/src/Makefile modules/core/context/test/Makefile modules/core/description/Makefile modules/core/description/src/Makefile modules/core/description/test/Makefile modules/core/engine/Makefile modules/core/engine/src/Makefile modules/core/engine/test/Makefile modules/core/handlers/Makefile modules/core/handlers/src/Makefile modules/core/addr/Makefile modules/core/addr/src/Makefile modules/core/phaseresolver/Makefile modules/core/phaseresolver/src/Makefile modules/core/transport/Makefile modules/xml/Makefile modules/xml/parser/Makefile modules/xml/parser/guththila/Makefile modules/xml/parser/guththila/impl/Makefile modules/xml/parser/guththila/impl/src/Makefile modules/xml/parser/guththila/src/Makefile modules/xml/parser/guththila/test/Makefile modules/xml/parser/libxml2/Makefile modules/xml/parser/libxml2/src/Makefile modules/xml/parser/libxml2/test/Makefile modules/xml/soap/Makefile modules/xml/soap/src/Makefile modules/xml/om/Makefile modules/xml/om/src/Makefile modules/xml/om/test/Makefile modules/common/Makefile modules/common/src/Makefile modules/common/test/Makefile modules/util/Makefile modules/util/src/Makefile modules/util/test/Makefile modules/wsdl/Makefile modules/wsdl/src/Makefile modules/wsdl/test/Makefile modules/test/Makefile modules/test/om/Makefile modules/test/om/src/Makefile modules/test/common/Makefile modules/test/core/Makefile modules/test/core/handlers/Makefile modules/test/util/Makefile modules/test/unit/Makefile"
 
 
 cat >confcache <<\_ACEOF
@@ -23077,6 +23077,8 @@
   "modules/core/engine/test/Makefile" ) CONFIG_FILES="$CONFIG_FILES modules/core/engine/test/Makefile" ;;
   "modules/core/handlers/Makefile" ) CONFIG_FILES="$CONFIG_FILES modules/core/handlers/Makefile" ;;
   "modules/core/handlers/src/Makefile" ) CONFIG_FILES="$CONFIG_FILES modules/core/handlers/src/Makefile" ;;
+  "modules/core/addr/Makefile" ) CONFIG_FILES="$CONFIG_FILES modules/core/addr/Makefile" ;;
+  "modules/core/addr/src/Makefile" ) CONFIG_FILES="$CONFIG_FILES modules/core/addr/src/Makefile" ;;
   "modules/core/phaseresolver/Makefile" ) CONFIG_FILES="$CONFIG_FILES modules/core/phaseresolver/Makefile" ;;
   "modules/core/phaseresolver/src/Makefile" ) CONFIG_FILES="$CONFIG_FILES modules/core/phaseresolver/src/Makefile" ;;
   "modules/core/transport/Makefile" ) CONFIG_FILES="$CONFIG_FILES modules/core/transport/Makefile" ;;

Modified: webservices/axis2/trunk/c/ides/anjuta/axis2c.prj
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/ides/anjuta/axis2c.prj?rev=351594&r1=351593&r2=351594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/ides/anjuta/axis2c.prj (original)
+++ webservices/axis2/trunk/c/ides/anjuta/axis2c.prj Thu Dec  1 21:13:39 2005
@@ -100,7 +100,6 @@
 	modules/xml/guththila/src/guththila_stack.h\
 	modules/xml/guththila/src/guththila_token.h\
 	modules/xml/guththila/src/guththila_unicode.h\
-	modules/xml/guththila/src/guththila_xml_stream_writer.h\
 	modules/xml/guththila/src/guththila_xml_pull_parser.h\
 	include/axis2_core.h\
 	include/axis2_wsdl_operation.h\
@@ -145,7 +144,17 @@
 	include/axis2_transport_in_desc.h\
 	include/axis2_transport_out_desc.h\
 	include/axis2_phase_rule.h\
-	modules/wsdl/src/wsdl.h
+	modules/wsdl/src/wsdl.h\
+	include/axis2_wsdl_extensible_element.h\
+	include/axis2_wsdl_soap_operation.h\
+	include/axis2_phase_holder.h\
+	include/axis2_phase_resolver.h\
+	include/axis2_phase.h\
+	include/axis2_phase_meta.h\
+	include/axis2_ctx.h\
+	modules/xml/parser/axis2_pull_parser.h\
+	modules/core/transport/axis2_transport_listener.h\
+	modules/core/transport/axis2_transport_sender.h
 
 module.source.name=.
 module.source.type=
@@ -221,7 +230,14 @@
 	modules/core/description/src/module_desc.c\
 	modules/core/description/src/transport_in_desc.c\
 	modules/core/description/src/transport_out_desc.c\
-	modules/core/description/src/phase_rule.c
+	modules/core/description/src/phase_rule.c\
+	modules/wsdl/src/wsdl_extensible_element.c\
+	modules/wsdl/src/wsdl_soap_operation.c\
+	modules/core/phaseresolver/src/phase_holder.c\
+	modules/core/phaseresolver/src/phase_resolver.c\
+	modules/core/context/src/ctx.c\
+	modules/xml/parser/guththila/impl/src/guththila_xml_stream_writer.c\
+	modules/core/engine/src/phase.c
 
 module.pixmap.name=.
 module.pixmap.type=

Modified: webservices/axis2/trunk/c/include/axis2.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2.h?rev=351594&r1=351593&r2=351594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2.h (original)
+++ webservices/axis2/trunk/c/include/axis2.h Thu Dec  1 21:13:39 2005
@@ -95,6 +95,210 @@
   *  @{
  */
 
+/******************************************************************************/
+/********************Axis2 specific constants**********************************/
+/******************************************************************************/
+/**
+ * Field SOAP_STYLE_RPC_ENCODED
+ */
+/* static const int SOAP_STYLE_RPC_ENCODED = 1000;*/
+
+/**
+ * Field SOAP_STYLE_RPC_LITERAL
+ */
+/*static const int SOAP_STYLE_RPC_LITERAL = 1001; */
+
+/**
+ * Field SOAP_STYLE_DOC_LITERAL_WRAPPED
+ */
+/* static const int SOAP_STYLE_DOC_LITERAL_WRAPPED = 1002; */
+
+/**
+ * Field APPLICATION_SCOPE
+ */
+/* static const axis2_char_t * APPLICATION_SCOPE = "application"; */
+
+/**
+ * Field SESSION_SCOPE
+ */
+/* static const axis2_char_t * SESSION_SCOPE = "session"; */
+
+/**
+ * Field GLOBAL_SCOPE
+ */
+/* static const axis2_char_t * MESSAGE_SCOPE = "message"; */
+
+/**
+ * Field PHASE_SERVICE
+ */
+/* static const axis2_char_t * PHASE_SERVICE = "service"; */
+
+/**
+ * Field PHASE_TRANSPORT
+ */
+/* static const axis2_char_t * PHASE_TRANSPORT = "transport"; */
+
+/**
+ * Field PHASE_GLOBAL
+ */
+/* static const axis2_char_t * PHASE_GLOBAL = "global"; */
+
+/**
+ * Field SESSION_CONTEXT_PROPERTY
+ */
+/* static const axis2_char_t * SESSION_CONTEXT_PROPERTY = "SessionContext"; */
+
+/**
+ * Field TRANSPORT_TCP
+ */
+/* static const axis2_char_t * TRANSPORT_TCP = "tcp"; */
+
+/**
+ * Field TRANSPORT_HTTP
+ */
+/* static const axis2_char_t * TRANSPORT_HTTP = "http"; */
+
+
+
+/* static const axis2_char_t * TRANSPORT_MAIL = "mail"; */
+
+/* static const axis2_char_t * TRANSPORT_JMS = "jms"; */
+
+/* static const axis2_char_t * TRANSPORT_LOCAL = "local"; */
+
+/**
+ * Field LISTSERVICES
+ */
+/* static const axis2_char_t * REQUEST_URL_PREFIX = "/services"; */
+
+/* static const axis2_char_t * LISTSERVICES = "listServices"; */
+
+/* static const axis2_char_t * LIST_SERVICE_FOR_MODULE_ENGAMNET = "listoperation"; */
+
+
+/**
+ * List service for adminpagse
+ */
+/* static const axis2_char_t * ADMIN_LISTSERVICES = "listService"; */
+
+/* static const axis2_char_t * LIST_MODULES = "listModules"; */
+
+/* static const axis2_char_t * LIST_GLOABLLY_ENGAGED_MODULES = "globalModules"; */
+
+/* static const axis2_char_t * LIST_PHASES = "listPhases"; */
+
+/* static const axis2_char_t * ENGAGE_GLOBAL_MODULE = "engagingglobally"; */
+/* static const axis2_char_t * ENGAGE_MODULE_TO_SERVICE = "engageToService"; */
+
+/* static const axis2_char_t * ENGAGE_MODULE_TO_SERVICE_GROUP = "engageToServiceGroup"; */
+
+/* static const axis2_char_t * ADMIN_LOGIN = "adminlogin"; */
+
+/* static const axis2_char_t * LIST_CONTEXTS = "listContexts"; */
+/* static const axis2_char_t * LOGOUT = "logout"; */
+
+/* static const axis2_char_t * VIEW_GLOBAL_HANDLERS = "viewGlobalHandlers"; */
+/* static const axis2_char_t * SELECT_SERVICE = "selectService"; */
+/* static const axis2_char_t * EDIR_SERVICE_PARA = "editServicepara"; */
+/* static const axis2_char_t * SELECT_SERVICE_FOR_PARA_EDIT = "selectServiceParaEdit"; */
+/* static const axis2_char_t * VIEW_SERVICE_HANDLERS = "viewServiceHandlers"; */
+/* static const axis2_char_t * LIST_SERVIC_GROUPS = "listServciceGroups"; */
+
+/**
+ * Field SERVICE_MAP
+ */
+/* static const axis2_char_t * SERVICE_MAP = "servicemap"; */
+/* static const axis2_char_t * SERVICE_GROUP_MAP = "serviceGroupmap"; */
+
+/* static const axis2_char_t * CONFIG_CONTEXT = "config_context"; */
+
+/* static const axis2_char_t * SERVICE = "service"; */
+
+/* static const axis2_char_t * OPEARTION_MAP = "operationmap"; */
+/**
+ * Field Available modules
+ */
+/* static const axis2_char_t * MODULE_MAP = "modulemap"; */
+
+/* static const axis2_char_t * SELECT_SERVICE_TYPE = "SELECT_SERVICE_TYPE"; */
+
+/* static const axis2_char_t * GLOBAL_HANDLERS = "axisconfig"; */
+/* static const axis2_char_t * SERVICE_HANDLERS = "serviceHandlers"; */
+
+/* static const axis2_char_t * PHASE_LIST = "phaseList"; */
+
+/* static const axis2_char_t * LIST_OPERATIONS_FOR_THE_SERVICE = "listOperations"; */
+
+/* static const axis2_char_t * REMOVE_SERVICE = "removeService"; */
+
+/* static const axis2_char_t * ENGAGE_STATUS = "engagestatus"; */
+
+/**
+ * Errorness servcie
+ */
+/* static const axis2_char_t * ERROR_SERVICE_MAP = "errprservicemap"; */
+/* static const axis2_char_t * ERROR_MODULE_MAP = "errormodulesmap"; */
+
+/* static const axis2_char_t * IS_FAULTY = "Fault"; */
+
+/* static const axis2_char_t * MODULE_ADDRESSING = "addressing"; */
+
+/* static const axis2_char_t * USER_NAME = "userName"; */
+/* static const axis2_char_t * PASSWORD = "password"; */
+
+/**
+ * Field SINGLE_SERVICE
+ */
+/* static const axis2_char_t * SINGLE_SERVICE = "singleservice"; */
+/* static const axis2_char_t * WSDL_CONTENT = "wsdl"; */
+
+/**
+ * Field METHOD_NAME_ESCAPE_CHARACTOR
+ */
+/* static const char METHOD_NAME_ESCAPE_CHARACTOR = '?'; */
+
+/* static const axis2_char_t * LOGGED = "Logged"; */
+
+
+/* static const char SERVICE_NAME_SPLIT_CHAR =':'; */
+
+
+/*********************Configuration *******************************************/
+
+/* static const axis2_char_t * ENABLE_REST = "enableREST"; */
+/* static const axis2_char_t * ENABLE_REST_THROUGH_GET="restThroughGet"; */
+/* globally enable MTOM */
+/* static const axis2_char_t * ENABLE_MTOM = "enableMTOM"; */
+/* static const axis2_char_t * ATTACHMENT_TEMP_DIR = "attachmentDIR"; */
+/* static const axis2_char_t * CACHE_ATTACHMENTS = "cacheAttachments"; */
+/* static const axis2_char_t * FILE_SIZE_THRESHOLD = "sizeThreshold"; */
+
+/******************************************************************************/
+
+/* static const axis2_char_t * VALUE_TRUE = "true"; */
+/* static const axis2_char_t * VALUE_FALSE = "false"; */
+/* static const axis2_char_t * CONTAINER_MANAGED = "ContainerManaged"; */
+/* static const axis2_char_t * RESPONSE_WRITTEN = "CONTENT_WRITTEN"; */
+ static const axis2_char_t * WSA_ACTION = "wsamapping";
+
+
+/* static const axis2_char_t * TESTING_PATH = "target/test-resources/"; */
+
+/* static const axis2_char_t * TESTING_REPOSITORY = "target/test-resources/samples"; */
+
+
+/*************************** REST_WITH_GET ************************************/
+
+/* static const axis2_char_t * GET_PARAMETER_OPERATION = "operation"; */
+/* static const axis2_char_t * GET_PARAMETER_URL = "http://ws.apache.org/goGetWithREST"; */
+
+/******************************************************************************/
+
+
+/* static const axis2_char_t * AXIS2_NAMESPACE_PREFIX = "axis2"; */
+/* static const axis2_char_t * AXIS2_NAMESPACE_URI = "http://ws.apache.org/namespaces/axis2"; */
+
+/* static const axis2_char_t * SERVICE_GROUP_ID = "ServiceGroupId"; */    
 
 /** @} */
 

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=351594&r1=351593&r2=351594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_engine_config.h (original)
+++ webservices/axis2/trunk/c/include/axis2_engine_config.h Thu Dec  1 21:13:39 2005
@@ -26,6 +26,10 @@
 #include <axis2_core.h>
 #include <axis2_param_container.h>
 #include <axis2_svc_grp.h>
+#include <axis2_transport_in_desc.h>
+#include <axis2_transport_out_desc.h>
+#include <axis2_qname.h>
+#include <axis2_hash.h>
 
 #ifdef __cplusplus
 extern "C" 
@@ -35,58 +39,157 @@
   * @ingroup axis2_core_engine
   * @{
   */
-
-typedef struct axis2_engine_config_ops_s axis2_engine_config_ops_t;
-typedef struct axis2_engine_config_s axis2_engine_config_t;
     
-struct axis2_svc_grp_s;
-struct axis2_svc_s;
-struct axis2_operation_s;    
+struct axis2_transport_in_desc *transports_in;
+struct axis2_transport_out_desc *transports_out;
+typedef struct axis2_engine_config_ops axis2_engine_config_ops_t;
+typedef struct axis2_engine_config axis2_engine_config_t;
+    
+struct axis2_svc_grp;
+struct axis2_svc;
+struct axis2_operation;    
     
 /** 
  * @brief Engine Configuration operations struct
  * Encapsulator struct for operations of axis2_config
  */
-struct axis2_engine_config_ops_s
+struct axis2_engine_config_ops
 {
-	axis2_status_t (AXIS2_CALL *free) (axis2_engine_config_t *engine_config, 
-                                        axis2_env_t **env);
+	axis2_status_t (AXIS2_CALL *
+    free) (axis2_engine_config_t *engine_config, 
+           axis2_env_t **env);
     
-	axis2_status_t (AXIS2_CALL *add_svc_grp) (axis2_engine_config_t *engine_config, 
-                                                axis2_env_t **env, 
-                                                struct axis2_svc_grp_s *svc_grp);
-    
-	struct axis2_svc_grp_s *(AXIS2_CALL *get_svc_grp) (
-                                            axis2_engine_config_t *engine_config, 
-                                            axis2_env_t **env, 
-                                            const axis2_char_t *svc_grp_name);
-    
-	axis2_status_t (AXIS2_CALL *add_svc) (axis2_engine_config_t *engine_config, 
-                                            axis2_env_t **env, 
-                                            struct axis2_svc_s* svc);
-    
-	struct axis2_svc_s *(AXIS2_CALL *get_svc) (axis2_engine_config_t *engine_config, 
-                                        axis2_env_t **env, 
-                                        const axis2_char_t* svc_name);
-    
-	axis2_status_t (AXIS2_CALL *remove_svc) (axis2_engine_config_t *engine_config, 
-                                                axis2_env_t **env, 
-                                                const axis2_char_t *name);
-    
-    axis2_status_t (AXIS2_CALL *add_param) (axis2_engine_config_t *engine_config, 
-                                                axis2_env_t **env,
-		                                        axis2_param_t *param);
-
-	axis2_param_t *(AXIS2_CALL *get_param) (axis2_engine_config_t *engine_config, 
-                                                axis2_env_t **env,
-		                                        const axis2_char_t *name);
-
-	axis2_array_list_t *(AXIS2_CALL *get_params) (axis2_engine_config_t *engine_config, 
-                                                axis2_env_t **env);
+	axis2_status_t (AXIS2_CALL *
+    add_svc_grp) (axis2_engine_config_t *engine_config, 
+                    axis2_env_t **env, 
+                    struct axis2_svc_grp *svc_grp);
+    
+	struct axis2_svc_grp *(AXIS2_CALL *
+    get_svc_grp) (  axis2_engine_config_t *engine_config, 
+                    axis2_env_t **env, 
+                    const axis2_char_t *svc_grp_name);
+ 
+    axis2_hash_t * (AXIS2_CALL *
+    get_svc_grps) (axis2_engine_config_t *engine_config, 
+                   axis2_env_t **env);
+    
+	axis2_status_t (AXIS2_CALL *
+    add_svc) (axis2_engine_config_t *engine_config, 
+                axis2_env_t **env, 
+                struct axis2_svc* svc);
+    
+	struct axis2_svc *(AXIS2_CALL *
+    get_svc) (axis2_engine_config_t *engine_config, 
+                axis2_env_t **env, 
+                const axis2_char_t* svc_name);
+    
+	axis2_status_t (AXIS2_CALL *
+    remove_svc) (axis2_engine_config_t *engine_config, 
+                    axis2_env_t **env, 
+                    const axis2_char_t *name);
+    
+    axis2_status_t (AXIS2_CALL *
+    add_param) (axis2_engine_config_t *engine_config, 
+                    axis2_env_t **env,
+                    axis2_param_t *param);
+
+	axis2_param_t *(AXIS2_CALL *
+    get_param) (axis2_engine_config_t *engine_config, 
+                axis2_env_t **env,
+                const axis2_char_t *name);
+
+	axis2_array_list_t *(AXIS2_CALL *
+    get_params) (axis2_engine_config_t *engine_config, 
+                 axis2_env_t **env);
 	
-	axis2_bool_t (AXIS2_CALL *is_param_locked) (axis2_engine_config_t *engine_config, 
-                                                axis2_env_t **env,
-		                                        const axis2_char_t *param_name);
+	axis2_bool_t (AXIS2_CALL *
+    is_param_locked) (axis2_engine_config_t *engine_config, 
+                        axis2_env_t **env,
+                        const axis2_char_t *param_name);
+                                                
+    struct axis2_transport_in_desc * (AXIS2_CALL *
+    get_transport_in)(axis2_engine_config_t *engine_config,
+                                            axis2_env_t **env,
+                                            axis2_qname_t *qname);
+    
+    /**
+     * Method addTransport
+     *
+     * @param transport
+     * @throws AxisFault
+     */
+    axis2_status_t (AXIS2_CALL *
+    add_transport_in) (axis2_engine_config_t *engine_config,
+                        axis2_env_t **env,
+                        struct axis2_transport_in_desc *transport);
+    
+    struct axis2_transport_out_desc * (AXIS2_CALL *
+    get_transport_out) (axis2_engine_config_t *engine_config,
+                        axis2_env_t **env,
+                        axis2_qname_t *qname);
+    
+    /**
+     * Method addTransport
+     *
+     * @param transport
+     * @throws AxisFault
+     */
+    axis2_status_t (AXIS2_CALL *
+    add_transport_out) (axis2_engine_config_t *engine_config,
+                                            axis2_env_t **env,
+                                            struct axis2_transport_out_desc *transport);
+    
+    axis2_hash_t * (AXIS2_CALL *
+    get_transports_in) (axis2_engine_config_t *engine_config,
+                                            axis2_env_t **env);
+    
+    axis2_hash_t * (AXIS2_CALL *
+    get_transports_out) (axis2_engine_config_t *engine_config,
+                                            axis2_env_t **env);
+    /**
+     * Method getModule
+     *
+     * @param name
+     * @return ModuleDescription
+     */
+    struct axis2_module_desc *(AXIS2_CALL *
+    get_module) (axis2_engine_config_t *engine_config,
+                                            axis2_env_t **env,
+                                            axis2_qname_t *qname);
+    
+    /**
+     * Method getEngadgedModules
+     *
+     * @return  Collection
+     */
+    axis2_array_list_t * (AXIS2_CALL *
+    get_engaged_modules) (axis2_engine_config_t *engine_config,
+                                            axis2_env_t **env);
+    
+    axis2_array_list_t * (AXIS2_CALL *
+    get_in_phases_upto_and_including_post_dispatch) (
+                                                axis2_engine_config_t *engine_config,
+                                                axis2_env_t **env);
+    
+    axis2_array_list_t * (AXIS2_CALL *
+    get_outflow) (axis2_engine_config_t *engine_config,
+                                            axis2_env_t **env);
+    
+    
+    /**
+     * @return ArrayList
+     */
+    axis2_array_list_t * (AXIS2_CALL *
+    get_in_fault_flow) (axis2_engine_config_t *engine_config,
+                                            axis2_env_t **env);
+    
+    /**
+     * @return ArrayList
+     */
+    axis2_array_list_t * (AXIS2_CALL *
+    get_out_fault_flow) (axis2_engine_config_t *engine_config,
+                                            axis2_env_t **env);                                        
+                                                
 };
 
 /**
@@ -97,9 +200,10 @@
  * Service states kept in the <code>MessageContext</code>. Other runtime
  * artifacts does not keep states forward from the execution.
  */
-struct axis2_engine_config_s
+struct axis2_engine_config
 {
 	axis2_engine_config_ops_t *ops;
+    axis2_param_container_t *param_container;
 };
 
 /** create Engine configuration struct
@@ -119,6 +223,9 @@
 #define AXIS2_ENGINE_CONFIG_GET_SVC_GRP(engine_config, env, svc_grp_name) \
         (engine_config->ops->get_svc_grp (engine_config, env, svc_grp_name))
 
+#define AXIS2_ENGINE_CONFIG_GET_SVC_GRPS(engine_config, env) \
+        (engine_config->ops->get_svc_grps (engine_config, env))
+
 #define AXIS2_ENGINE_CONFIG_ADD_SVC(engine_config, env, svc) \
 		(engine_config->ops->get_svc (engine_config, env, svc))
 		
@@ -140,6 +247,43 @@
 #define AXIS2_ENGINE_CONFIG_IS_PARAM_LOCKED(engine_config, env, param_name) \
         (engine_config->ops->is_param_locked(engine_config, env, param_name))
 
+#define AXIS2_ENGINE_CONFIG_GET_TRANSPORT_IN(engine_config, env, qname) \
+        (engine_config->ops->get_transport_in(engine_config , env, qname))
+
+#define AXIS2_ENGINE_CONFIG_ADD_TRANSPORT_IN(engine_config, env, transport) \
+        (engine_config->ops->add_transport_in(engine_config , env, transport))
+
+#define AXIS2_ENGINE_CONFIG_GET_TRANSPORT_OUT(engine_config, env, qname) \
+        (engine_config->ops->get_transport_out(engine_config , env, qname))
+
+#define AXIS2_ENGINE_CONFIG_ADD_TRANSPORT_OUT(engine_config, env, transport) \
+        (engine_config->ops->add_transport_out(engine_config , env, transport))
+ 
+#define AXIS2_ENGINE_CONFIG_GET_TRANSPORTS_IN(engine_config, env) \
+        (engine_config->ops->get_transports_in(engine_config , env)) 
+ 
+#define AXIS2_ENGINE_CONFIG_GET_TRANSPORTS_OUT(engine_config, env) \
+        (engine_config->ops->get_transports_out(engine_config , env)) 
+ 
+#define AXIS2_ENGINE_CONFIG_GET_MODULE(engine_config, env, qname) \
+        (engine_config->ops->get_module(engine_config , env, qname)) 
+
+#define AXIS2_ENGINE_CONFIG_GET_ENGAGED_MODULES(engine_config, env) \
+        (engine_config->ops->get_engaged_modules(engine_config , env)) 
+        
+#define AXIS2_ENGINE_CONFIG_GET_IN_PHASES_UPTO_AND_INCLUDING_POST_DISPATCH(engine_config, env) \
+        (engine_config->ops->get_in_phases_upto_and_including_post_dispatch(engine_config , env)) 
+
+#define AXIS2_ENGINE_CONFIG_GET_OUTFLOW(engine_config, env) \
+        (engine_config->ops->get_outflow(engine_config , env)) 
+        
+#define AXIS2_ENGINE_CONFIG_GET_IN_FAULT_FLOW(engine_config, env) \
+        (engine_config->ops->get_in_fault_flow(engine_config , env)) 
+
+#define AXIS2_ENGINE_CONFIG_GET_OUT_FAULT_FLOW(engine_config, env) \
+        (engine_config->ops->get_out_fault_flow(engine_config , env)) 
+
+        
 /************************* End of function macros *****************************/
 
 /** @} */

Modified: webservices/axis2/trunk/c/include/axis2_error.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_error.h?rev=351594&r1=351593&r2=351594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_error.h (original)
+++ webservices/axis2/trunk/c/include/axis2_error.h Thu Dec  1 21:13:39 2005
@@ -193,6 +193,8 @@
         AXIS2_ERROR_COULD_NOT_MAP_MEP_URI_TO_MEP_CONSTANT,
         /** module has alredy engaged to the operation operation terminated !!! */
         AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_OPERATION,
+        /** module has alredy been engaged on the service.Operation terminated !!! */
+        AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_SVC,
         /** Invalid message context state  */
         AXIS2_ERROR_INVALID_STATE_MSG_CTX,
         /** Service not yet found */
@@ -201,9 +203,17 @@
         AXIS2_ERROR_CREATING_XML_STREAM_WRITER,
         /** error occured creating xml stream writer */
         AXIS2_ERROR_CREATING_XML_STREAM_READER,
+        
+        INVALID_MODULE_REF,
+        
+        PHASE_IS_NOT_SPECIFED,
+        
+        SERVICE_MODULE_CAN_NOT_REFER_GLOBAL_PHASE,
+        
         INVALID_PHASE,
-        AXIS2_ERROR_WRITING_START_ELEMENT,
         
+        AXIS2_ERROR_WRITING_START_ELEMENT,
+    
         AXIS2_ERROR_WRITING_START_DOCUMENT,
         
         AXIS2_ERROR_WRITING_END_ELEMENT,

Modified: webservices/axis2/trunk/c/include/axis2_flow_container.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_flow_container.h?rev=351594&r1=351593&r2=351594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_flow_container.h (original)
+++ webservices/axis2/trunk/c/include/axis2_flow_container.h Thu Dec  1 21:13:39 2005
@@ -62,67 +62,67 @@
      * Get fault out flow
      * @return in flow
      */
-    axis2_flow_t *(AXIS2_CALL *get_in_flow)(axis2_flow_container_t *flow_container,
+    axis2_flow_t *(AXIS2_CALL *get_inflow)(axis2_flow_container_t *flow_container,
                                                 axis2_env_t **env);
     
     /**
      * Set in flow
-     * @param in_flow in flow
+     * @param inflow in flow
      */
-    axis2_status_t (AXIS2_CALL *set_in_flow)(
+    axis2_status_t (AXIS2_CALL *set_inflow)(
                                         axis2_flow_container_t *flow_container,
                                         axis2_env_t **env,
-                                        axis2_flow_t *in_flow);
+                                        axis2_flow_t *inflow);
     
     /**
      * Get out flow
      * @return out flow
      */
-    axis2_flow_t *(AXIS2_CALL *get_out_flow)(
+    axis2_flow_t *(AXIS2_CALL *get_outflow)(
                                         axis2_flow_container_t *flow_container,
                                         axis2_env_t **env);
     
     /**
      * Set out flow
-     * @param out_flow out flow
+     * @param outflow out flow
      */
-    axis2_status_t (AXIS2_CALL *set_out_flow)(
+    axis2_status_t (AXIS2_CALL *set_outflow)(
                                         axis2_flow_container_t *flow_container,
                                         axis2_env_t **env,
-                                        axis2_flow_t *out_flow);
+                                        axis2_flow_t *outflow);
     
     /**
      * Get fault in flow
      * @return fault in flow
      */
-    axis2_flow_t * (AXIS2_CALL *get_fault_in_flow)(
+    axis2_flow_t * (AXIS2_CALL *get_fault_inflow)(
                                         axis2_flow_container_t *flow_container,
                                         axis2_env_t **env);
     
     /**
      * set fault in flow
-     * @param falut_in_flow falut in flow
+     * @param falut_inflow falut in flow
      */
-    axis2_status_t (AXIS2_CALL *set_fault_in_flow)(
+    axis2_status_t (AXIS2_CALL *set_fault_inflow)(
                                         axis2_flow_container_t *flow_container,
                                         axis2_env_t **env,
-                                        axis2_flow_t *falut_in_flow);
+                                        axis2_flow_t *falut_inflow);
     /**
      * Get fault out flow
      * @return fault out flow
      */
-    axis2_flow_t *(AXIS2_CALL *get_fault_out_flow)(
+    axis2_flow_t *(AXIS2_CALL *get_fault_outflow)(
                                         axis2_flow_container_t *flow_container,
                                         axis2_env_t **env);
     
     /**
      * Set fault out flow
-     * @param fault_out_flow fault out flow
+     * @param fault_outflow fault out flow
      */
-    axis2_status_t (AXIS2_CALL *set_fault_out_flow)(
+    axis2_status_t (AXIS2_CALL *set_fault_outflow)(
                                         axis2_flow_container_t *flow_container,
                                         axis2_env_t **env,
-                                        axis2_flow_t *fault_out_flow);  
+                                        axis2_flow_t *fault_outflow);  
 };
 
 /** 
@@ -146,29 +146,29 @@
 #define AXIS2_FLOW_CONTAINER_FREE(flow_container, env) \
         ((flow_container->ops)->free (flow_container, env))
 
-#define AXIS2_FLOW_CONTAINER_GET_IN_FLOW(flow_container, env) \
-        ((flow_container->ops)->get_in_flow (flow_container, env))
+#define AXIS2_FLOW_CONTAINER_GET_INFLOW(flow_container, env) \
+        ((flow_container->ops)->get_inflow (flow_container, env))
 
-#define AXIS2_FLOW_CONTAINER_SET_IN_FLOW(flow_container, env, in_flow) \
-        ((flow_container->ops)->set_in_flow (flow_container, env, in_flow))
+#define AXIS2_FLOW_CONTAINER_SET_INFLOW(flow_container, env, inflow) \
+        ((flow_container->ops)->set_inflow (flow_container, env, inflow))
 
-#define AXIS2_FLOW_CONTAINER_GET_OUT_FLOW(flow_container, env) \
-        ((flow_container->ops)->get_out_flow (flow_container, env))
+#define AXIS2_FLOW_CONTAINER_GET_OUTFLOW(flow_container, env) \
+        ((flow_container->ops)->get_outflow (flow_container, env))
         
-#define AXIS2_FLOW_CONTAINER_SET_OUT_FLOW(flow_container, env, out_flow) \
-        ((flow_container->ops)->set_out_flow (flow_container, env, out_flow))
+#define AXIS2_FLOW_CONTAINER_SET_OUTFLOW(flow_container, env, outflow) \
+        ((flow_container->ops)->set_outflow (flow_container, env, outflow))
 
-#define AXIS2_FLOW_CONTAINER_GET_FAULT_IN_FLOW(flow_container, env) \
-        ((flow_container->ops)->get_fault_in_flow (flow_container, env))
+#define AXIS2_FLOW_CONTAINER_GET_FAULT_INFLOW(flow_container, env) \
+        ((flow_container->ops)->get_fault_inflow (flow_container, env))
         
-#define AXIS2_FLOW_CONTAINER_SET_FAULT_IN_FLOW(flow_container, env, fault_in_flow) \
-        ((flow_container->ops)->set_fault_in_flow (flow_container, env, fault_in_flow))
+#define AXIS2_FLOW_CONTAINER_SET_FAULT_INFLOW(flow_container, env, fault_inflow) \
+        ((flow_container->ops)->set_fault_inflow (flow_container, env, fault_inflow))
 
-#define AXIS2_FLOW_CONTAINER_GET_FAULT_OUT_FLOW(flow_container, env) \
-        ((flow_container->ops)->get_fault_out_flow (flow_container, env))
+#define AXIS2_FLOW_CONTAINER_GET_FAULT_OUTFLOW(flow_container, env) \
+        ((flow_container->ops)->get_fault_outflow (flow_container, env))
         
-#define AXIS2_FLOW_CONTAINER_SET_FAULT_OUT_FLOW(flow_container, env, fault_out_flow) \
-        ((flow_container->ops)->set_fault_out_flow (flow_container, env, fault_out_flow))        
+#define AXIS2_FLOW_CONTAINER_SET_FAULT_OUTFLOW(flow_container, env, fault_outflow) \
+        ((flow_container->ops)->set_fault_outflow (flow_container, env, fault_outflow))        
 
 /*************************** End of function macros ***************************/
 

Modified: webservices/axis2/trunk/c/include/axis2_module_desc.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_module_desc.h?rev=351594&r1=351593&r2=351594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_module_desc.h (original)
+++ webservices/axis2/trunk/c/include/axis2_module_desc.h Thu Dec  1 21:13:39 2005
@@ -49,7 +49,8 @@
 {
 #endif
 
-struct axis2_operation;	
+struct axis2_operation;
+struct axis2_engine_config;	
 typedef struct axis2_module_desc_ops axis2_module_desc_ops_t;
 typedef struct axis2_module_desc axis2_module_desc_t;	
 	
@@ -74,68 +75,68 @@
      * @return in flow
      */
     axis2_flow_t *(AXIS2_CALL *
-    get_in_flow) (axis2_module_desc_t *module_desc,
+    get_inflow) (axis2_module_desc_t *module_desc,
                                         axis2_env_t **env);
     
     /**
      * Set in flow
-     * @param in_flow in flow
+     * @param inflow in flow
      */
     axis2_status_t (AXIS2_CALL *
-    set_in_flow) (axis2_module_desc_t *module_desc,
+    set_inflow) (axis2_module_desc_t *module_desc,
                                         axis2_env_t **env,
-                                        axis2_flow_t *in_flow);
+                                        axis2_flow_t *inflow);
     
     /**
      * Get out flow
      * @return out flow
      */
     axis2_flow_t *(AXIS2_CALL *
-    get_out_flow) (axis2_module_desc_t *module_desc,
+    get_outflow) (axis2_module_desc_t *module_desc,
                                         axis2_env_t **env);
     
     /**
      * Set out flow
-     * @param out_flow out flow
+     * @param outflow out flow
      */
     axis2_status_t (AXIS2_CALL *
-    set_out_flow) (axis2_module_desc_t *module_desc,
+    set_outflow) (axis2_module_desc_t *module_desc,
                                         axis2_env_t **env,
-                                        axis2_flow_t *out_flow);
+                                        axis2_flow_t *outflow);
     
     /**
      * Get fault in flow
      * @return fault in flow
      */
     axis2_flow_t * (AXIS2_CALL *
-    get_fault_in_flow) (axis2_module_desc_t *module_desc,
+    get_fault_inflow) (axis2_module_desc_t *module_desc,
                                             axis2_env_t **env);
     
     /**
      * set fault in flow
-     * @param falut_in_flow falut in flow
+     * @param falut_inflow falut in flow
      */
     axis2_status_t (AXIS2_CALL *
-    set_fault_in_flow) (axis2_module_desc_t *module_desc,
+    set_fault_inflow) (axis2_module_desc_t *module_desc,
                                             axis2_env_t **env,
-                                            axis2_flow_t *falut_in_flow);
+                                            axis2_flow_t *falut_inflow);
     
     /**
      * Get fault out flow
      * @return fault out flow
      */
     axis2_flow_t *(AXIS2_CALL *
-    get_fault_out_flow) (axis2_module_desc_t *module_desc,
+    get_fault_outflow) (axis2_module_desc_t *module_desc,
                                                 axis2_env_t **env);
     
     /**
      * Set fault out flow
-     * @param fault_out_flow fault out flow
+     * @param fault_outflow fault out flow
      */
     axis2_status_t (AXIS2_CALL *
-    set_fault_out_flow) (axis2_module_desc_t *module_desc,
+    set_fault_outflow) (axis2_module_desc_t *module_desc,
                                                 axis2_env_t **env,
-                                                axis2_flow_t *fault_out_flow);
+                                                axis2_flow_t *fault_outflow);
     
     /**
      * @return
@@ -161,14 +162,14 @@
     get_operations ) (axis2_module_desc_t *module_desc,
                                         axis2_env_t **env);
     
-    axis2_engine_config_t * (AXIS2_CALL *
+    struct axis2_engine_config * (AXIS2_CALL *
     get_parent ) (axis2_module_desc_t *module_desc,
                                     axis2_env_t **env);
     
     axis2_status_t (AXIS2_CALL *
     set_parent ) (axis2_module_desc_t *module_desc,
                                     axis2_env_t **env,
-                                    axis2_engine_config_t *parent);
+                                    struct axis2_engine_config *parent);
     
     /**
      * Add parameter
@@ -245,56 +246,56 @@
 #define AXIS2_MODULE_DESC_FREE(module_desc, env) \
 		(module_desc->ops->free(module_desc, env))
 	
-#define AXIS2_MODULE_DESC_GET_IN_FLOW(module_desc, env, svc_grp) \
-        (module_desc->ops->get_in_flow (module_desc, env, svc_grp))
+#define AXIS2_MODULE_DESC_GET_INFLOW(module_desc, env) \
+        (module_desc->ops->get_inflow (module_desc, env))
 
-#define AXIS2_MODULE_DESC_SET_IN_FLOW(module_desc, env, svc_grp_name) \
-        (module_desc->ops->set_in_flow (module_desc, env, svc_grp_name))
+#define AXIS2_MODULE_DESC_SET_INFLOW(module_desc, env, inflow) \
+        (module_desc->ops->set_inflow (module_desc, env, inflow))
 
-#define AXIS2_MODULE_DESC_GET_OUT_FLOW(module_desc, env, svc) \
-		(module_desc->ops->get_out_flow (module_desc, env, svc))
+#define AXIS2_MODULE_DESC_GET_OUTFLOW(module_desc, env) \
+		(module_desc->ops->get_outflow (module_desc, env))
 		
-#define AXIS2_MODULE_DESC_SET_OUT_FLOW(module_desc, env, svc_name) \
-		(module_desc->ops->set_out_flow (module_desc, env, svc_name))
+#define AXIS2_MODULE_DESC_SET_OUTFLOW(module_desc, env, outflow) \
+		(module_desc->ops->set_outflow (module_desc, env, outflow))
 
-#define AXIS2_MODULE_DESC_GET_FAULT_IN_FLOW(module_desc, env, svc_name) \
-		(module_desc->ops->get_fault_in_flow (module_desc, env, svc_name))
+#define AXIS2_MODULE_DESC_GET_FAULT_INFLOW(module_desc, env) \
+		(module_desc->ops->get_fault_inflow (module_desc, env))
         
-#define AXIS2_MODULE_DESC_SET_FAULT_IN_FLOW(module_desc, env, param) \
-        (module_desc->ops->set_fault_in_flow(module_desc , env, param))
+#define AXIS2_MODULE_DESC_SET_FAULT_INFLOW(module_desc, env, falut_inflow) \
+        (module_desc->ops->set_fault_inflow(module_desc , env, falut_inflow))
 		
-#define AXIS2_MODULE_DESC_GET_FAULT_OUT_FLOW(module_desc, env, name) \
-        (module_desc->ops->get_fault_out_flow(module_desc , env, name))
+#define AXIS2_MODULE_DESC_GET_FAULT_OUTFLOW(module_desc, env) \
+        (module_desc->ops->get_fault_outflow(module_desc , env))
 		
-#define AXIS2_MODULE_DESC_SET_FAULT_OUT_FLOW(module_desc, env) \
-        (module_desc->ops->set_fault_out_flow(module_desc , env))
+#define AXIS2_MODULE_DESC_SET_FAULT_OUTFLOW(module_desc, env, falut_outflow) \
+        (module_desc->ops->set_fault_outflow(module_desc , env, falut_outflow))
 		
 #define AXIS2_MODULE_DESC_GET_NAME(module_desc, env) \
         (module_desc->ops->get_name(module_desc, env))
 
-#define AXIS2_MODULE_DESC_SET_NAME(module_desc, env, param_name) \
-        (module_desc->ops->set_name(module_desc, env, param_name))
+#define AXIS2_MODULE_DESC_SET_NAME(module_desc, env, qname) \
+        (module_desc->ops->set_name(module_desc, env, qname))
 
-#define AXIS2_MODULE_DESC_ADD_OPERATION(module_desc, env, param_name) \
-        (module_desc->ops->add_operation(module_desc, env, param_name))
+#define AXIS2_MODULE_DESC_ADD_OPERATION(module_desc, env, operation) \
+        (module_desc->ops->add_operation(module_desc, env, operation))
         
-#define AXIS2_MODULE_DESC_GET_OPERATIONS(module_desc, env, param_name) \
-        (module_desc->ops->get_operations(module_desc, env, param_name))
+#define AXIS2_MODULE_DESC_GET_OPERATIONS(module_desc, env) \
+        (module_desc->ops->get_operations(module_desc, env))
 
-#define AXIS2_MODULE_DESC_GET_PARENT(module_desc, env, param_name) \
-        (module_desc->ops->get_parent(module_desc, env, param_name))
+#define AXIS2_MODULE_DESC_GET_PARENT(module_desc, env) \
+        (module_desc->ops->get_parent(module_desc, env))
         
-#define AXIS2_MODULE_DESC_SET_PARENT(module_desc, env, param_name) \
-        (module_desc->ops->set_parent(module_desc, env, param_name))
+#define AXIS2_MODULE_DESC_SET_PARENT(module_desc, env, parent) \
+        (module_desc->ops->set_parent(module_desc, env, parent))
 
-#define AXIS2_MODULE_DESC_ADD_PARAM(module_desc, env, param_name) \
-        (module_desc->ops->add_param(module_desc, env, param_name))
+#define AXIS2_MODULE_DESC_ADD_PARAM(module_desc, env, param) \
+        (module_desc->ops->add_param(module_desc, env, param))
         
-#define AXIS2_MODULE_DESC_GET_PARAM(module_desc, env, param_name) \
-        (module_desc->ops->get_param(module_desc, env, param_name))
+#define AXIS2_MODULE_DESC_GET_PARAM(module_desc, env, name) \
+        (module_desc->ops->get_param(module_desc, env, name))
 
-#define AXIS2_MODULE_DESC_GET_PARAMS(module_desc, env, param_name) \
-        (module_desc->ops->get_params(module_desc, env, param_name))
+#define AXIS2_MODULE_DESC_GET_PARAMS(module_desc, env) \
+        (module_desc->ops->get_params(module_desc, env))
         
 #define AXIS2_MODULE_DESC_IS_PARAM_LOCKED(module_desc, env, param_name) \
         (module_desc->ops->is_param_locked(module_desc, env, param_name))        

Modified: webservices/axis2/trunk/c/include/axis2_msg_ctx.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_msg_ctx.h?rev=351594&r1=351593&r2=351594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_msg_ctx.h (original)
+++ webservices/axis2/trunk/c/include/axis2_msg_ctx.h Thu Dec  1 21:13:39 2005
@@ -43,21 +43,21 @@
  */
 
     /** axis2 transport headers */
-    static const axis2_char_t *AXIS2_TRANSPORT_HEADERS = "AXIS2_TRANSPORT_HEADERS";
+    /*static const axis2_char_t *AXIS2_TRANSPORT_HEADERS = "AXIS2_TRANSPORT_HEADERS";*/
     /** axis2 transport in */
-    static const axis2_char_t *AXIS2_TRANSPORT_OUT = "AXIS2_TRANSPORT_OUT";
+    /*static const axis2_char_t *AXIS2_TRANSPORT_OUT = "AXIS2_TRANSPORT_OUT";*/
     /** axis2 transport out */
-    static const axis2_char_t *AXIS2_TRANSPORT_IN = "AXIS2_TRANSPORT_IN";
+    /*static const axis2_char_t *AXIS2_TRANSPORT_IN = "AXIS2_TRANSPORT_IN";*/
     /** axis2 character set encoding */
-    static const axis2_char_t *AXIS2_CHARACTER_SET_ENCODING = "AXIS2_CHARACTER_SET_ENCODING";
+    /*static const axis2_char_t *AXIS2_CHARACTER_SET_ENCODING = "AXIS2_CHARACTER_SET_ENCODING";*/
     /** axis2 UTF_8; This is the 'utf-8' value for AXIS2_CHARACTER_SET_ENCODING property  */
-    static const axis2_char_t *AXIS2_UTF_8 = "UTF-8";
+    /*static const axis2_char_t *AXIS2_UTF_8 = "UTF-8";*/
     /** axis2 UTF_16; This is the 'utf-16' value for AXIS2_CHARACTER_SET_ENCODING property  */
-    static const axis2_char_t *AXIS2_UTF_16 = "utf-16";
+    /*static const axis2_char_t *AXIS2_UTF_16 = "utf-16";*/
     /** axis2 default char set encoding; This is the default value for AXIS2_CHARACTER_SET_ENCODING property */
-    static const axis2_char_t *AXIS2_DEFAULT_CHAR_SET_ENCODING = "UTF_8";
+    /*static const axis2_char_t *AXIS2_DEFAULT_CHAR_SET_ENCODING = "UTF_8";*/
     /** axis2 transport succeeded */
-    static const axis2_char_t *AXIS2_TRANSPORT_SUCCEED = "AXIS2_TRANSPORT_SUCCEED";
+    /*static const axis2_char_t *AXIS2_TRANSPORT_SUCCEED = "AXIS2_TRANSPORT_SUCCEED";*/
     
 typedef struct axis2_msg_ctx_ops axis2_msg_ctx_ops_t;
 typedef struct axis2_msg_ctx axis2_msg_ctx_t; 

Modified: webservices/axis2/trunk/c/include/axis2_operation.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_operation.h?rev=351594&r1=351593&r2=351594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_operation.h (original)
+++ webservices/axis2/trunk/c/include/axis2_operation.h Thu Dec  1 21:13:39 2005
@@ -60,74 +60,87 @@
     /** De-allocate memory
   	 * @return status code
   	 */
-	axis2_status_t (AXIS2_CALL *free) (axis2_operation_t *operation, 
-                                        axis2_env_t **env);
+	axis2_status_t (AXIS2_CALL *
+    free) (axis2_operation_t *operation, 
+           axis2_env_t **env);
 
     /**
      * Method addParameter
      *
      * @param param Parameter that will be added
      */
-	axis2_status_t (AXIS2_CALL *add_param)(axis2_operation_t *operation, 
-                                            axis2_env_t **env, 
-                                            axis2_param_t *param);
+	axis2_status_t (AXIS2_CALL *
+    add_param)(axis2_operation_t *operation, 
+                axis2_env_t **env, 
+                axis2_param_t *param);
     
     /**
      * Method getParameter
      *
      * @param name Name of the parameter
      */
-	axis2_param_t *(AXIS2_CALL *get_param)(axis2_operation_t *operation, 
-                                            axis2_env_t **env,
-                                            const axis2_char_t *name);
+	axis2_param_t *(AXIS2_CALL *
+    get_param)(axis2_operation_t *operation, 
+                axis2_env_t **env,
+                const axis2_char_t *name);
 
 
-	axis2_array_list_t *(AXIS2_CALL *get_params) (axis2_operation_t *operation, 
-                                                axis2_env_t **env);
+	axis2_array_list_t *(AXIS2_CALL *
+    get_params) (axis2_operation_t *operation, 
+                    axis2_env_t **env);
 
     /**
      * To check whether a given paramter is locked
      */
-	axis2_bool_t (AXIS2_CALL *is_param_locked) (axis2_operation_t *operation, 
-                                                axis2_env_t **env,
-		                                        const axis2_char_t *param_name);
+	axis2_bool_t (AXIS2_CALL *
+    is_param_locked) (axis2_operation_t *operation, 
+                        axis2_env_t **env,
+                        const axis2_char_t *param_name);
 	
-	axis2_status_t (AXIS2_CALL *set_parent) (axis2_operation_t *operation, 
+	axis2_status_t (AXIS2_CALL *
+    set_parent) (axis2_operation_t *operation, 
                                      axis2_env_t **env,
                                      struct axis2_svc *service_desc);
 
-	struct axis2_svc *(AXIS2_CALL *get_parent) (axis2_operation_t *operation, 
-                                            axis2_env_t **env);
-
-    axis2_status_t (AXIS2_CALL *set_name) (axis2_operation_t *operation, 
-                                            axis2_env_t **env,
-                                            axis2_qname_t *qname);
-    
-	axis2_qname_t *(AXIS2_CALL *get_name) (axis2_operation_t *operation, 
-                                            axis2_env_t **env);
-
-	axis2_status_t (AXIS2_CALL *set_msg_exchange_pattern) 
-                                                (axis2_operation_t *operation, 
-                                                axis2_env_t **env,
-                                                const axis2_char_t *pattern);
-
-	axis2_char_t *(AXIS2_CALL *get_msg_exchange_pattern)
-                                                (axis2_operation_t *operation, 
-                                                axis2_env_t **env);
-
-	axis2_status_t (AXIS2_CALL *set_msg_recv) (axis2_operation_t *operation, 
-                                        axis2_env_t **env,
-                                        struct axis2_msg_recv *msg_recv);
-
-	struct axis2_msg_recv *(AXIS2_CALL *get_msg_recv) (axis2_operation_t *operation, 
-                                                    axis2_env_t **env);
+	struct axis2_svc *(AXIS2_CALL *
+    get_parent) (axis2_operation_t *operation, 
+                 axis2_env_t **env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_name) (axis2_operation_t *operation, 
+                axis2_env_t **env,
+                axis2_qname_t *qname);
+    
+	axis2_qname_t *(AXIS2_CALL *
+    get_name) (axis2_operation_t *operation, 
+                axis2_env_t **env);
+
+	axis2_status_t (AXIS2_CALL *
+    set_msg_exchange_pattern) (axis2_operation_t *operation, 
+                                axis2_env_t **env,
+                                const axis2_char_t *pattern);
+
+	axis2_char_t *(AXIS2_CALL *
+    get_msg_exchange_pattern) (axis2_operation_t *operation, 
+                                axis2_env_t **env);
+
+	axis2_status_t (AXIS2_CALL *
+    set_msg_recv) (axis2_operation_t *operation, 
+                    axis2_env_t **env,
+                    struct axis2_msg_recv *msg_recv);
+
+	struct axis2_msg_recv *(AXIS2_CALL *
+        get_msg_recv) (axis2_operation_t *operation, 
+                       axis2_env_t **env);
                                         
-    axis2_char_t *(AXIS2_CALL *get_style) (axis2_operation_t *operation,
-                                            axis2_env_t **env);
+    axis2_char_t *(AXIS2_CALL *
+    get_style) (axis2_operation_t *operation,
+                axis2_env_t **env);
 
-    axis2_status_t  (AXIS2_CALL *set_style) (axis2_operation_t *operation,
-                                                axis2_env_t **env,
-                                                axis2_char_t *style);
+    axis2_status_t  (AXIS2_CALL *
+    set_style) (axis2_operation_t *operation,
+                axis2_env_t **env,
+                axis2_char_t *style);
                                                 
     /**
      * To ebgage a module it is reuired to use this method
@@ -137,19 +150,13 @@
      */
     axis2_status_t (AXIS2_CALL *
     engage_module) (axis2_operation_t *operation,
-                                    axis2_env_t **env,
-                                    axis2_module_desc_t *moduleref);
+                        axis2_env_t **env,
+                        struct axis2_module_desc *moduleref);
     
     axis2_status_t (AXIS2_CALL *
     add_to_engage_module_list) (axis2_operation_t *operation,
-                                                axis2_env_t **env,
-                                                axis2_module_desc_t *module_name);
-    
-    /*
-    * (non-Javadoc)
-    *
-    * @see org.apache.axis2.description.AxisService#getEngadgedModules()
-    */
+                                axis2_env_t **env,
+                                struct axis2_module_desc *module_name);
     
     /**
      * Method getEngadgedModules
@@ -180,12 +187,12 @@
     
     
     axis2_array_list_t * (AXIS2_CALL *
-    get_phases_out_flow) (axis2_operation_t *operation,
+    get_phases_outflow) (axis2_operation_t *operation,
                                             axis2_env_t **env);
     
     
     axis2_array_list_t *(AXIS2_CALL *
-    get_remaining_phases_in_flow) (axis2_operation_t *operation,
+    get_remaining_phases_inflow) (axis2_operation_t *operation,
                                                     axis2_env_t **env);
     
     /**
@@ -208,7 +215,7 @@
      * @param list
      */
     axis2_status_t (AXIS2_CALL *
-    set_phases_out_flow) (axis2_operation_t *operation,
+    set_phases_outflow) (axis2_operation_t *operation,
                                             axis2_env_t **env,
                                             axis2_array_list_t *list);
     
@@ -216,7 +223,7 @@
      * @param list
      */
     axis2_status_t (AXIS2_CALL *
-    set_remaining_phases_in_flow) (axis2_operation_t *operation,
+    set_remaining_phases_inflow) (axis2_operation_t *operation,
                                                     axis2_env_t **env,
                                                     axis2_array_list_t *list);
                                                     
@@ -415,11 +422,23 @@
 #define AXIS2_OPERATION_GET_PHASES_OUT_FAULT_FLOW(operation, env) \
 		((operation->ops)->get_phases_out_fault_flow (operation, env))
 
-#define AXIS2_OPERATION_GET_PHASES_OUT_FLOW(operation, env) \
-		((operation->ops)->get_phases_out_flow (operation, env))
+#define AXIS2_OPERATION_GET_PHASES_OUTFLOW(operation, env) \
+		((operation->ops)->get_phases_outflow (operation, env))
+ 
+#define AXIS2_OPERATION_GET_REMAINING_PHASES_INFLOW(operation, env) \
+		((operation->ops)->get_remaining_phases_inflow (operation, env))    
+
+#define AXIS2_OPERATION_SET_PHASES_IN_FAULT_FLOW(operation, env, list) \
+		((operation->ops)->set_phases_in_fault_flow (operation, env, list))    
+
+#define AXIS2_OPERATION_SET_PHASES_OUT_FAULT_FLOW(operation, env, list) \
+		((operation->ops)->set_phases_out_fault_flow (operation, env, list))   
+
+#define AXIS2_OPERATION_SET_PHASES_OUTFLOW(operation, env, list) \
+		((operation->ops)->set_phases_outflow (operation, env, list)) 
         
-        #define AXIS2_OPERATION_SET_REMAINING_PHASES(operation, env) \
-		((operation->ops)->set_remaining_phases_in_flow (operation, env))
+#define AXIS2_OPERATION_SET_REMAINING_PHASES_INFLOW(operation, env, list) \
+		((operation->ops)->set_remaining_phases_inflow (operation, env, list))
         
 #define AXIS2_OPERATION_ADD_MODULE(operation, env, module_name) \
 		((operation->ops)->add_module (operation, env, module_name))

Modified: webservices/axis2/trunk/c/include/axis2_phase_holder.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_phase_holder.h?rev=351594&r1=351593&r2=351594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_phase_holder.h (original)
+++ webservices/axis2/trunk/c/include/axis2_phase_holder.h Thu Dec  1 21:13:39 2005
@@ -33,7 +33,7 @@
 #include <axis2_phase.h>
 #include <axis2_phase_rule.h>
 #include <axis2_handler.h>
-#include <wsdl.h>
+#include <axis2_wsdl.h>
 
 #ifdef __cplusplus
 extern "C"

Modified: webservices/axis2/trunk/c/include/axis2_phase_meta.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_phase_meta.h?rev=351594&r1=351593&r2=351594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_phase_meta.h (original)
+++ webservices/axis2/trunk/c/include/axis2_phase_meta.h Thu Dec  1 21:13:39 2005
@@ -34,22 +34,23 @@
  * @ingroup axis2_core_phaseresolver
  * @{
  */
-     static const int AXIS2_IN_FLOW = 1;
-     static const int AXIS2_OUT_FLOW = 2;
-     static const int AXIS2_FAULT_IN_FLOW = 3;
-     static const int AXIS2_FAULT_OUT_FLOW = 4;
+     #define  AXIS2_INFLOW  1
+     #define  AXIS2_OUTFLOW 2
+     #define  AXIS2_FAULT_INFLOW 3
+     #define  AXIS2_FAULT_OUTFLOW 4
 
     /* INFLOW */
-     static const axis2_char_t *AXIS2_PHASE_TRANSPORTIN = "TransportIn";
+/*     static const axis2_char_t *AXIS2_PHASE_TRANSPORTIN = "TransportIn";
      static const axis2_char_t *AXIS2_PHASE_PRE_DISPATCH = "PreDispatch";
      static const axis2_char_t *AXIS2_PHASE_DISPATCH = "Dispatch";
      static const axis2_char_t *AXIS2_PHASE_POST_DISPATCH = "PostDispatch";
      static const axis2_char_t *AXIS2_PHASE_POLICY_DETERMINATION = "PolicyDetermination";
      static const axis2_char_t *AXIS2_PHASE_MESSAGE_PROCESSING = "MessageProcessing";
-
+*/
     /* OUTFLOW */
-     static const axis2_char_t *AXIS2_PHASE_MESSAGE_OUT = "MessageOut";
+/*     static const axis2_char_t *AXIS2_PHASE_MESSAGE_OUT = "MessageOut";
      static const axis2_char_t *AXIS2_PHASE_TRANSPORT_OUT = "MessageOut";
+*/     
     /**
      * All the handlers inside transport_sender and tranport_recievre in axis2.xml gose
      * to this phase

Modified: webservices/axis2/trunk/c/include/axis2_phase_resolver.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_phase_resolver.h?rev=351594&r1=351593&r2=351594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_phase_resolver.h (original)
+++ webservices/axis2/trunk/c/include/axis2_phase_resolver.h Thu Dec  1 21:13:39 2005
@@ -29,11 +29,16 @@
 #include <axis2_allocator.h>
 #include <axis2_qname.h>
 #include <axis2_array_list.h>
+#include <axis2_hash.h>
 #include <axis2_handler_desc.h>
 #include <axis2_phase.h>
 #include <axis2_phase_rule.h>
 #include <axis2_handler.h>
-#include <wsdl.h>
+#include <axis2_handler_desc.h>
+#include <axis2_flow.h>
+#include <axis2_module_desc.h>
+#include <axis2_phase_holder.h>
+#include <axis2_wsdl.h>
 
 #ifdef __cplusplus
 extern "C"
@@ -64,7 +69,70 @@
 	axis2_status_t (AXIS2_CALL *free)(
                     axis2_phase_resolver_t *phase_resolver,
 			        axis2_env_t **env);
+
+    /**
+     * Method buildchains
+     *
+     * @throws PhaseException
+     * @throws AxisFault
+     */
+    axis2_status_t (AXIS2_CALL *
+    build_chains) (axis2_phase_resolver_t *phase_resolver,
+                   axis2_env_t **env);
+    
+    /**
+     * To build the opration for the opeartion which the module going to be added
+     *
+     * @param operation <code>AxisOperation</code>
+     * @throws AxisFault
+     */
+    axis2_status_t (AXIS2_CALL *
+    build_module_operation) (axis2_phase_resolver_t *phase_resolver,
+                                axis2_env_t **env,
+                                struct axis2_operation *operation);
+    
+    
+    
+    
+    /**
+     * Method buildTranspotsChains
+     *
+     * @throws PhaseException
+     */
+    axis2_status_t (AXIS2_CALL *
+    build_transport_chains) (axis2_phase_resolver_t *phase_resolver,
+                             axis2_env_t **env);
+    
+    
+    axis2_status_t (AXIS2_CALL *
+    engage_module_globally) (axis2_phase_resolver_t *phase_resolver,
+                                axis2_env_t **env,
+                                struct axis2_module_desc *module);
     
+    /**
+     * To engage modules come form global
+     *
+     * @param service
+     * @param module
+     * @throws PhaseException
+     */
+    axis2_status_t (AXIS2_CALL *
+    engage_module_to_svc_from_global) (axis2_phase_resolver_t *phase_resolver,
+                                        axis2_env_t **env,
+                                        struct axis2_svc *svc,
+                                        struct axis2_module_desc *module_desc);
+    
+    axis2_status_t (AXIS2_CALL *
+    engage_module_to_svc) (axis2_phase_resolver_t *phase_resolver,
+                            axis2_env_t **env,
+                            struct axis2_svc *svc,
+                            struct axis2_module_desc *module_desc);
+                                                        
+    axis2_status_t (AXIS2_CALL *
+    engage_module_to_operation) (axis2_phase_resolver_t *phase_resolver,
+                                    axis2_env_t **env,
+                                    struct axis2_operation *axis_operation,
+                                    struct axis2_module_desc *module_desc);    
 
 
 };
@@ -85,30 +153,52 @@
 axis2_phase_resolver_create (axis2_env_t **env);
 
 /**
- * Creates phase resolver struct
- * @param phases
- * @return pointer to newly created phase resolver
+ * default constructor , to obuild chains for GlobalDescription
+ *
+ * @param engineConfig
  */
 AXIS2_DECLARE(axis2_phase_resolver_t *) 
-axis2_phase_resolver_create_with_phases (axis2_env_t **env, axis2_array_list_t *phases);
+axis2_phase_resolver_create_with_config (axis2_env_t **env, 
+                                         struct axis2_engine_config *axis2_config);
+
+/**
+ * Constructor PhaseResolver
+ *
+ * @param axisConfig
+ * @param serviceContext
+ */
+AXIS2_DECLARE(axis2_phase_resolver_t *)
+axis2_phase_resolver_create_with_config_and_svc (axis2_env_t **env, 
+                                                struct axis2_engine_config *axis2_config,
+                                                struct axis2_svc *svc);
 
 /*************************** Function macros **********************************/
 
 #define AXIS2_PHASE_RESOLVER_FREE(phase_resolver, env) \
 		((phase_resolver->ops)->free (phase_resolver, env))
 
-#define AXIS2_PHASE_RESOLVER_IS_PHASE_EXIST(phase_resolver, env, phase_name) \
-		((phase_resolver->ops)->is_phase_exist (phase_resolver, env, phase_name))
+#define AXIS2_PHASE_RESOLVER_BUILD_CHAINS(phase_resolver, env) \
+		((phase_resolver->ops)->build_chains (phase_resolver, env))
+
+#define AXIS2_PHASE_RESOLVER_BUILD_MODULE_OPERATION(phase_resolver, env, operation) \
+		((phase_resolver->ops)->build_module_operation (phase_resolver, env, operation))
+
+#define AXIS2_PHASE_RESOLVER_BUILD_TRANSPORT_CHAINS(phase_resolver, env) \
+		((phase_resolver->ops)->build_transport_chains (phase_resolver, env))
+
+#define AXIS2_PHASE_RESOLVER_ENGAGE_MODULE_GLOBALLY(phase_resolver, env, module) \
+		((phase_resolver->ops)->engage_module_globally (phase_resolver, env, module))       
 
-#define AXIS2_PHASE_RESOLVER_ADD_HANDLER(phase_resolver, env, handler) \
-		((phase_resolver->ops)->add_handler (phase_resolver, env, handler))
+#define AXIS2_PHASE_RESOLVER_ENGAGE_MODULE_TO_SVC_FROM_GLOBAL(phase_resolver, env, svc, module_desc) \
+		((phase_resolver->ops)->engage_module_to_svc_from_global (phase_resolver, env, svc, module_desc))
 
-#define AXIS2_PHASE_RESOLVER_GET_PHASE(phase_resolver, env, phase_name) \
-		((phase_resolver->ops)->get_phase (phase_resolver, env, phase_name))
+#define AXIS2_PHASE_RESOLVER_ENGAGE_MODULE_TO_SVC(phase_resolver, env, svc, module_desc) \
+		((phase_resolver->ops)->engage_module_to_svc (phase_resolver, env, svc, module_desc))
 
-#define AXIS2_PHASE_RESOLVER_BUILD_TRANSPORT_HANDLER_CHAIN(phase_resolver, env, phase, handlers) \
-		((phase_resolver->ops)->build_transport_handler_chain (phase_resolver, env, phase, handlers))       
+#define AXIS2_PHASE_RESOLVER_ENGAGE_MODULE_TO_OPERATION(phase_resolver, env, axis_operation) \
+		((phase_resolver->ops)->engage_module_to_operation (phase_resolver, env, axis_operation))
 
+        
 /*************************** End of function macros ***************************/
 
 /** @} */

Modified: webservices/axis2/trunk/c/include/axis2_phase_rule.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_phase_rule.h?rev=351594&r1=351593&r2=351594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_phase_rule.h (original)
+++ webservices/axis2/trunk/c/include/axis2_phase_rule.h Thu Dec  1 21:13:39 2005
@@ -56,7 +56,7 @@
         axis2_char_t* (AXIS2_CALL *get_name) (struct axis2_phase_rule * phase_rule, 
                                                axis2_env_t **env);
         axis2_status_t (AXIS2_CALL *set_name) (struct axis2_phase_rule * phase_rule, 
-                                               axis2_env_t **env, axis2_char_t *name);
+                                               axis2_env_t **env, const axis2_char_t *name);
         axis2_bool_t (AXIS2_CALL *is_phase_first) (struct axis2_phase_rule * phase_rule, 
                                                axis2_env_t **env);
         axis2_status_t (AXIS2_CALL *set_phase_first) (struct axis2_phase_rule * phase_rule, 

Modified: webservices/axis2/trunk/c/include/axis2_svc.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_svc.h?rev=351594&r1=351593&r2=351594&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_svc.h (original)
+++ webservices/axis2/trunk/c/include/axis2_svc.h Thu Dec  1 21:13:39 2005
@@ -31,6 +31,11 @@
 #include <axis2_qname.h>
 #include <axis2_error.h>
 #include <axis2_array_list.h>
+#include <axis2.h>
+#include <axis2_phase_resolver.h>
+#include <axis2_module_desc.h>
+#include <axis2_engine_config.h>
+#include <axis2_wsdl_soap_operation.h>
 
 #ifdef __cplusplus
 extern "C"
@@ -47,7 +52,10 @@
 struct axis2_flow_container;
 struct axis2_param_container;
 struct axis2_wsdl_svc;
-struct axis2_wsdl_interface;    
+struct axis2_wsdl_interface; 
+struct axis2_module_desc; 
+struct axis2_engine_config;
+struct axis2_wsdl_soap_operation;    
 typedef struct axis2_svc_ops axis2_svc_ops_t;   
 typedef struct axis2_svc axis2_svc_t;
     
@@ -57,59 +65,333 @@
  */    
 struct axis2_svc_ops
 {
-	axis2_status_t (AXIS2_CALL *free) (axis2_svc_t *svc, axis2_env_t **env);
+	axis2_status_t (AXIS2_CALL *
+    free) (axis2_svc_t *svc, 
+            axis2_env_t **env);
+
+	axis2_status_t (AXIS2_CALL *
+    add_operation) (axis2_svc_t *svc, 
+                    axis2_env_t **env,
+                    struct axis2_operation *operation);
+
+	struct axis2_operation *(AXIS2_CALL *
+    get_operation_with_qname) (axis2_svc_t *svc, 
+                                  axis2_env_t **env,
+                                  axis2_qname_t *operation_qname);
 
-	axis2_status_t (AXIS2_CALL *add_operation) (axis2_svc_t *svc, 
-                                                axis2_env_t **env,
-	 	                                        struct axis2_operation *operation);
-
-	struct axis2_operation *(AXIS2_CALL *get_operation_with_qname) (
-                                                  axis2_svc_t *svc, 
-                                                  axis2_env_t **env,
-	 	                                          axis2_qname_t *operation_qname);
-
-	struct axis2_operation *(AXIS2_CALL *get_operation_with_name) (
-                                            axis2_svc_t *svc, 
-                                            axis2_env_t **env,
-	 	                                    const axis2_char_t * operation_name);
-
-	axis2_hash_t *(AXIS2_CALL *get_operations) (axis2_svc_t *svc, 
-                                                    axis2_env_t **env);
-
-	axis2_status_t (AXIS2_CALL *set_parent) (axis2_svc_t *svc, 
-                                                axis2_env_t **env,
-	 	                                        struct axis2_svc_grp *svc_grp);
+	struct axis2_operation *(AXIS2_CALL *
+    get_operation_with_name) (axis2_svc_t *svc, 
+                                axis2_env_t **env,
+                                const axis2_char_t * operation_name);
 
-	struct axis2_svc_grp *(AXIS2_CALL *get_parent) (axis2_svc_t *svc, 
-                                                axis2_env_t **env);
+	axis2_hash_t *(AXIS2_CALL *
+    get_operations) (axis2_svc_t *svc, 
+                     axis2_env_t **env);
+
+	axis2_status_t (AXIS2_CALL *
+    set_parent) (axis2_svc_t *svc, 
+                    axis2_env_t **env,
+                    struct axis2_svc_grp *svc_grp);
+
+	struct axis2_svc_grp *(AXIS2_CALL *
+    get_parent) (axis2_svc_t *svc, 
+                 axis2_env_t **env);
 	
-    axis2_status_t (AXIS2_CALL *set_name) (axis2_svc_t *svc, 
-                                            axis2_env_t **env,
-                                            axis2_qname_t *qname);
-    
-	axis2_qname_t *(AXIS2_CALL *get_name) (const axis2_svc_t *svc, 
-                                            axis2_env_t **env);
-
-	axis2_status_t (AXIS2_CALL *add_param) (axis2_svc_t *svc, 
-                                                axis2_env_t **env,
-		                                        axis2_param_t *param);
-
-	axis2_param_t *(AXIS2_CALL *get_param) (axis2_svc_t *svc, 
-                                                axis2_env_t **env,
-		                                        const axis2_char_t *name);
-
-	axis2_hash_t *(AXIS2_CALL *get_params) (axis2_svc_t *svc, 
-                                                axis2_env_t **env);
+    axis2_status_t (AXIS2_CALL *
+    set_name) (axis2_svc_t *svc, 
+                axis2_env_t **env,
+                axis2_qname_t *qname);
+    
+	axis2_qname_t *(AXIS2_CALL *
+    get_name) (const axis2_svc_t *svc, 
+               axis2_env_t **env);
+
+	axis2_status_t (AXIS2_CALL *
+    add_param) (axis2_svc_t *svc, 
+                axis2_env_t **env,
+                axis2_param_t *param);
+
+	axis2_param_t *(AXIS2_CALL *
+    get_param) (axis2_svc_t *svc, 
+                axis2_env_t **env,
+                const axis2_char_t *name);
+
+	axis2_array_list_t *(AXIS2_CALL *
+    get_params) (axis2_svc_t *svc, 
+                    axis2_env_t **env);
 	
-	axis2_bool_t (AXIS2_CALL *is_param_locked) (axis2_svc_t *svc, 
-                                                axis2_env_t **env,
-		                                        const axis2_char_t *param_name);
+	axis2_bool_t (AXIS2_CALL *
+    is_param_locked) (axis2_svc_t *svc, 
+                        axis2_env_t **env,
+                        const axis2_char_t *param_name);
                                                 
     axis2_status_t (AXIS2_CALL *
     set_svc_interface) (axis2_svc_t *svc,
+                            axis2_env_t **env,
+                            struct axis2_wsdl_interface *svc_interface);
+                                
+    struct axis2_wsdl_interface * (AXIS2_CALL *
+    get_svc_interface) (axis2_svc_t *svc,
+                                axis2_env_t **env);                               
+
+                                
+    /**
+     * To ebgage a module it is reuired to use this method
+     *
+     * @param moduleref
+     * @throws AxisFault
+     */
+    axis2_status_t (AXIS2_CALL *
+    engage_module) (axis2_svc_t *svc,
+                    axis2_env_t **env,
+                    struct axis2_module_desc * moduleref,
+                    struct axis2_engine_config * axis2_config);
+    
+    /**
+     * To add a opeartion to a service if a module requird to do so
+     *
+     * @param module
+     */
+    axis2_status_t (AXIS2_CALL *
+    add_module_operations) (axis2_svc_t *svc,
                                 axis2_env_t **env,
-                                struct axis2_wsdl_interface *svc_interface);                                                
-
+                                struct axis2_module_desc * module_desc,
+                                struct axis2_engine_config * axis2_config); 
+                                    
+    axis2_status_t (AXIS2_CALL *
+    add_to_engaged_module_list) (axis2_svc_t *svc,
+                                    axis2_env_t **env,
+                                    struct axis2_module_desc *module_name);  
+                                        
+    /**
+     * Method getEngadgedModules
+     *
+     * @return Collection
+     */
+    axis2_array_list_t * (AXIS2_CALL *
+    get_engaged_modules) (axis2_svc_t *svc,
+                          axis2_env_t **env);
+    
+    /**
+     * To get the WSDL opeartion element in servic einterface
+     * @param operationName  <code>QName</cde>
+     * @return  WSDLOperation <code>WSDLOperation</code>
+     */
+    void * (AXIS2_CALL *
+    get_wsdl_operation) (axis2_svc_t *svc,
+                                    axis2_env_t **env,
+                                    axis2_qname_t *operation_name);
+    
+       /**
+     * Method setContextPath
+     *
+     * @param contextPath
+     */
+    axis2_status_t (AXIS2_CALL *
+    set_context_path) (axis2_svc_t *svc,
+                        axis2_env_t **env,
+                        axis2_char_t *context_path);
+    
+    /**
+     * Method getContextPath
+     *
+     * @return  context path
+     */
+    axis2_char_t * (AXIS2_CALL *
+    get_context_path) (axis2_svc_t *svc,
+                       axis2_env_t **env);
+    
+    /**
+     * Method setStyle
+     *
+     * @param style
+     */
+    axis2_status_t (AXIS2_CALL *
+    set_style) (axis2_svc_t *svc,
+                axis2_env_t **env,
+                axis2_char_t * style);
+    
+    /**
+     * Method getStyle
+     *
+     * @return axis2_char_t *
+     */
+    axis2_char_t * (AXIS2_CALL *
+    get_style) (axis2_svc_t *svc,
+                axis2_env_t **env);
+    
+    /**
+     * Method getInFlow
+     *
+     * @return struct axis2_flow *
+     */
+    struct axis2_flow * (AXIS2_CALL *
+    get_inflow) (axis2_svc_t *svc,
+                 axis2_env_t **env);
+    
+    /**
+     * Method setInFlow
+     *
+     * @param inFlow
+     */
+    axis2_status_t (AXIS2_CALL *
+    set_inflow) (axis2_svc_t *svc,
+                    axis2_env_t **env,
+                    struct axis2_flow *inflow);
+    
+    /**
+     * Method getOutFlow
+     *
+     * @return struct axis2_flow *
+     */
+    struct axis2_flow * (AXIS2_CALL *
+    get_outflow) (axis2_svc_t *svc,
+                                axis2_env_t **env);
+    
+    /**
+     * Method setOutFlow
+     *
+     * @param outFlow
+     */
+    axis2_status_t (AXIS2_CALL *
+    set_outflow) (axis2_svc_t *svc,
+                                axis2_env_t **env,
+                                struct axis2_flow *outflow);
+    
+    /**
+     * Method getFaultInFlow
+     *
+     * @return struct axis2_flow *
+     */
+    struct axis2_flow *(AXIS2_CALL *
+    get_fault_inflow) (axis2_svc_t *svc,
+                                axis2_env_t **env);
+    
+    /**
+     * Method setFaultInFlow
+     *
+     * @param fault_flow
+     */
+    axis2_status_t (AXIS2_CALL *
+    set_fault_inflow) (axis2_svc_t *svc,
+                                axis2_env_t **env,
+                                struct axis2_flow *fault_flow);
+    
+    struct axis2_flow * (AXIS2_CALL *
+    get_fault_outflow) (axis2_svc_t *svc,
+                                axis2_env_t **env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_fault_outflow) (axis2_svc_t *svc,
+                        axis2_env_t **env,
+                        struct axis2_flow *fault_flow);
+    
+    /**
+     * This method will return the operation given particular SOAP Action.
+     * This method should only be called if there is only one Endpoint is defined
+     * for this Service. If more than one Endpoint exists one of them will be picked.
+     * If more than one Operation is found with the given
+     * SOAP Action; null will be ruturned. If no particular Operation is found with
+     * the given SOAP Action; null will be returned.
+     *
+     * @param soapAction SOAP Action defined for the particular Operation
+     * @return A struct axis2_operation * if a unque Operation can be found with the given SOAP Action
+     *         otherwise will return null.
+     */
+    struct axis2_operation * (AXIS2_CALL *
+    get_operation_by_soap_action) (axis2_svc_t *svc,
+                                    axis2_env_t **env,
+                                    axis2_char_t *soap_action);
+    
+    /**
+     * This method will return the operation given the particular endpoing and the
+     * particular SOAP Action. If more than one Operation is found with the given
+     * SOAP Action; null will be ruturned. If no particular Operation is found with
+     * the given SOAP Action; null will be returned
+     *
+     * @param endpoint   Particular Enpoint in which the bining is defined with the particular SOAP
+     *                   Action.
+     * @param soapAction SOAP Action defined for the particular Operation
+     * @return A struct axis2_operation * if a unque Operation can be found with the given SOAP Action
+     *         otherwise will return null.
+     */
+    struct axis2_operation * (AXIS2_CALL *
+    get_operation_by_soap_action_and_endpoint) (axis2_svc_t *svc,
+                                    axis2_env_t **env,
+                                    axis2_char_t *soap_action,
+                                    axis2_qname_t * endpoint);       
+    
+     /**
+     * To get the description about the service
+     *                                                                  
+     * @return axis2_char_t *
+     */
+    axis2_char_t * (AXIS2_CALL *
+    get_axis2_svc_name) (axis2_svc_t *svc,
+                                axis2_env_t **env);
+    
+    /**
+     * Set the description about the service
+     *
+     * @param axissvcname
+     */
+    axis2_status_t (AXIS2_CALL *
+    set_axis2_svc_name) (axis2_svc_t *svc,
+                                axis2_env_t **env,
+                                axis2_char_t *axis2_svc_name);
+    
+    /**
+     * This method will set the current time as last update time of the service
+     */
+    axis2_status_t (AXIS2_CALL *
+    set_last_update) (axis2_svc_t *svc,
+                                axis2_env_t **env);
+    
+    long (AXIS2_CALL *
+    get_last_update) (axis2_svc_t *svc,
+                                axis2_env_t **env);
+    
+    axis2_char_t * (AXIS2_CALL *
+    get_filename) (axis2_svc_t *svc,
+                                axis2_env_t **env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_filename) (axis2_svc_t *svc,
+                                axis2_env_t **env,
+                                axis2_char_t *filename);
+    
+    axis2_hash_t * (AXIS2_CALL *
+    get_endpoints) (axis2_svc_t *svc,
+                                axis2_env_t **env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_endpoints) (axis2_svc_t *svc,
+                    axis2_env_t **env,
+                    axis2_hash_t * endpoints);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_endpoint)(axis2_svc_t *svc,
+                    axis2_env_t **env,
+                    struct axis2_wsdl_endpoint * endpoint);
+    
+    struct axis2_wsdl_endpoint * (AXIS2_CALL *
+    get_endpoint) (axis2_svc_t *svc,
+                    axis2_env_t **env,
+                    axis2_qname_t * qname);
+    
+    axis2_char_t * (AXIS2_CALL *
+    get_namespace) (axis2_svc_t *svc,
+                  axis2_env_t **env);
+    
+    /**
+     * To add the was action paramater into has map so that was action based dispatch can support
+     */
+    axis2_status_t (AXIS2_CALL *
+    add_mapping) (axis2_svc_t *svc,
+                axis2_env_t **env,
+                axis2_char_t * mapping_key , 
+                struct axis2_operation * axis2_operation);
+                                
 };
 
 /** 
@@ -185,7 +467,104 @@
 
 #define AXIS2_SVC_SET_SVC_INTERFACE(svc, env, svc_interface) \
         (svc->ops->set_svc_interface(svc, env, svc_interface))
-        
+
+#define AXIS2_SVC_GET_SVC_INTERFACE(svc, env) \
+        (svc->ops->get_svc_interface(svc, env))       
+
+#define AXIS2_SVC_ENGAGE_MODULE(svc, env, moduleref, axis2_config) \
+        (svc->ops->engage_module(svc, env, moduleref, axis2_config))
+
+#define AXIS2_SVC_ADD_MODULE_OPERATIONS(svc, env, module_desc, axis2_config) \
+        (svc->ops->add_module_operations(svc, env, module_desc, axis2_config))
+
+#define AXIS2_SVC_ADD_TO_ENGAGED_MODULE_LIST(svc, env, module_name) \
+        (svc->ops->add_to_engaged_module_list(svc, env, module_name))
+
+#define AXIS2_SVC_GET_ENGAGED_MODULES(svc, env) \
+        (svc->ops->get_engaged_modules(svc, env))
+
+#define AXIS2_SVC_GET_WSDL_OPERATION(svc, env, operation_name) \
+        (svc->ops->get_wsdl_operation(svc, env, operation_name))
+
+#define AXIS2_SVC_SET_CONTEXT_PATH(svc, env, context_path) \
+        (svc->ops->set_context_path(svc, env, context_path))
+
+#define AXIS2_SVC_GET_CONTEXT_PATH(svc, env) \
+        (svc->ops->get_context_path(svc, env))
+
+#define AXIS2_SVC_SET_STYLE(svc, env, style) \
+        (svc->ops->set_style(svc, env, style))
+
+#define AXIS2_SVC_GET_STYLE(svc, env) \
+        (svc->ops->get_style(svc, env))
+
+#define AXIS2_SVC_GET_INFLOW(svc, env) \
+        (svc->ops->get_inflow(svc, env))
+
+#define AXIS2_SVC_SET_INFLOW(svc, env, inflow) \
+        (svc->ops->set_inflow(svc, env, inflow))
+
+#define AXIS2_SVC_GET_OUTFLOW(svc, env) \
+        (svc->ops->get_outflow(svc, env))
+
+#define AXIS2_SVC_SET_OUTFLOW(svc, env, outflow) \
+        (svc->ops->set_outflow(svc, env, outflow))
+
+#define AXIS2_SVC_GET_FAULT_INFLOW(svc, env) \
+        (svc->ops->get_fault_inflow(svc, env))
+
+#define AXIS2_SVC_SET_FAULT_INFLOW(svc, env, fault_inflow) \
+        (svc->ops->set_fault_inflow(svc, env, fault_inflow))
+
+#define AXIS2_SVC_GET_FAULT_OUTFLOW(svc, env) \
+        (svc->ops->get_fault_outflow(svc, env))
+
+#define AXIS2_SVC_SET_FAULT_OUTFLOW(svc, env, fault_outflow) \
+        (svc->ops->set_fault_outflow(svc, env, fault_outflow))
+
+#define AXIS2_SVC_GET_OPERATION_BY_SOAP_ACTION(svc, env, soap_action) \
+        (svc->ops->get_operation_by_soap_action(svc, env, soap_action))
+
+#define AXIS2_SVC_GET_OPERATION_BY_SOAP_ACTION_AND_ENDPOINT(svc, env, soap_action, endpoint) \
+        (svc->ops->get_operation_by_soap_action_and_endpoint(svc, env, soap_action, endpoint))
+
+#define AXIS2_SVC_GET_AXIS2_SVC_NAME(svc, env) \
+        (svc->ops->get_axis2_svc_name(svc, env))
+
+#define AXIS2_SVC_SET_AXIS2_SVC_NAME(svc, env, axis2_svc_name) \
+        (svc->ops->set_axis2_svc_name(svc, env, axis2_svc_name))
+
+#define AXIS2_SVC_SET_LAST_UPDATE(svc, env) \
+        (svc->ops->set_last_update(svc, env))
+
+#define AXIS2_SVC_GET_LAST_UPDATE(svc, env) \
+        (svc->ops->get_last_update(svc, env))
+
+#define AXIS2_SVC_GET_FILENAME(svc, env) \
+        (svc->ops->get_filename(svc, env))
+
+#define AXIS2_SVC_SET_FILENAME(svc, env, filename) \
+        (svc->ops->set_filename(svc, env, filename))
+
+#define AXIS2_SVC_GET_ENDPOINTS(svc, env) \
+        (svc->ops->get_endpoints(svc, env))
+
+#define AXIS2_SVC_SET_ENDPOINTS(svc, env, endpoints) \
+        (svc->ops->set_endpoints(svc, env, endpoints))
+
+#define AXIS2_SVC_SET_ENDPOINT(svc, env, endpoint) \
+        (svc->ops->set_endpoint(svc, env, endpoint))
+
+#define AXIS2_SVC_GET_ENDPOINT(svc, env, qname) \
+        (svc->ops->get_endpoint(svc, env, qname))
+
+#define AXIS2_SVC_GET_NAMESPACE(svc, env) \
+        (svc->ops->get_namespace(svc, env))
+
+#define AXIS2_SVC_ADD_MAPPING(svc, env, mapping_key, axis2_opt) \
+        (svc->ops->add_mapping(svc, env, mapping_key, axis2_opt))
+
+
 /**************************** End of function macros **************************/
 
 /** @} */