00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIS2_MODULE_DESC_H
00019 #define AXIS2_MODULE_DESC_H
00020
00032 #include <axis2_const.h>
00033 #include <axutil_error.h>
00034 #include <axis2_defines.h>
00035 #include <axutil_env.h>
00036 #include <axutil_allocator.h>
00037 #include <axutil_string.h>
00038 #include <axutil_array_list.h>
00039 #include <axutil_param_container.h>
00040 #include <axis2_flow_container.h>
00041 #include <axutil_param.h>
00042 #include <axis2_op.h>
00043 #include <axis2_conf.h>
00044
00045 #ifdef __cplusplus
00046 extern "C"
00047 {
00048 #endif
00049
00051 typedef struct axis2_module_desc axis2_module_desc_t;
00052
00053 struct axis2_op;
00054 struct axis2_conf;
00055
00062 AXIS2_EXTERN void AXIS2_CALL
00063 axis2_module_desc_free(
00064 axis2_module_desc_t * module_desc,
00065 const axutil_env_t * env);
00066
00074 AXIS2_EXTERN axis2_flow_t *AXIS2_CALL
00075 axis2_module_desc_get_in_flow(
00076 const axis2_module_desc_t * module_desc,
00077 const axutil_env_t * env);
00078
00087 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00088 axis2_module_desc_set_in_flow(
00089 axis2_module_desc_t * module_desc,
00090 const axutil_env_t * env,
00091 axis2_flow_t * in_flow);
00092
00100 AXIS2_EXTERN axis2_flow_t *AXIS2_CALL
00101 axis2_module_desc_get_out_flow(
00102 const axis2_module_desc_t * module_desc,
00103 const axutil_env_t * env);
00104
00113 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00114 axis2_module_desc_set_out_flow(
00115 axis2_module_desc_t * module_desc,
00116 const axutil_env_t * env,
00117 axis2_flow_t * out_flow);
00118
00126 AXIS2_EXTERN axis2_flow_t *AXIS2_CALL
00127
00128 axis2_module_desc_get_fault_in_flow(
00129 const axis2_module_desc_t * module_desc,
00130 const axutil_env_t * env);
00131
00140 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00141
00142 axis2_module_desc_set_fault_in_flow(
00143 axis2_module_desc_t * module_desc,
00144 const axutil_env_t * env,
00145 axis2_flow_t * falut_in_flow);
00146
00154 AXIS2_EXTERN axis2_flow_t *AXIS2_CALL
00155
00156 axis2_module_desc_get_fault_out_flow(
00157 const axis2_module_desc_t * module_desc,
00158 const axutil_env_t * env);
00159
00168 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00169
00170 axis2_module_desc_set_fault_out_flow(
00171 axis2_module_desc_t * module_desc,
00172 const axutil_env_t * env,
00173 axis2_flow_t * fault_out_flow);
00174
00181 AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL
00182
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
00284 axis2_module_desc_get_all_params(
00285 const axis2_module_desc_t * module_desc,
00286 const axutil_env_t * env);
00287
00295 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00296 axis2_module_desc_is_param_locked(
00297 const axis2_module_desc_t * module_desc,
00298 const axutil_env_t * env,
00299 const axis2_char_t * param_name);
00300
00307 AXIS2_EXTERN struct axis2_module *AXIS2_CALL
00308
00309 axis2_module_desc_get_module(
00310 const axis2_module_desc_t * module_desc,
00311 const axutil_env_t * env);
00312
00320 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00321 axis2_module_desc_set_module(
00322 axis2_module_desc_t * module_desc,
00323 const axutil_env_t * env,
00324 struct axis2_module *module);
00325
00326 AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL
00327
00328 axis2_module_desc_get_param_container(
00329 const axis2_module_desc_t * module_desc,
00330 const axutil_env_t * env);
00331
00332 AXIS2_EXTERN axis2_flow_container_t *AXIS2_CALL
00333
00334 axis2_module_desc_get_flow_container(
00335 const axis2_module_desc_t * module_desc,
00336 const axutil_env_t * env);
00337
00343 AXIS2_EXTERN axis2_module_desc_t *AXIS2_CALL
00344 axis2_module_desc_create(
00345 const axutil_env_t * env);
00346
00353 AXIS2_EXTERN axis2_module_desc_t *AXIS2_CALL
00354
00355 axis2_module_desc_create_with_qname(
00356 const axutil_env_t * env,
00357 const axutil_qname_t * qname);
00358
00367 AXIS2_EXTERN void AXIS2_CALL
00368 axis2_module_desc_free_void_arg(
00369 void *module_desc,
00370 const axutil_env_t * env);
00371
00374 #ifdef __cplusplus
00375 }
00376 #endif
00377 #endif