00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXIS2_MODULE_DESC_H
00020 #define AXIS2_MODULE_DESC_H
00021
00037 #include <axis2_const.h>
00038 #include <axutil_error.h>
00039 #include <axis2_defines.h>
00040 #include <axutil_env.h>
00041 #include <axutil_allocator.h>
00042 #include <axutil_string.h>
00043 #include <axutil_array_list.h>
00044 #include <axutil_param_container.h>
00045 #include <axis2_flow_container.h>
00046 #include <axutil_param.h>
00047 #include <axis2_op.h>
00048 #include <axis2_conf.h>
00049
00050 #ifdef __cplusplus
00051 extern "C"
00052 {
00053 #endif
00054
00056 typedef struct axis2_module_desc axis2_module_desc_t;
00057
00058 struct axis2_op;
00059 struct axis2_conf;
00060
00067 AXIS2_EXTERN void AXIS2_CALL
00068 axis2_module_desc_free(
00069 axis2_module_desc_t * module_desc,
00070 const axutil_env_t * env);
00071
00079 AXIS2_EXTERN axis2_flow_t *AXIS2_CALL
00080 axis2_module_desc_get_in_flow(
00081 const axis2_module_desc_t * module_desc,
00082 const axutil_env_t * env);
00083
00092 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00093 axis2_module_desc_set_in_flow(
00094 axis2_module_desc_t * module_desc,
00095 const axutil_env_t * env,
00096 axis2_flow_t * in_flow);
00097
00105 AXIS2_EXTERN axis2_flow_t *AXIS2_CALL
00106 axis2_module_desc_get_out_flow(
00107 const axis2_module_desc_t * module_desc,
00108 const axutil_env_t * env);
00109
00118 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00119 axis2_module_desc_set_out_flow(
00120 axis2_module_desc_t * module_desc,
00121 const axutil_env_t * env,
00122 axis2_flow_t * out_flow);
00123
00131 AXIS2_EXTERN axis2_flow_t *AXIS2_CALL
00132 axis2_module_desc_get_fault_in_flow(
00133 const axis2_module_desc_t * module_desc,
00134 const axutil_env_t * env);
00135
00144 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00145 axis2_module_desc_set_fault_in_flow(
00146 axis2_module_desc_t * module_desc,
00147 const axutil_env_t * env,
00148 axis2_flow_t * falut_in_flow);
00149
00157 AXIS2_EXTERN axis2_flow_t *AXIS2_CALL
00158 axis2_module_desc_get_fault_out_flow(
00159 const axis2_module_desc_t * module_desc,
00160 const axutil_env_t * env);
00161
00170 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00171 axis2_module_desc_set_fault_out_flow(
00172 axis2_module_desc_t * module_desc,
00173 const axutil_env_t * env,
00174 axis2_flow_t * fault_out_flow);
00175
00182 AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL
00183 axis2_module_desc_get_qname(
00184 const axis2_module_desc_t * module_desc,
00185 const axutil_env_t * env);
00186
00194 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00195 axis2_module_desc_set_qname(
00196 axis2_module_desc_t * module_desc,
00197 const axutil_env_t * env,
00198 const axutil_qname_t * qname);
00199
00207 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00208 axis2_module_desc_add_op(
00209 axis2_module_desc_t * module_desc,
00210 const axutil_env_t * env,
00211 struct axis2_op *op);
00212
00219 AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00220 axis2_module_desc_get_all_ops(
00221 const axis2_module_desc_t * module_desc,
00222 const axutil_env_t * env);
00223
00231 AXIS2_EXTERN struct axis2_conf *AXIS2_CALL
00232 axis2_module_desc_get_parent(
00233 const axis2_module_desc_t * module_desc,
00234 const axutil_env_t * env);
00235
00244 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00245 axis2_module_desc_set_parent(
00246 axis2_module_desc_t * module_desc,
00247 const axutil_env_t * env,
00248 struct axis2_conf *parent);
00249
00257 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00258 axis2_module_desc_add_param(
00259 axis2_module_desc_t * module_desc,
00260 const axutil_env_t * env,
00261 axutil_param_t * param);
00262
00270 AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00271 axis2_module_desc_get_param(
00272 const axis2_module_desc_t * module_desc,
00273 const axutil_env_t * env,
00274 const axis2_char_t * name);
00275
00282 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00283 axis2_module_desc_get_all_params(
00284 const axis2_module_desc_t * module_desc,
00285 const axutil_env_t * env);
00286
00294 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00295 axis2_module_desc_is_param_locked(
00296 const axis2_module_desc_t * module_desc,
00297 const axutil_env_t * env,
00298 const axis2_char_t * param_name);
00299
00306 AXIS2_EXTERN struct axis2_module *AXIS2_CALL
00307 axis2_module_desc_get_module(
00308 const axis2_module_desc_t * module_desc,
00309 const axutil_env_t * env);
00310
00318 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00319 axis2_module_desc_set_module(
00320 axis2_module_desc_t * module_desc,
00321 const axutil_env_t * env,
00322 struct axis2_module *module);
00323
00331 AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL
00332 axis2_module_desc_get_param_container(
00333 const axis2_module_desc_t * module_desc,
00334 const axutil_env_t * env);
00335
00343 AXIS2_EXTERN axis2_flow_container_t *AXIS2_CALL
00344 axis2_module_desc_get_flow_container(
00345 const axis2_module_desc_t * module_desc,
00346 const axutil_env_t * env);
00347
00353 AXIS2_EXTERN axis2_module_desc_t *AXIS2_CALL
00354 axis2_module_desc_create(
00355 const axutil_env_t * env);
00356
00363 AXIS2_EXTERN axis2_module_desc_t *AXIS2_CALL
00364 axis2_module_desc_create_with_qname(
00365 const axutil_env_t * env,
00366 const axutil_qname_t * qname);
00367
00376 AXIS2_EXTERN void AXIS2_CALL
00377 axis2_module_desc_free_void_arg(
00378 void *module_desc,
00379 const axutil_env_t * env);
00380
00383 #ifdef __cplusplus
00384 }
00385 #endif
00386 #endif