From cce6f5459dfd45f8f8afafc8f4453f10d867e86e Mon Sep 17 00:00:00 2001 From: nandika Date: Sat, 4 Feb 2012 11:37:47 +0000 Subject: adding patch 0004 of jira issue 1582 git-svn-id: http://svn.apache.org/repos/asf/axis/axis2/c/core/trunk@1240492 13f79535-47bb-0310-9956-ffa450edef68 --- include/axis2_conf.h | 1679 +++++++++++++++++++++++++------------------------- 1 file changed, 845 insertions(+), 834 deletions(-) diff --git a/include/axis2_conf.h b/include/axis2_conf.h index 03c915f..ffc189d 100644 --- a/include/axis2_conf.h +++ b/include/axis2_conf.h @@ -1,834 +1,845 @@ - -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You 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_CONFIG_H -#define AXIS2_CONFIG_H - -/** - * @defgroup axis2_engine engine - * @ingroup axis2 - * @{ - * @} - */ - -/** - * @defgroup axis2_config configuration - * @ingroup axis2_engine - * Axis2 configuration captures all configuration information. Configuration - * information includes user preferences along with module and - * service information that is either statically configured using axis2.xml - * file, service.xml files and module.xml files or dynamically using the - * functions defined in the ops struct related to this conf struct. - * @{ - */ - -/** - * @file axis2_config.h - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef __cplusplus -extern "C" -{ -#endif - - /** Type name for struct axis2_conf */ - typedef struct axis2_conf axis2_conf_t; - - struct axis2_msg_recv; - struct axis2_phases_info; - struct axis2_svc_grp; - struct axis2_svc; - struct axis2_op; - struct axis2_dep_engine; - struct axis2_desp; - - /** - * Frees conf struct. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE - */ - AXIS2_EXTERN void AXIS2_CALL - axis2_conf_free( - axis2_conf_t * conf, - const axutil_env_t * env); - - /** - * Adds a service group to the configuration. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param svc_grp pointer to service group, conf takes over the - * ownership of the service group - * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE - */ - AXIS2_EXTERN axis2_status_t AXIS2_CALL - axis2_conf_add_svc_grp( - axis2_conf_t * conf, - const axutil_env_t * env, - struct axis2_svc_grp *svc_grp); - - /** - * Gets a named service group. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param svc_grp_name name of the service group to be accessed - * @return pointer to service group with the given name if exists, - * else NULL. Returns a reference, not a cloned copy - */ - AXIS2_EXTERN struct axis2_svc_grp *AXIS2_CALL - axis2_conf_get_svc_grp( - const axis2_conf_t * conf, - const axutil_env_t * env, - const axis2_char_t * svc_grp_name); - - /** - * Gets all service group added to conf. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @return pointer to hash table containing the service groups, returns - * a reference, not a cloned copy - */ - AXIS2_EXTERN axutil_hash_t *AXIS2_CALL - axis2_conf_get_all_svc_grps( - const axis2_conf_t * conf, - const axutil_env_t * env); - - /** - * Adds a service to configuration. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param svc pointer to service, conf takes over the ownership of the - * service - * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE - */ - AXIS2_EXTERN axis2_status_t AXIS2_CALL - axis2_conf_add_svc( - axis2_conf_t * conf, - const axutil_env_t * env, - struct axis2_svc *svc); - - /** - * Gets a service with given name. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param svc_name service name string - * @return pointer to service with the given name if exists, else NULL. - * Returns a reference, not a cloned copy - */ - AXIS2_EXTERN struct axis2_svc *AXIS2_CALL - axis2_conf_get_svc( - const axis2_conf_t * conf, - const axutil_env_t * env, - const axis2_char_t * svc_name); - - /** - * Removes the named service from configuration. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param name name of service to be removed - * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE - */ - AXIS2_EXTERN axis2_status_t AXIS2_CALL - axis2_conf_remove_svc( - axis2_conf_t * conf, - const axutil_env_t * env, - const axis2_char_t * name); - - /** - * Adds a parameter to configuration. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param param pointer to parameter struct to be added - * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE - */ - AXIS2_EXTERN axis2_status_t AXIS2_CALL - axis2_conf_add_param( - axis2_conf_t * conf, - const axutil_env_t * env, - axutil_param_t * param); - - /** - * Gets a parameter with the given name. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param name name of the parameter to be accessed - * @return pointer to parameter with the given name if exists, else NULL. - * Returns a reference, not a cloned copy - */ - AXIS2_EXTERN axutil_param_t *AXIS2_CALL - axis2_conf_get_param( - const axis2_conf_t * conf, - const axutil_env_t * env, - const axis2_char_t * name); - - /** - * Gets all the parameters added to the configuration. - * @param conf pointer to conf struct - * @param env pointer to environment - * @return pointer to array list containing parameters if exists, - * else NULL. Returns a reference, not a cloned copy - */ - AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL - axis2_conf_get_all_params( - const axis2_conf_t * conf, - const axutil_env_t * env); - - /** - * Checks if the named parameter is locked. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param param_name name of the parameter - * @return AXIS2_TRUE if parameter is locked, else AXIS2_FALSE - */ - AXIS2_EXTERN axis2_bool_t AXIS2_CALL - axis2_conf_is_param_locked( - const axis2_conf_t * conf, - const axutil_env_t * env, - const axis2_char_t * param_name); - - /** - * Gets in transport corresponding to the given transport QName. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param qname QName of transport - * @return pointer to transport in description if exists, - * else NULL. Returns a reference, not a cloned copy - */ - AXIS2_EXTERN axis2_transport_in_desc_t *AXIS2_CALL - - axis2_conf_get_transport_in( - const axis2_conf_t * conf, - const axutil_env_t * env, - const AXIS2_TRANSPORT_ENUMS trans_enum); - - /** - * Adds a transport in description. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param transport pointer to transport in description. conf assumes - * ownership of the struct - * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE - */ - AXIS2_EXTERN axis2_status_t AXIS2_CALL - axis2_conf_add_transport_in( - axis2_conf_t * conf, - const axutil_env_t * env, - axis2_transport_in_desc_t * transport, - const AXIS2_TRANSPORT_ENUMS trans_enum); - - /** - * Gets out transport corresponding to the given transport QName. - * @param conf pointer to conf struct - * @param env pointer to environment strcut - * @param qname pointer to transport qname - * @return pointer to transport out description if exists, - * else NULL. Returns a reference, not a cloned copy - */ - AXIS2_EXTERN axis2_transport_out_desc_t *AXIS2_CALL - - axis2_conf_get_transport_out( - const axis2_conf_t * conf, - const axutil_env_t * env, - const AXIS2_TRANSPORT_ENUMS trans_enum); - - /** - * Adds a transport out description. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param transport pointer to transport out description. conf assumes - * ownership of the struct - * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE - */ - AXIS2_EXTERN axis2_status_t AXIS2_CALL - axis2_conf_add_transport_out( - axis2_conf_t * conf, - const axutil_env_t * env, - axis2_transport_out_desc_t * transport, - const AXIS2_TRANSPORT_ENUMS trans_enum); - - /** - * Gets all in transports. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @return hash table containing all transport in descriptions. - * Returns a reference, not a cloned copy - */ - AXIS2_EXTERN axis2_transport_in_desc_t **AXIS2_CALL - - axis2_conf_get_all_in_transports( - const axis2_conf_t * conf, - const axutil_env_t * env); - - /** - * Gets all out transports. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @return hash table containing all transport out descriptions. - * Returns a reference, not a cloned copy - */ - AXIS2_EXTERN axis2_transport_out_desc_t **AXIS2_CALL - - axis2_conf_get_all_out_transports( - const axis2_conf_t * conf, - const axutil_env_t * env); - - /** - * Gets a module with given QName. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param qname pointer to qname - * @return module description corresponding to the given qname - */ - AXIS2_EXTERN struct axis2_module_desc *AXIS2_CALL - axis2_conf_get_module( - const axis2_conf_t * conf, - const axutil_env_t * env, - const axutil_qname_t * qname); - - /** - * Gets the list of engaged modules. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @return a pointer to the array list of engaged modules. Returns a - * reference, not a cloned copy - */ - AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL - - axis2_conf_get_all_engaged_modules( - const axis2_conf_t * conf, - const axutil_env_t * env); - - /** - * Gets the in phases up to and including port dispatch phase. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @return a pointer to the array list of in phases up to post dispatch - * inclusive. Returns a reference, not a cloned copy - */ - AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL - - axis2_conf_get_in_phases_upto_and_including_post_dispatch( - const axis2_conf_t * conf, - const axutil_env_t * env); - - /** - * Gets the out flow. Out flow is a list of phases invoked in the out - * path of execution of the engine. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @return a pointer to the array list of out flow phases. Returns a - * reference, not a cloned copy - */ - AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL - axis2_conf_get_out_flow( - const axis2_conf_t * conf, - const axutil_env_t * env); - - /** - * Gets the in fault flow. In fault flow is a list of phases invoked in - * the in path of execution, if some fault happens. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @return a pointer to the array list of in fault flow phases. Returns a - * reference, not a cloned copy - */ - AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL - - axis2_conf_get_in_fault_flow( - const axis2_conf_t * conf, - const axutil_env_t * env); - - /** - * Gets the out fault flow. Out fault flow is a list of phases invoked in - * the out path of execution, if some fault happens. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @return a pointer to the array list of out fault flow phases. Returns a - * reference, not a cloned copy - */ - AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL - - axis2_conf_get_out_fault_flow( - const axis2_conf_t * conf, - const axutil_env_t * env); - - /** - * Gets faulty services. A faulty service is a service that does not - * meet the service configuration criteria or a service with errors in - * the service dynamic link library. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @return a pointer to the hash table of faulty services. Returns a - * reference, not a cloned copy - */ - AXIS2_EXTERN axutil_hash_t *AXIS2_CALL - axis2_conf_get_all_faulty_svcs( - const axis2_conf_t * conf, - const axutil_env_t * env); - - /** - * Gets faulty modules. A faulty module is a module that does not - * meet the module configuration criteria or a module with errors in - * the service dynamic link library. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @return a pointer to the hash table of faulty modules. Returns a - * reference, not a cloned copy - */ - AXIS2_EXTERN axutil_hash_t *AXIS2_CALL - axis2_conf_get_all_faulty_modules( - const axis2_conf_t * conf, - const axutil_env_t * env); - - /** - * Gets all the list of services loaded into configuration. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @return a pointer to the hash table of services. Returns a - * reference, not a cloned copy - */ - AXIS2_EXTERN axutil_hash_t *AXIS2_CALL - axis2_conf_get_all_svcs( - const axis2_conf_t * conf, - const axutil_env_t * env); - - /** - * Gets all the list of services that need to be loaded into configuration - * at the start up of the axis2 engine. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @return a pointer to the hash table of services. Returns a - * reference, not a cloned copy - */ - AXIS2_EXTERN axutil_hash_t *AXIS2_CALL - axis2_conf_get_all_svcs_to_load( - const axis2_conf_t * conf, - const axutil_env_t * env); - - /** - * Checks is the named module is engaged. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param module_name pointer to QName representing the module name - * @return AXIS2_TRUE if named module is engaged, else AXIS2_FALSE - */ - AXIS2_EXTERN axis2_bool_t AXIS2_CALL - axis2_conf_is_engaged( - axis2_conf_t * conf, - const axutil_env_t * env, - const axutil_qname_t * module_name); - - /** - * Gets phases information struct. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @return a pointer to the struct containing phases information. - * Returns a reference, not a cloned copy - */ - AXIS2_EXTERN struct axis2_phases_info *AXIS2_CALL - - axis2_conf_get_phases_info( - const axis2_conf_t * conf, - const axutil_env_t * env); - - /** - * Sets phases information struct. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param phases_info pointer to phases_info struct. conf assumes - * ownership of the struct - * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE - */ - AXIS2_EXTERN axis2_status_t AXIS2_CALL - axis2_conf_set_phases_info( - axis2_conf_t * conf, - const axutil_env_t * env, - struct axis2_phases_info *phases_info); - - /** - * Adds message receiver with the given key. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param key key string with which the message receive is to be added - * @param msg_recv pointer to message receiver - * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE - */ - AXIS2_EXTERN axis2_status_t AXIS2_CALL - axis2_conf_add_msg_recv( - axis2_conf_t * conf, - const axutil_env_t * env, - const axis2_char_t * key, - struct axis2_msg_recv *msg_recv); - - /** - * Gets message receiver with the given key. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param key key string corresponding to the message receiver to - * be retrieved - * @return pointer to the message receiver with the given key if it - * exists, else null. Returns a reference, not a cloned copy - */ - AXIS2_EXTERN struct axis2_msg_recv *AXIS2_CALL - axis2_conf_get_msg_recv( - const axis2_conf_t * conf, - const axutil_env_t * env, - axis2_char_t * key); - - /** - * Sets the list of out phases. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param out_phases pointer to array list of the phases. conf assumes - * ownership of the struct - * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE - */ - AXIS2_EXTERN axis2_status_t AXIS2_CALL - axis2_conf_set_out_phases( - axis2_conf_t * conf, - const axutil_env_t * env, - axutil_array_list_t * out_phases); - - /** - * Gets the list of out phases. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @return pointer to array list of out phases. Returns a reference, - * not a cloned copy - */ - AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL - axis2_conf_get_out_phases( - const axis2_conf_t * conf, - const axutil_env_t * env); - - /** - * Sets fault phases for in path. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param list pointer to array list of phases - * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE - */ - AXIS2_EXTERN axis2_status_t AXIS2_CALL - axis2_conf_set_in_fault_phases( - axis2_conf_t * conf, - const axutil_env_t * env, - axutil_array_list_t * list); - - /** - * Sets fault phases for out path. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param list pointer to array list of phases - * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE - */ - AXIS2_EXTERN axis2_status_t AXIS2_CALL - axis2_conf_set_out_fault_phases( - axis2_conf_t * conf, - const axutil_env_t * env, - axutil_array_list_t * list); - - /** - * Gets all modules configured, - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @return a pointer to hash table containing the list of modules. - * Returns a reference, not a cloned copy - */ - AXIS2_EXTERN axutil_hash_t *AXIS2_CALL - axis2_conf_get_all_modules( - const axis2_conf_t * conf, - const axutil_env_t * env); - - /** - * Adds a module. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param module pointer to module struct to be added - * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE - */ - AXIS2_EXTERN axis2_status_t AXIS2_CALL - axis2_conf_add_module( - axis2_conf_t * conf, - const axutil_env_t * env, - struct axis2_module_desc *module); - - /** - * Sets the default dispatchers. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE - */ - AXIS2_EXTERN axis2_status_t AXIS2_CALL - - axis2_conf_set_default_dispatchers( - axis2_conf_t * conf, - const axutil_env_t * env); - - /** - * Sets a custom dispatching phase. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param dispatch pointer to phase to be dispatched - * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE - */ - AXIS2_EXTERN axis2_status_t AXIS2_CALL - axis2_conf_set_dispatch_phase( - axis2_conf_t * conf, - const axutil_env_t * env, - axis2_phase_t * dispatch); - - /** - * Gets the repository location. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @return returns repository location as a string - */ - AXIS2_EXTERN const axis2_char_t *AXIS2_CALL - axis2_conf_get_repo( - const axis2_conf_t * conf, - const axutil_env_t * env); - - /** - * Sets the repository location. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param axis2_repo repository location as a string - * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE - */ - AXIS2_EXTERN axis2_status_t AXIS2_CALL - axis2_conf_set_repo( - axis2_conf_t * conf, - const axutil_env_t * env, - axis2_char_t * axis2_repo); - - - /** - * Gets the axis2.xml location. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @return returns repository location as a string - */ - AXIS2_EXTERN const axis2_char_t *AXIS2_CALL - axis2_conf_get_axis2_xml( - const axis2_conf_t * conf, - const axutil_env_t * env); - - /** - * Sets the axis2.xml location. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param axis2_xml repository location as a string - * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE - */ - AXIS2_EXTERN axis2_status_t AXIS2_CALL - axis2_conf_set_axis2_xml( - axis2_conf_t * conf, - const axutil_env_t * env, - axis2_char_t * axis2_xml); - - /** - * Engages the named module. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param module_ref pointer to the QName of the module to be engaged - * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE - */ - AXIS2_EXTERN axis2_status_t AXIS2_CALL - axis2_conf_engage_module( - axis2_conf_t * conf, - const axutil_env_t * env, - const axutil_qname_t * module_ref); - - /** - * Sets the deployment engine. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param dep_engine pointer to dep_engine struct - * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE - */ - AXIS2_EXTERN axis2_status_t AXIS2_CALL - axis2_conf_set_dep_engine( - axis2_conf_t * conf, - const axutil_env_t * env, - struct axis2_dep_engine *dep_engine); - - /** - * Gets the default module version for the named module. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param module_name module name string - * @return default module version as a string - */ - AXIS2_EXTERN const axis2_char_t *AXIS2_CALL - - axis2_conf_get_default_module_version( - const axis2_conf_t * conf, - const axutil_env_t * env, - const axis2_char_t * module_name); - - /** - * Gets the default module reference for the named module. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param module_name module name string - * @return pointer to the module description struct corresponding to - * the given name - */ - AXIS2_EXTERN struct axis2_module_desc *AXIS2_CALL - - axis2_conf_get_default_module( - const axis2_conf_t * conf, - const axutil_env_t * env, - const axis2_char_t * module_name); - - /** - * Adds a default module version for the named module. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param module_name name of the module - * @param module_version default version for the module - * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE - */ - AXIS2_EXTERN axis2_status_t AXIS2_CALL - - axis2_conf_add_default_module_version( - axis2_conf_t * conf, - const axutil_env_t * env, - const axis2_char_t * module_name, - const axis2_char_t * module_version); - - /** - * Engages the module with the given version. - * @param conf pointer to conf struct - * @param env pointer to environment struct - * @param module_name name of the module to be engaged - * @param version_id version of the module to be engaged - * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE - */ - AXIS2_EXTERN axis2_status_t AXIS2_CALL - - axis2_conf_engage_module_with_version( - axis2_conf_t * conf, - const axutil_env_t * env, - const axis2_char_t * module_name, - const axis2_char_t * version_id); - - /** - * Creates configuration struct. - * @param env pointer to environment struct - * @return pointer to newly created configuration - */ - AXIS2_EXTERN axis2_conf_t *AXIS2_CALL - axis2_conf_create( - const axutil_env_t * env); - - AXIS2_EXTERN axis2_bool_t AXIS2_CALL - axis2_conf_get_enable_mtom( - axis2_conf_t * conf, - const axutil_env_t * env); - - AXIS2_EXTERN axis2_status_t AXIS2_CALL - axis2_conf_set_enable_mtom( - axis2_conf_t * conf, - const axutil_env_t * env, - axis2_bool_t enable_mtom); - - /** - * set a flag to mark conf created by axis2.xml - */ - AXIS2_EXTERN axis2_bool_t AXIS2_CALL - axis2_conf_get_axis2_flag( - axis2_conf_t * conf, - const axutil_env_t * env); - - AXIS2_EXTERN axis2_status_t AXIS2_CALL - axis2_conf_set_axis2_flag( - axis2_conf_t * conf, - const axutil_env_t * env, - axis2_bool_t axis2_flag); - - /*The following two methods are used in Rampart to - *check whether security is engaed. */ - - AXIS2_EXTERN axis2_bool_t AXIS2_CALL - axis2_conf_get_enable_security( - axis2_conf_t * conf, - const axutil_env_t * env); - - AXIS2_EXTERN axis2_status_t AXIS2_CALL - axis2_conf_set_enable_security( - axis2_conf_t * conf, - const axutil_env_t * env, - axis2_bool_t enable_security); - - AXIS2_EXTERN void *AXIS2_CALL - axis2_conf_get_security_context( - axis2_conf_t * conf, - const axutil_env_t * env); - - AXIS2_EXTERN axis2_status_t AXIS2_CALL - axis2_conf_set_security_context( - axis2_conf_t * conf, - const axutil_env_t * env, - void *security_context); - - AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL - - axis2_conf_get_param_container( - const axis2_conf_t * conf, - const axutil_env_t * env); - - /** - * Gets base description. - * @param conf pointer to message - * @param env pointer to environment struct - * @return pointer to base description struct - */ - AXIS2_EXTERN axis2_desc_t *AXIS2_CALL - axis2_conf_get_base( - const axis2_conf_t * conf, - const axutil_env_t * env); - - AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL - axis2_conf_get_handlers(const axis2_conf_t * conf, - const axutil_env_t * env); - - /** - * Disengage a module - * @param - * - */ - AXIS2_EXTERN axis2_status_t AXIS2_CALL - axis2_conf_disengage_module( - const axis2_conf_t *conf, - const axutil_env_t *env, - const axutil_qname_t *module_ref - ); -#ifdef __cplusplus -} -#endif -#endif /* AXIS2_CONFIG_H */ + +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You 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_CONFIG_H +#define AXIS2_CONFIG_H + +/** + * @defgroup axis2_engine engine + * @ingroup axis2 + * @{ + * @} + */ + +/** + * @defgroup axis2_config configuration + * @ingroup axis2_engine + * Axis2 configuration captures all configuration information. Configuration + * information includes user preferences along with module and + * service information that is either statically configured using axis2.xml + * file, service.xml files and module.xml files or dynamically using the + * functions defined in the ops struct related to this conf struct. + * @{ + */ + +/** + * @file axis2_config.h + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" +{ +#endif + + /** Type name for struct axis2_conf */ + typedef struct axis2_conf axis2_conf_t; + + struct axis2_msg_recv; + struct axis2_phases_info; + struct axis2_svc_grp; + struct axis2_svc; + struct axis2_op; + struct axis2_dep_engine; + struct axis2_desp; + + /** + * Frees conf struct. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN void AXIS2_CALL + axis2_conf_free( + axis2_conf_t * conf, + const axutil_env_t * env); + + /** + * Adds a service group to the configuration. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param svc_grp pointer to service group, conf takes over the + * ownership of the service group + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_conf_add_svc_grp( + axis2_conf_t * conf, + const axutil_env_t * env, + struct axis2_svc_grp *svc_grp); + + /** + * Gets a named service group. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param svc_grp_name name of the service group to be accessed + * @return pointer to service group with the given name if exists, + * else NULL. Returns a reference, not a cloned copy + */ + AXIS2_EXTERN struct axis2_svc_grp *AXIS2_CALL + axis2_conf_get_svc_grp( + const axis2_conf_t * conf, + const axutil_env_t * env, + const axis2_char_t * svc_grp_name); + + /** + * Gets all service group added to conf. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @return pointer to hash table containing the service groups, returns + * a reference, not a cloned copy + */ + AXIS2_EXTERN axutil_hash_t *AXIS2_CALL + axis2_conf_get_all_svc_grps( + const axis2_conf_t * conf, + const axutil_env_t * env); + + /** + * Adds a service to configuration. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param svc pointer to service, conf takes over the ownership of the + * service + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_conf_add_svc( + axis2_conf_t * conf, + const axutil_env_t * env, + struct axis2_svc *svc); + + /** + * Gets a service with given name. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param svc_name service name string + * @return pointer to service with the given name if exists, else NULL. + * Returns a reference, not a cloned copy + */ + AXIS2_EXTERN struct axis2_svc *AXIS2_CALL + axis2_conf_get_svc( + const axis2_conf_t * conf, + const axutil_env_t * env, + const axis2_char_t * svc_name); + + /** + * Removes the named service from configuration. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param name name of service to be removed + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_conf_remove_svc( + axis2_conf_t * conf, + const axutil_env_t * env, + const axis2_char_t * name); + + /** + * Adds a parameter to configuration. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param param pointer to parameter struct to be added + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_conf_add_param( + axis2_conf_t * conf, + const axutil_env_t * env, + axutil_param_t * param); + + /** + * Gets a parameter with the given name. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param name name of the parameter to be accessed + * @return pointer to parameter with the given name if exists, else NULL. + * Returns a reference, not a cloned copy + */ + AXIS2_EXTERN axutil_param_t *AXIS2_CALL + axis2_conf_get_param( + const axis2_conf_t * conf, + const axutil_env_t * env, + const axis2_char_t * name); + + /** + * Gets all the parameters added to the configuration. + * @param conf pointer to conf struct + * @param env pointer to environment + * @return pointer to array list containing parameters if exists, + * else NULL. Returns a reference, not a cloned copy + */ + AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL + axis2_conf_get_all_params( + const axis2_conf_t * conf, + const axutil_env_t * env); + + /** + * Checks if the named parameter is locked. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param param_name name of the parameter + * @return AXIS2_TRUE if parameter is locked, else AXIS2_FALSE + */ + AXIS2_EXTERN axis2_bool_t AXIS2_CALL + axis2_conf_is_param_locked( + const axis2_conf_t * conf, + const axutil_env_t * env, + const axis2_char_t * param_name); + + /** + * Gets in transport corresponding to the given transport QName. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param qname QName of transport + * @return pointer to transport in description if exists, + * else NULL. Returns a reference, not a cloned copy + */ + AXIS2_EXTERN axis2_transport_in_desc_t *AXIS2_CALL + + axis2_conf_get_transport_in( + const axis2_conf_t * conf, + const axutil_env_t * env, + const AXIS2_TRANSPORT_ENUMS trans_enum); + + /** + * Adds a transport in description. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param transport pointer to transport in description. conf assumes + * ownership of the struct + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_conf_add_transport_in( + axis2_conf_t * conf, + const axutil_env_t * env, + axis2_transport_in_desc_t * transport, + const AXIS2_TRANSPORT_ENUMS trans_enum); + + /** + * Gets out transport corresponding to the given transport QName. + * @param conf pointer to conf struct + * @param env pointer to environment strcut + * @param qname pointer to transport qname + * @return pointer to transport out description if exists, + * else NULL. Returns a reference, not a cloned copy + */ + AXIS2_EXTERN axis2_transport_out_desc_t *AXIS2_CALL + + axis2_conf_get_transport_out( + const axis2_conf_t * conf, + const axutil_env_t * env, + const AXIS2_TRANSPORT_ENUMS trans_enum); + + /** + * Adds a transport out description. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param transport pointer to transport out description. conf assumes + * ownership of the struct + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_conf_add_transport_out( + axis2_conf_t * conf, + const axutil_env_t * env, + axis2_transport_out_desc_t * transport, + const AXIS2_TRANSPORT_ENUMS trans_enum); + + /** + * Gets all in transports. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @return hash table containing all transport in descriptions. + * Returns a reference, not a cloned copy + */ + AXIS2_EXTERN axis2_transport_in_desc_t **AXIS2_CALL + + axis2_conf_get_all_in_transports( + const axis2_conf_t * conf, + const axutil_env_t * env); + + /** + * Gets all out transports. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @return hash table containing all transport out descriptions. + * Returns a reference, not a cloned copy + */ + AXIS2_EXTERN axis2_transport_out_desc_t **AXIS2_CALL + + axis2_conf_get_all_out_transports( + const axis2_conf_t * conf, + const axutil_env_t * env); + + /** + * Gets a module with given QName. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param qname pointer to qname + * @return module description corresponding to the given qname + */ + AXIS2_EXTERN struct axis2_module_desc *AXIS2_CALL + axis2_conf_get_module( + const axis2_conf_t * conf, + const axutil_env_t * env, + const axutil_qname_t * qname); + + /** + * Gets the list of engaged modules. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @return a pointer to the array list of engaged modules. Returns a + * reference, not a cloned copy + */ + AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL + + axis2_conf_get_all_engaged_modules( + const axis2_conf_t * conf, + const axutil_env_t * env); + + /** + * Gets the in phases up to and including port dispatch phase. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @return a pointer to the array list of in phases up to post dispatch + * inclusive. Returns a reference, not a cloned copy + */ + AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL + + axis2_conf_get_in_phases_upto_and_including_post_dispatch( + const axis2_conf_t * conf, + const axutil_env_t * env); + + /** + * Gets the out flow. Out flow is a list of phases invoked in the out + * path of execution of the engine. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @return a pointer to the array list of out flow phases. Returns a + * reference, not a cloned copy + */ + AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL + axis2_conf_get_out_flow( + const axis2_conf_t * conf, + const axutil_env_t * env); + + /** + * Gets the in fault flow. In fault flow is a list of phases invoked in + * the in path of execution, if some fault happens. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @return a pointer to the array list of in fault flow phases. Returns a + * reference, not a cloned copy + */ + AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL + + axis2_conf_get_in_fault_flow( + const axis2_conf_t * conf, + const axutil_env_t * env); + + /** + * Gets the out fault flow. Out fault flow is a list of phases invoked in + * the out path of execution, if some fault happens. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @return a pointer to the array list of out fault flow phases. Returns a + * reference, not a cloned copy + */ + AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL + + axis2_conf_get_out_fault_flow( + const axis2_conf_t * conf, + const axutil_env_t * env); + + /** + * Gets faulty services. A faulty service is a service that does not + * meet the service configuration criteria or a service with errors in + * the service dynamic link library. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @return a pointer to the hash table of faulty services. Returns a + * reference, not a cloned copy + */ + AXIS2_EXTERN axutil_hash_t *AXIS2_CALL + axis2_conf_get_all_faulty_svcs( + const axis2_conf_t * conf, + const axutil_env_t * env); + + /** + * Gets faulty modules. A faulty module is a module that does not + * meet the module configuration criteria or a module with errors in + * the service dynamic link library. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @return a pointer to the hash table of faulty modules. Returns a + * reference, not a cloned copy + */ + AXIS2_EXTERN axutil_hash_t *AXIS2_CALL + axis2_conf_get_all_faulty_modules( + const axis2_conf_t * conf, + const axutil_env_t * env); + + /** + * Gets all the list of services loaded into configuration. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @return a pointer to the hash table of services. Returns a + * reference, not a cloned copy + */ + AXIS2_EXTERN axutil_hash_t *AXIS2_CALL + axis2_conf_get_all_svcs( + const axis2_conf_t * conf, + const axutil_env_t * env); + + /** + * Gets all the list of services that need to be loaded into configuration + * at the start up of the axis2 engine. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @return a pointer to the hash table of services. Returns a + * reference, not a cloned copy + */ + AXIS2_EXTERN axutil_hash_t *AXIS2_CALL + axis2_conf_get_all_svcs_to_load( + const axis2_conf_t * conf, + const axutil_env_t * env); + + /** + * Checks is the named module is engaged. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param module_name pointer to QName representing the module name + * @return AXIS2_TRUE if named module is engaged, else AXIS2_FALSE + */ + AXIS2_EXTERN axis2_bool_t AXIS2_CALL + axis2_conf_is_engaged( + axis2_conf_t * conf, + const axutil_env_t * env, + const axutil_qname_t * module_name); + + /** + * Gets phases information struct. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @return a pointer to the struct containing phases information. + * Returns a reference, not a cloned copy + */ + AXIS2_EXTERN struct axis2_phases_info *AXIS2_CALL + + axis2_conf_get_phases_info( + const axis2_conf_t * conf, + const axutil_env_t * env); + + /** + * Sets phases information struct. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param phases_info pointer to phases_info struct. conf assumes + * ownership of the struct + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_conf_set_phases_info( + axis2_conf_t * conf, + const axutil_env_t * env, + struct axis2_phases_info *phases_info); + + /** + * Adds message receiver with the given key. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param key key string with which the message receive is to be added + * @param msg_recv pointer to message receiver + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_conf_add_msg_recv( + axis2_conf_t * conf, + const axutil_env_t * env, + const axis2_char_t * key, + struct axis2_msg_recv *msg_recv); + + /** + * Gets message receiver with the given key. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param key key string corresponding to the message receiver to + * be retrieved + * @return pointer to the message receiver with the given key if it + * exists, else null. Returns a reference, not a cloned copy + */ + AXIS2_EXTERN struct axis2_msg_recv *AXIS2_CALL + axis2_conf_get_msg_recv( + const axis2_conf_t * conf, + const axutil_env_t * env, + axis2_char_t * key); + + /** + * Sets the list of out phases. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param out_phases pointer to array list of the phases. conf assumes + * ownership of the struct + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_conf_set_out_phases( + axis2_conf_t * conf, + const axutil_env_t * env, + axutil_array_list_t * out_phases); + + /** + * Gets the list of out phases. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @return pointer to array list of out phases. Returns a reference, + * not a cloned copy + */ + AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL + axis2_conf_get_out_phases( + const axis2_conf_t * conf, + const axutil_env_t * env); + + /** + * Sets fault phases for in path. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param list pointer to array list of phases + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_conf_set_in_fault_phases( + axis2_conf_t * conf, + const axutil_env_t * env, + axutil_array_list_t * list); + + /** + * Sets fault phases for out path. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param list pointer to array list of phases + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_conf_set_out_fault_phases( + axis2_conf_t * conf, + const axutil_env_t * env, + axutil_array_list_t * list); + + /** + * Gets all modules configured, + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @return a pointer to hash table containing the list of modules. + * Returns a reference, not a cloned copy + */ + AXIS2_EXTERN axutil_hash_t *AXIS2_CALL + axis2_conf_get_all_modules( + const axis2_conf_t * conf, + const axutil_env_t * env); + + /** + * Adds a module. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param module pointer to module struct to be added + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_conf_add_module( + axis2_conf_t * conf, + const axutil_env_t * env, + struct axis2_module_desc *module); + + /** + * Sets the default dispatchers. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + + axis2_conf_set_default_dispatchers( + axis2_conf_t * conf, + const axutil_env_t * env); + + /** + * Sets a custom dispatching phase. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param dispatch pointer to phase to be dispatched + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_conf_set_dispatch_phase( + axis2_conf_t * conf, + const axutil_env_t * env, + axis2_phase_t * dispatch); + + /** + * Gets the repository location. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @return returns repository location as a string + */ + AXIS2_EXTERN const axis2_char_t *AXIS2_CALL + axis2_conf_get_repo( + const axis2_conf_t * conf, + const axutil_env_t * env); + + /** + * Sets the repository location. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param axis2_repo repository location as a string + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_conf_set_repo( + axis2_conf_t * conf, + const axutil_env_t * env, + axis2_char_t * axis2_repo); + + + /** + * Gets the axis2.xml location. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @return returns repository location as a string + */ + AXIS2_EXTERN const axis2_char_t *AXIS2_CALL + axis2_conf_get_axis2_xml( + const axis2_conf_t * conf, + const axutil_env_t * env); + + /** + * Sets the axis2.xml location. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param axis2_xml repository location as a string + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_conf_set_axis2_xml( + axis2_conf_t * conf, + const axutil_env_t * env, + axis2_char_t * axis2_xml); + + /** + * Engages the named module. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param module_ref pointer to the QName of the module to be engaged + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_conf_engage_module( + axis2_conf_t * conf, + const axutil_env_t * env, + const axutil_qname_t * module_ref); + + /** + * Sets the deployment engine. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param dep_engine pointer to dep_engine struct + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_conf_set_dep_engine( + axis2_conf_t * conf, + const axutil_env_t * env, + struct axis2_dep_engine *dep_engine); + + /** + * Gets the deployment engine. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @return dep_engine pointer to dep_engine struct + */ + AXIS2_EXTERN struct axis2_dep_engine * AXIS2_CALL + axis2_conf_get_dep_engine( + axis2_conf_t * conf, + const axutil_env_t * env); + + /** + * Gets the default module version for the named module. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param module_name module name string + * @return default module version as a string + */ + AXIS2_EXTERN const axis2_char_t *AXIS2_CALL + + axis2_conf_get_default_module_version( + const axis2_conf_t * conf, + const axutil_env_t * env, + const axis2_char_t * module_name); + + /** + * Gets the default module reference for the named module. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param module_name module name string + * @return pointer to the module description struct corresponding to + * the given name + */ + AXIS2_EXTERN struct axis2_module_desc *AXIS2_CALL + + axis2_conf_get_default_module( + const axis2_conf_t * conf, + const axutil_env_t * env, + const axis2_char_t * module_name); + + /** + * Adds a default module version for the named module. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param module_name name of the module + * @param module_version default version for the module + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + + axis2_conf_add_default_module_version( + axis2_conf_t * conf, + const axutil_env_t * env, + const axis2_char_t * module_name, + const axis2_char_t * module_version); + + /** + * Engages the module with the given version. + * @param conf pointer to conf struct + * @param env pointer to environment struct + * @param module_name name of the module to be engaged + * @param version_id version of the module to be engaged + * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + + axis2_conf_engage_module_with_version( + axis2_conf_t * conf, + const axutil_env_t * env, + const axis2_char_t * module_name, + const axis2_char_t * version_id); + + /** + * Creates configuration struct. + * @param env pointer to environment struct + * @return pointer to newly created configuration + */ + AXIS2_EXTERN axis2_conf_t *AXIS2_CALL + axis2_conf_create( + const axutil_env_t * env); + + AXIS2_EXTERN axis2_bool_t AXIS2_CALL + axis2_conf_get_enable_mtom( + axis2_conf_t * conf, + const axutil_env_t * env); + + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_conf_set_enable_mtom( + axis2_conf_t * conf, + const axutil_env_t * env, + axis2_bool_t enable_mtom); + + /** + * set a flag to mark conf created by axis2.xml + */ + AXIS2_EXTERN axis2_bool_t AXIS2_CALL + axis2_conf_get_axis2_flag( + axis2_conf_t * conf, + const axutil_env_t * env); + + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_conf_set_axis2_flag( + axis2_conf_t * conf, + const axutil_env_t * env, + axis2_bool_t axis2_flag); + + /*The following two methods are used in Rampart to + *check whether security is engaed. */ + + AXIS2_EXTERN axis2_bool_t AXIS2_CALL + axis2_conf_get_enable_security( + axis2_conf_t * conf, + const axutil_env_t * env); + + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_conf_set_enable_security( + axis2_conf_t * conf, + const axutil_env_t * env, + axis2_bool_t enable_security); + + AXIS2_EXTERN void *AXIS2_CALL + axis2_conf_get_security_context( + axis2_conf_t * conf, + const axutil_env_t * env); + + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_conf_set_security_context( + axis2_conf_t * conf, + const axutil_env_t * env, + void *security_context); + + AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL + + axis2_conf_get_param_container( + const axis2_conf_t * conf, + const axutil_env_t * env); + + /** + * Gets base description. + * @param conf pointer to message + * @param env pointer to environment struct + * @return pointer to base description struct + */ + AXIS2_EXTERN axis2_desc_t *AXIS2_CALL + axis2_conf_get_base( + const axis2_conf_t * conf, + const axutil_env_t * env); + + AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL + axis2_conf_get_handlers(const axis2_conf_t * conf, + const axutil_env_t * env); + + /** + * Disengage a module + * @param + * + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL + axis2_conf_disengage_module( + const axis2_conf_t *conf, + const axutil_env_t *env, + const axutil_qname_t *module_ref + ); +#ifdef __cplusplus +} +#endif +#endif /* AXIS2_CONFIG_H */ -- cgit v1.1-32-gdbae