00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef AXIS2_MODULE_DESC_H
00018 #define AXIS2_MODULE_DESC_H
00019
00031 #include <axis2_const.h>
00032 #include <axutil_error.h>
00033 #include <axis2_defines.h>
00034 #include <axutil_env.h>
00035 #include <axutil_allocator.h>
00036 #include <axutil_string.h>
00037 #include <axutil_array_list.h>
00038 #include <axutil_param_container.h>
00039 #include <axis2_flow_container.h>
00040 #include <axutil_param.h>
00041 #include <axis2_op.h>
00042 #include <axis2_conf.h>
00043
00044 #ifdef __cplusplus
00045 extern "C"
00046 {
00047 #endif
00048
00050 typedef struct axis2_module_desc axis2_module_desc_t;
00051
00052 struct axis2_op;
00053 struct axis2_conf;
00054
00061 AXIS2_EXTERN void AXIS2_CALL
00062 axis2_module_desc_free(axis2_module_desc_t *module_desc,
00063 const axutil_env_t *env);
00064
00072 AXIS2_EXTERN axis2_flow_t *AXIS2_CALL
00073 axis2_module_desc_get_in_flow(const axis2_module_desc_t *module_desc,
00074 const axutil_env_t *env);
00075
00084 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00085 axis2_module_desc_set_in_flow(axis2_module_desc_t *module_desc,
00086 const axutil_env_t *env,
00087 axis2_flow_t *in_flow);
00088
00096 AXIS2_EXTERN axis2_flow_t *AXIS2_CALL
00097 axis2_module_desc_get_out_flow(const axis2_module_desc_t *module_desc,
00098 const axutil_env_t *env);
00099
00108 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00109 axis2_module_desc_set_out_flow(axis2_module_desc_t *module_desc,
00110 const axutil_env_t *env,
00111 axis2_flow_t *out_flow);
00112
00120 AXIS2_EXTERN axis2_flow_t *AXIS2_CALL
00121 axis2_module_desc_get_fault_in_flow(const axis2_module_desc_t *module_desc,
00122 const axutil_env_t *env);
00123
00132 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00133 axis2_module_desc_set_fault_in_flow(axis2_module_desc_t *module_desc,
00134 const axutil_env_t *env,
00135 axis2_flow_t *falut_in_flow);
00136
00144 AXIS2_EXTERN axis2_flow_t *AXIS2_CALL
00145 axis2_module_desc_get_fault_out_flow(const axis2_module_desc_t *module_desc,
00146 const axutil_env_t *env);
00147
00156 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00157 axis2_module_desc_set_fault_out_flow(axis2_module_desc_t *module_desc,
00158 const axutil_env_t *env,
00159 axis2_flow_t *fault_out_flow);
00160
00167 AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL
00168 axis2_module_desc_get_qname(const axis2_module_desc_t *module_desc,
00169 const axutil_env_t *env);
00170
00178 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00179 axis2_module_desc_set_qname(axis2_module_desc_t *module_desc,
00180 const axutil_env_t *env,
00181 const axutil_qname_t *qname);
00182
00190 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00191 axis2_module_desc_add_op(axis2_module_desc_t *module_desc,
00192 const axutil_env_t *env,
00193 struct axis2_op *op);
00194
00201 AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00202 axis2_module_desc_get_all_ops(const axis2_module_desc_t *module_desc,
00203 const axutil_env_t *env);
00204
00212 AXIS2_EXTERN struct axis2_conf *AXIS2_CALL
00213 axis2_module_desc_get_parent(const axis2_module_desc_t *module_desc,
00214 const axutil_env_t *env);
00215
00224 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00225 axis2_module_desc_set_parent(axis2_module_desc_t *module_desc,
00226 const axutil_env_t *env,
00227 struct axis2_conf *parent);
00228
00236 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00237 axis2_module_desc_add_param(axis2_module_desc_t *module_desc,
00238 const axutil_env_t *env,
00239 axutil_param_t *param);
00240
00248 AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00249 axis2_module_desc_get_param(const axis2_module_desc_t *module_desc,
00250 const axutil_env_t *env,
00251 const axis2_char_t *name);
00252
00259 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00260 axis2_module_desc_get_all_params(const axis2_module_desc_t *module_desc,
00261 const axutil_env_t *env);
00262
00270 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00271 axis2_module_desc_is_param_locked(const axis2_module_desc_t *module_desc,
00272 const axutil_env_t *env,
00273 const axis2_char_t *param_name);
00274
00281 AXIS2_EXTERN struct axis2_module *AXIS2_CALL
00282 axis2_module_desc_get_module(const axis2_module_desc_t *module_desc,
00283 const axutil_env_t *env);
00284
00292 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00293 axis2_module_desc_set_module(axis2_module_desc_t *module_desc,
00294 const axutil_env_t *env,
00295 struct axis2_module *module);
00296
00297 AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL
00298 axis2_module_desc_get_param_container(const axis2_module_desc_t *module_desc,
00299 const axutil_env_t *env);
00300
00301 AXIS2_EXTERN axis2_flow_container_t *AXIS2_CALL
00302 axis2_module_desc_get_flow_container(const axis2_module_desc_t *module_desc,
00303 const axutil_env_t *env);
00304
00310 AXIS2_EXTERN axis2_module_desc_t *AXIS2_CALL
00311 axis2_module_desc_create (const axutil_env_t *env);
00312
00319 AXIS2_EXTERN axis2_module_desc_t *AXIS2_CALL
00320 axis2_module_desc_create_with_qname(const axutil_env_t *env,
00321 const axutil_qname_t *qname);
00322
00331 AXIS2_EXTERN void AXIS2_CALL
00332 axis2_module_desc_free_void_arg(void *module_desc,
00333 const axutil_env_t *env);
00334
00335
00338 #ifdef __cplusplus
00339 }
00340 #endif
00341 #endif