You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by da...@apache.org on 2006/02/07 13:50:28 UTC
svn commit: r375589 - in /webservices/axis2/trunk/c: include/
modules/core/deployment/ modules/core/engine/ modules/mod_addr/ modules/util/
Author: damitha
Date: Tue Feb 7 04:49:37 2006
New Revision: 375589
URL: http://svn.apache.org/viewcvs?rev=375589&view=rev
Log:
Now it is not seg faulting. but still I could not
check whether logic is ok. ie. whether phases resolver
does it well
Modified:
webservices/axis2/trunk/c/include/axis2_arch_reader.h
webservices/axis2/trunk/c/include/axis2_conf.h
webservices/axis2/trunk/c/include/axis2_dep_engine.h
webservices/axis2/trunk/c/modules/core/deployment/arch_reader.c
webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c
webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c
webservices/axis2/trunk/c/modules/core/engine/conf.c
webservices/axis2/trunk/c/modules/mod_addr/mod_addr.c
webservices/axis2/trunk/c/modules/util/file.c
Modified: webservices/axis2/trunk/c/include/axis2_arch_reader.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_arch_reader.h?rev=375589&r1=375588&r2=375589&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_arch_reader.h (original)
+++ webservices/axis2/trunk/c/include/axis2_arch_reader.h Tue Feb 7 04:49:37 2006
@@ -106,6 +106,10 @@
struct axis2_dep_engine *dep_engine,
axis2_module_desc_t *module);
+axis2_file_t *(AXIS2_CALL *
+create_module_arch)(axis2_arch_reader_t *arch_reader,
+ axis2_env_t **env,
+ axis2_char_t *module_name);
};
/**
@@ -142,6 +146,9 @@
#define AXIS2_ARCH_READER_READ_MODULE_ARCH(arch_reader, env, file_path, dep_engine, module) \
((arch_reader)->ops->read_module_arch (arch_reader, env, file_path, dep_engine, module))
+#define AXIS2_ARCH_READER_CREATE_MODULE_ARCH(arch_reader, env, module_name) \
+ ((arch_reader)->ops->create_module_arch (arch_reader, env, module_name))
+
/*************************** End of function macros ***************************/
/** @} */
Modified: webservices/axis2/trunk/c/include/axis2_conf.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_conf.h?rev=375589&r1=375588&r2=375589&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_conf.h (original)
+++ webservices/axis2/trunk/c/include/axis2_conf.h Tue Feb 7 04:49:37 2006
@@ -288,6 +288,10 @@
set_dispatch_phase) (axis2_conf_t *conf,
axis2_env_t **env,
axis2_phase_t *dispatch);
+
+ axis2_char_t *(AXIS2_CALL *
+ get_repos) (axis2_conf_t *conf,
+ axis2_env_t **env);
axis2_status_t (AXIS2_CALL *
set_repos) (axis2_conf_t *conf,
@@ -298,7 +302,8 @@
engage_module) (axis2_conf_t *conf,
axis2_env_t **env,
axis2_qname_t *module_ref);
-
+
+
};
/**
@@ -441,6 +446,9 @@
#define AXIS2_CONF_SET_DISPATCH_PHASE(conf, env, dispatch) \
((conf)->ops->set_dispatch_phase(conf , env, dispatch))
+#define AXIS2_CONF_GET_REPOS(conf, env) \
+ ((conf)->ops->get_repos(conf , env))
+
#define AXIS2_CONF_SET_REPOS(conf, env, axis2_repos) \
((conf)->ops->set_repos(conf , env, axis2_repos))
Modified: webservices/axis2/trunk/c/include/axis2_dep_engine.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_dep_engine.h?rev=375589&r1=375588&r2=375589&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_dep_engine.h (original)
+++ webservices/axis2/trunk/c/include/axis2_dep_engine.h Tue Feb 7 04:49:37 2006
@@ -179,6 +179,11 @@
axis2_char_t *(AXIS2_CALL *
get_repos_path) (axis2_dep_engine_t *dep_engine,
axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *
+ set_current_file_item)(axis2_dep_engine_t *dep_engine,
+ axis2_env_t **env,
+ axis2_arch_file_data_t *file_data);
};
@@ -220,7 +225,7 @@
axis2_dep_engine_create_with_repos_name_and_svr_xml_file (
axis2_env_t **env,
axis2_char_t *repos_path,
- axis2_char_t *svr_xml_file);
+ axis2_char_t *svr_xml_file);
@@ -281,6 +286,9 @@
#define AXIS2_DEP_ENGINE_GET_REPOS_PATH(dep_engine, env) \
((dep_engine)->ops->get_repos_path (dep_engine, env))
+
+#define AXIS2_DEP_ENGINE_SET_CURRENT_FILE_ITEM(dep_engine, env, file_data) \
+ ((dep_engine)->ops->set_current_file_item (dep_engine, env, file_data))
/*************************** End of function macros ***************************/
Modified: webservices/axis2/trunk/c/modules/core/deployment/arch_reader.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/arch_reader.c?rev=375589&r1=375588&r2=375589&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/arch_reader.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/arch_reader.c Tue Feb 7 04:49:37 2006
@@ -66,7 +66,11 @@
axis2_char_t *file_path,
struct axis2_dep_engine *dep_engine,
axis2_module_desc_t *module);
-
+axis2_file_t *AXIS2_CALL
+axis2_arch_reader_create_module_arch(axis2_arch_reader_t *arch_reader,
+ axis2_env_t **env,
+ axis2_char_t *module_name);
+
/************************** End of function prototypes ************************/
AXIS2_DECLARE(axis2_arch_reader_t *)
@@ -105,6 +109,8 @@
axis2_arch_reader_build_svc_grp;
arch_reader_impl->arch_reader.ops->read_module_arch =
axis2_arch_reader_read_module_arch;
+ arch_reader_impl->arch_reader.ops->create_module_arch =
+ axis2_arch_reader_create_module_arch;
return &(arch_reader_impl->arch_reader);
}
@@ -497,4 +503,22 @@
status = AXIS2_FAILURE;
}
return status;
+}
+
+axis2_file_t *AXIS2_CALL
+axis2_arch_reader_create_module_arch(axis2_arch_reader_t *arch_reader,
+ axis2_env_t **env,
+ axis2_char_t *module_name)
+{
+ axis2_file_t *file = NULL;
+
+ AXIS2_ENV_CHECK(env, NULL);
+
+ file = axis2_file_create(env);
+ if(!file)
+ {
+ return NULL;
+ }
+ AXIS2_FILE_SET_NAME(file, env, module_name);
+ return file;
}
Modified: webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c?rev=375589&r1=375588&r2=375589&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c Tue Feb 7 04:49:37 2006
@@ -253,7 +253,11 @@
module_itr = AXIS2_OM_ELEMENT_GET_CHILDREN_WITH_QNAME(conf_element, env,
qmodulest, conf_node);
AXIS2_QNAME_FREE(qmodulest, env);
- axis2_conf_builder_process_module_refs(conf_builder, env, module_itr);
+ status = axis2_conf_builder_process_module_refs(conf_builder, env, module_itr);
+ if(AXIS2_SUCCESS != status)
+ {
+ return AXIS2_FAILURE;
+ }
/* Proccessing Transport Sennders */
qtransportsender = axis2_qname_create(env, AXIS2_TRANSPORTSENDER, NULL, NULL);
trs_senders = AXIS2_OM_ELEMENT_GET_CHILDREN_WITH_QNAME(conf_element, env,
@@ -296,8 +300,9 @@
axis2_om_children_qname_iterator_t *module_refs)
{
axis2_conf_builder_impl_t *builder_impl = NULL;
+ axis2_status_t status = AXIS2_FAILURE;
- AXIS2_FUNC_PARAM_CHECK(conf_builder, env, AXIS2_FAILURE);
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, module_refs, AXIS2_FAILURE);
builder_impl = AXIS2_INTF_TO_IMPL(conf_builder);
@@ -311,6 +316,10 @@
axis2_om_attribute_t *module_ref_att = NULL;
module_ref_node = (axis2_om_node_t *)
AXIS2_OM_CHILDREN_QNAME_ITERATOR_NEXT(module_refs, env);
+ if(!module_ref_node)
+ {
+ return AXIS2_FAILURE;
+ }
module_ref_element = AXIS2_OM_NODE_GET_DATA_ELEMENT(module_ref_node, env);
qref = axis2_qname_create(env, AXIS2_REF, NULL, NULL);
module_ref_att = AXIS2_OM_ELEMENT_GET_ATTRIBUTE(module_ref_element, env,
@@ -324,13 +333,13 @@
ref_name = AXIS2_OM_ATTRIBUTE_GET_VALUE(module_ref_att, env);
qrefname = axis2_qname_create(env, ref_name, NULL, NULL);
- AXIS2_DEP_ENGINE_ADD_MODULE(conf_builder->desc_builder->engine, env,
- qrefname);
+ status = AXIS2_DEP_ENGINE_ADD_MODULE(conf_builder->desc_builder->
+ engine, env, qrefname);
if (qrefname)
AXIS2_QNAME_FREE(qrefname, env);
}
}
- return AXIS2_SUCCESS;
+ return status;
}
static axis2_status_t
Modified: webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c?rev=375589&r1=375588&r2=375589&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c Tue Feb 7 04:49:37 2006
@@ -95,6 +95,11 @@
axis2_arch_file_data_t *AXIS2_CALL
axis2_dep_engine_get_current_file_item(axis2_dep_engine_t *dep_engine,
axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_dep_engine_set_current_file_item(axis2_dep_engine_t *dep_engine,
+ axis2_env_t **env,
+ axis2_arch_file_data_t *file_data);
/**
* @param file
@@ -351,6 +356,8 @@
engine_impl->dep_engine.ops->build_svc = axis2_dep_engine_build_svc;
engine_impl->dep_engine.ops->build_module = axis2_dep_engine_build_module;
engine_impl->dep_engine.ops->get_repos_path = axis2_dep_engine_get_repos_path;
+ engine_impl->dep_engine.ops->set_current_file_item =
+ axis2_dep_engine_set_current_file_item;
return &(engine_impl->dep_engine);
}
@@ -553,14 +560,14 @@
axis2_qname_t *qname = NULL;
axis2_dep_engine_impl_t *engine_impl = NULL;
- AXIS2_FUNC_PARAM_CHECK(dep_engine, env, AXIS2_FAILURE);
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK((*env)->error, module_qname, AXIS2_FAILURE);
engine_impl = AXIS2_INTF_TO_IMPL(dep_engine);
qname = AXIS2_QNAME_CLONE(module_qname, env);
if(!engine_impl->module_list)
{
- engine_impl->module_list = axis2_array_list_create(env, 20);
+ engine_impl->module_list = axis2_array_list_create(env, 0);
if(!engine_impl->module_list)
return AXIS2_FAILURE;
}
@@ -756,7 +763,14 @@
return NULL;
}
- AXIS2_CONF_SET_PHASESINFO(engine_impl->conf, env, engine_impl->phases_info);
+ status = AXIS2_CONF_SET_PHASESINFO(engine_impl->conf, env, engine_impl->phases_info);
+ if(AXIS2_SUCCESS != status)
+ {
+ AXIS2_REPOS_LISTENER_FREE(repos_listener, env);
+ AXIS2_CONF_FREE(engine_impl->conf, env);
+ return NULL;
+ }
+
status = axis2_dep_engine_engage_modules(dep_engine, env);
if(AXIS2_SUCCESS != status)
{
@@ -910,8 +924,7 @@
AXIS2_FUNC_PARAM_CHECK(dep_engine, env, AXIS2_FAILURE);
engine_impl = AXIS2_INTF_TO_IMPL(dep_engine);
- /* ArrayList modules = DeploymentData.getInstance().getModules(); */
- /* PhaseResolver resolver = new PhaseResolver(axisConfig); */
+
if(!engine_impl->module_list)
{
/* there are no modules */
@@ -923,10 +936,12 @@
axis2_qname_t *qname = (axis2_qname_t *) AXIS2_ARRAY_LIST_GET(
engine_impl->module_list, env, i);
if (qname && engine_impl->conf)
- status = AXIS2_CONF_ENGAGE_MODULE(engine_impl->conf, env, qname);
- if(AXIS2_SUCCESS != status)
{
- return AXIS2_FAILURE;
+ status = AXIS2_CONF_ENGAGE_MODULE(engine_impl->conf, env, qname);
+ if(AXIS2_SUCCESS != status)
+ {
+ return AXIS2_FAILURE;
+ }
}
}
return AXIS2_SUCCESS;
@@ -1203,10 +1218,10 @@
dll_path = NULL;
AXIS2_DLL_DESC_SET_TYPE(dll_desc, env, AXIS2_MODULE_DLL);
- axis2_class_loader_init(env);
impl_info_param = axis2_param_create(env, NULL, NULL);
AXIS2_PARAM_SET_VALUE(impl_info_param, env, dll_desc);
impl_info_param->ops->value_free = axis2_dll_desc_free_void_arg;
+ axis2_class_loader_init(env);
module = (axis2_module_t *) axis2_class_loader_create_dll(env,
impl_info_param);
@@ -1339,9 +1354,6 @@
{
return status;
}
- AXIS2_CONF_ADD_MODULE(AXIS2_INTF_TO_IMPL(dep_engine)->conf, env,
- module_metadata);
- /* log.info(Messages.getMessage(DeploymentErrorMsgs.ADDING_NEW_MODULE)); */
in_flow = AXIS2_MODULE_DESC_GET_INFLOW(module_metadata, env);
if(NULL != in_flow)
@@ -1371,6 +1383,10 @@
module->handler_create_func_map);
}
+ AXIS2_CONF_ADD_MODULE(AXIS2_INTF_TO_IMPL(dep_engine)->conf, env,
+ module_metadata);
+ /* log.info(Messages.getMessage(DeploymentErrorMsgs.ADDING_NEW_MODULE)); */
+
return AXIS2_SUCCESS;
}
@@ -1616,8 +1632,9 @@
axis2_flow_t *in_fault_flow = NULL;
axis2_flow_t *out_fault_flow = NULL;
axis2_char_t *file_name = NULL;
+ axis2_status_t status = AXIS2_FAILURE;
- AXIS2_FUNC_PARAM_CHECK(dep_engine, env, NULL);
+ AXIS2_ENV_CHECK(env, NULL);
AXIS2_PARAM_CHECK((*env)->error, module_archive, NULL);
AXIS2_PARAM_CHECK((*env)->error, conf, NULL);
engine_impl = AXIS2_INTF_TO_IMPL(dep_engine);
@@ -1629,10 +1646,22 @@
module_desc = axis2_module_desc_create(env);
arch_reader = axis2_arch_reader_create(env);
file_name = AXIS2_FILE_GET_NAME(module_archive, env);
- AXIS2_ARCH_READER_READ_MODULE_ARCH(arch_reader, env, file_name, dep_engine,
- module_desc);
-
- axis2_dep_engine_load_module_dll(dep_engine, env, module_desc);
+ status = AXIS2_ARCH_READER_READ_MODULE_ARCH(arch_reader, env, file_name,
+ dep_engine, module_desc);
+ if(AXIS2_SUCCESS != status)
+ {
+ AXIS2_MODULE_DESC_FREE(module_desc, env);
+ AXIS2_ARCH_READER_FREE(arch_reader, env);
+ return NULL;
+ }
+ status = axis2_dep_engine_load_module_dll(dep_engine, env, module_desc);
+ if(AXIS2_SUCCESS != status)
+ {
+ AXIS2_MODULE_DESC_FREE(module_desc, env);
+ AXIS2_ARCH_READER_FREE(arch_reader, env);
+ return NULL;
+ }
+
module = AXIS2_MODULE_DESC_GET_MODULE(module_desc, env);
AXIS2_MODULE_FILL_HANDLER_CREATE_FUNC_MAP(module, env);
@@ -1675,6 +1704,25 @@
axis2_env_t **env)
{
return AXIS2_INTF_TO_IMPL(dep_engine)->folder_name;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_dep_engine_set_current_file_item(axis2_dep_engine_t *dep_engine,
+ axis2_env_t **env,
+ axis2_arch_file_data_t *file_data)
+{
+ axis2_dep_engine_impl_t *engine_impl = NULL;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ engine_impl = AXIS2_INTF_TO_IMPL(dep_engine);
+
+ if(engine_impl->curr_file)
+ {
+ AXIS2_ARCH_FILE_DATA_FREE(engine_impl->curr_file, env);
+ engine_impl->curr_file = NULL;
+ }
+ engine_impl->curr_file = file_data;
+ return AXIS2_SUCCESS;
}
/* public AxisService deployService(ClassLoader classLoder, InputStream serviceStream, String servieName) throws DeploymentException {
AxisService service = null;
Modified: webservices/axis2/trunk/c/modules/core/engine/conf.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/engine/conf.c?rev=375589&r1=375588&r2=375589&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/engine/conf.c (original)
+++ webservices/axis2/trunk/c/modules/core/engine/conf.c Tue Feb 7 04:49:37 2006
@@ -19,6 +19,7 @@
#include <axis2_conf.h>
#include <axis2_dir_handler.h>
#include <axis2_dep_engine.h>
+#include <axis2_arch_reader.h>
typedef struct axis2_conf_impl axis2_conf_impl_t;
@@ -267,16 +268,21 @@
axis2_env_t **env,
axis2_phase_t *dispatch);
-axis2_status_t AXIS2_CALL
-axis2_conf_set_repos(axis2_conf_t *conf,
- axis2_env_t **env,
- axis2_char_t *axis2_repos);
axis2_status_t AXIS2_CALL
axis2_conf_engage_module(axis2_conf_t *conf,
axis2_env_t **env,
axis2_qname_t *module_ref);
-
+
+axis2_char_t *AXIS2_CALL
+axis2_conf_get_repos(axis2_conf_t *conf,
+ axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_conf_set_repos(axis2_conf_t *conf,
+ axis2_env_t **env,
+ axis2_char_t *repos_path);
+
/************************** End of function prototypes ************************/
axis2_conf_t * AXIS2_CALL
@@ -569,6 +575,7 @@
config_impl->conf.ops->set_default_dispatchers =
axis2_conf_set_default_dispatchers;
config_impl->conf.ops->set_dispatch_phase = axis2_conf_set_dispatch_phase;
+ config_impl->conf.ops->get_repos = axis2_conf_get_repos;
config_impl->conf.ops->set_repos = axis2_conf_set_repos;
config_impl->conf.ops->engage_module = axis2_conf_engage_module;
@@ -1183,11 +1190,16 @@
axis2_env_t **env,
axis2_qname_t *qname)
{
- AXIS2_FUNC_PARAM_CHECK(conf, env, NULL);
- AXIS2_PARAM_CHECK((*env)->error, qname, NULL);
+ axis2_conf_impl_t *conf_impl = NULL;
+ axis2_char_t *name = NULL;
- return (axis2_module_desc_t *) axis2_hash_get(AXIS2_INTF_TO_IMPL(
- conf)->modules, qname, sizeof(axis2_qname_t));
+ AXIS2_ENV_CHECK(env, NULL);
+ AXIS2_PARAM_CHECK((*env)->error, qname, NULL);
+ conf_impl = AXIS2_INTF_TO_IMPL(conf);
+
+ name = AXIS2_QNAME_TO_STRING(qname, env);
+ return (axis2_module_desc_t *) axis2_hash_get(conf_impl->modules,
+ name, AXIS2_HASH_KEY_STRING);
}
/**
@@ -1688,16 +1700,6 @@
}
axis2_status_t AXIS2_CALL
-axis2_conf_set_repos(axis2_conf_t *conf,
- axis2_env_t **env,
- axis2_char_t *axis2_repos)
-{
- AXIS2_FUNC_PARAM_CHECK(conf, env, AXIS2_FAILURE);
- AXIS2_INTF_TO_IMPL(conf)->axis2_repos = axis2_repos;
- return AXIS2_SUCCESS;
-}
-
-axis2_status_t AXIS2_CALL
axis2_conf_engage_module(axis2_conf_t *conf,
axis2_env_t **env,
axis2_qname_t *module_ref)
@@ -1717,11 +1719,36 @@
{
axis2_file_t *file = NULL;
axis2_char_t *file_name = NULL;
+ axis2_arch_reader_t *arch_reader = NULL;
+ axis2_char_t *repos_path = NULL;
+ axis2_arch_file_data_t *file_data = NULL;
+ axis2_char_t *temp_path1 = NULL;
+ axis2_char_t *temp_path2 = NULL;
+ axis2_char_t *temp_path3 = NULL;
+ axis2_char_t *path = NULL;
- file = (axis2_file_t *) axis2_file_create(env);
+ arch_reader = axis2_arch_reader_create(env);
+ if(!arch_reader)
+ {
+ return AXIS2_FAILURE;
+ }
file_name = AXIS2_QNAME_GET_LOCALPART(module_ref, env);
- AXIS2_FILE_SET_NAME(file, env, file_name);
- dep_engine = axis2_dep_engine_create(env);
+ file = (axis2_file_t *) AXIS2_ARCH_READER_CREATE_MODULE_ARCH(
+ arch_reader, env, file_name) ;
+ repos_path = AXIS2_CONF_GET_REPOS(conf, env);
+ temp_path1 = AXIS2_STRACAT(repos_path, AXIS2_PATH_SEP_STR, env);
+ temp_path2 = AXIS2_STRACAT(temp_path1, AXIS2_MODULE_FOLDER, env);
+ temp_path3 = AXIS2_STRACAT(temp_path2, AXIS2_PATH_SEP_STR, env);
+ path = AXIS2_STRACAT(temp_path3, file_name, env);
+ AXIS2_FREE((*env)->allocator, temp_path1);
+ AXIS2_FREE((*env)->allocator, temp_path2);
+ AXIS2_FREE((*env)->allocator, temp_path3);
+ AXIS2_FILE_SET_PATH(file, env, path);
+ file_data = axis2_arch_file_data_create_with_type_and_file(env,
+ AXIS2_MODULE, file);
+
+ dep_engine = axis2_dep_engine_create_with_repos_name(env, repos_path);
+ AXIS2_DEP_ENGINE_SET_CURRENT_FILE_ITEM(dep_engine, env, file_data);
module_desc = AXIS2_DEP_ENGINE_BUILD_MODULE(dep_engine, env, file, conf);
is_new_module = AXIS2_TRUE;
}
@@ -1762,5 +1789,37 @@
{
axis2_conf_add_module(conf, env, module_desc);
}
+ return AXIS2_SUCCESS;
+}
+
+axis2_char_t *AXIS2_CALL
+axis2_conf_get_repos(axis2_conf_t *conf,
+ axis2_env_t **env)
+{
+ axis2_conf_impl_t *conf_impl = NULL;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ conf_impl = AXIS2_INTF_TO_IMPL(conf);
+
+ return conf_impl->axis2_repos;
+
+}
+
+axis2_status_t AXIS2_CALL
+axis2_conf_set_repos(axis2_conf_t *conf,
+ axis2_env_t **env,
+ axis2_char_t *repos_path)
+{
+ axis2_conf_impl_t *conf_impl = NULL;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ conf_impl = AXIS2_INTF_TO_IMPL(conf);
+
+ if(conf_impl->axis2_repos)
+ {
+ AXIS2_FREE((*env)->allocator, conf_impl->axis2_repos);
+ conf_impl->axis2_repos = NULL;
+ }
+ conf_impl->axis2_repos = AXIS2_STRDUP(repos_path, env);
return AXIS2_SUCCESS;
}
Modified: webservices/axis2/trunk/c/modules/mod_addr/mod_addr.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/mod_addr/mod_addr.c?rev=375589&r1=375588&r2=375589&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/mod_addr/mod_addr.c (original)
+++ webservices/axis2/trunk/c/modules/mod_addr/mod_addr.c Tue Feb 7 04:49:37 2006
@@ -16,12 +16,12 @@
#include <axis2_module.h>
#include <axis2_addr_mod.h>
-int
+axis2_status_t
axis2_mod_addr_shutdown(axis2_module_t *module,
axis2_env_t **env,
axis2_conf_t *axis2_system);
-int
+axis2_status_t
axis2_mod_addr_init(axis2_module_t *module,
axis2_env_t **env,
axis2_conf_t *axis2_system);
@@ -50,7 +50,7 @@
return module;
}
-int
+axis2_status_t
axis2_mod_addr_init(axis2_module_t *module,
axis2_env_t **env,
axis2_conf_t *axis2_system)
@@ -59,7 +59,7 @@
return AXIS2_SUCCESS;
}
-int
+axis2_status_t
axis2_mod_addr_shutdown(axis2_module_t *module,
axis2_env_t **env,
axis2_conf_t *axis2_system)
Modified: webservices/axis2/trunk/c/modules/util/file.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/util/file.c?rev=375589&r1=375588&r2=375589&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/util/file.c (original)
+++ webservices/axis2/trunk/c/modules/util/file.c Tue Feb 7 04:49:37 2006
@@ -189,7 +189,11 @@
{
axis2_file_impl_t *file_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- AXIS2_PARAM_CHECK((*env)->error, path, AXIS2_FAILURE);
+ if(NULL == path)
+ {
+ /* path is optional */
+ return AXIS2_SUCCESS;
+ }
file_impl = AXIS2_INTF_TO_IMPL(file);
if(file_impl->path)