00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIS2_OP_H
00019 #define AXIS2_OP_H
00020
00039 #include <axutil_param_container.h>
00040 #include <axis2_svc.h>
00041 #include <axis2_msg_recv.h>
00042 #include <axutil_array_list.h>
00043 #include <axis2_module_desc.h>
00044 #include <axis2_description.h>
00045 #include <axis2_phase_meta.h>
00046 #include <axis2_relates_to.h>
00047 #include <axis2_msg_ctx.h>
00048 #include <axis2_op_ctx.h>
00049 #include <axis2_svc_ctx.h>
00050
00051 #ifdef __cplusplus
00052 extern "C"
00053 {
00054 #endif
00055
00057 typedef struct axis2_op axis2_op_t;
00058
00059 struct axis2_svc;
00060 struct axis2_msg_recv;
00061 struct axutil_param_container;
00062 struct axis2_module_desc;
00063 struct axis2_op;
00064 struct axis2_relates_to;
00065 struct axis2_op_ctx;
00066 struct axis2_svc_ctx;
00067 struct axis2_msg_ctx;
00068 struct axis2_msg;
00069 struct axis2_conf;
00070
00072 #define AXIS2_SOAP_ACTION "soapAction"
00073
00074
00080 AXIS2_EXTERN axis2_op_t *AXIS2_CALL
00081 axis2_op_create(const axutil_env_t *env);
00082
00083
00090 AXIS2_EXTERN void AXIS2_CALL
00091 axis2_op_free(axis2_op_t *op,
00092 const axutil_env_t *env);
00093
00100 AXIS2_EXTERN void AXIS2_CALL
00101 axis2_op_free_void_arg(void *op,
00102 const axutil_env_t *env);
00103
00104
00113 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00114 axis2_op_add_param(axis2_op_t *op,
00115 const axutil_env_t *env,
00116 axutil_param_t *param);
00117
00126 AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00127 axis2_op_get_param(const axis2_op_t *op,
00128 const axutil_env_t *env,
00129 const axis2_char_t *name);
00130
00138 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00139 axis2_op_get_all_params(const axis2_op_t *op,
00140 const axutil_env_t *env);
00141
00149 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00150 axis2_op_is_param_locked(axis2_op_t *op,
00151 const axutil_env_t *env,
00152 const axis2_char_t *param_name);
00153
00162 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00163 axis2_op_set_parent(axis2_op_t *op,
00164 const axutil_env_t *env,
00165 struct axis2_svc *svc);
00166
00174 AXIS2_EXTERN struct axis2_svc *AXIS2_CALL
00175 axis2_op_get_parent(const axis2_op_t *op,
00176 const axutil_env_t *env);
00177
00187 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00188 axis2_op_set_qname(axis2_op_t *op,
00189 const axutil_env_t *env,
00190 const axutil_qname_t *qname);
00191
00198 AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL
00199 axis2_op_get_qname(void *op,
00200 const axutil_env_t *env);
00201
00209 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00210 axis2_op_set_msg_exchange_pattern(axis2_op_t *op,
00211 const axutil_env_t *env,
00212 const axis2_char_t *pattern);
00213
00220 AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00221 axis2_op_get_msg_exchange_pattern(const axis2_op_t *op,
00222 const axutil_env_t *env);
00223
00233 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00234 axis2_op_set_msg_recv(axis2_op_t *op,
00235 const axutil_env_t *env,
00236 struct axis2_msg_recv *msg_recv);
00237
00246 AXIS2_EXTERN struct axis2_msg_recv *AXIS2_CALL
00247 axis2_op_get_msg_recv(const axis2_op_t *op,
00248 const axutil_env_t *env);
00249
00257 AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00258 axis2_op_get_style(const axis2_op_t *op,
00259 const axutil_env_t *env);
00260
00269 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00270 axis2_op_set_style(axis2_op_t *op,
00271 const axutil_env_t *env,
00272 const axis2_char_t *style);
00273
00284 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00285 axis2_op_engage_module(axis2_op_t *op,
00286 const axutil_env_t *env,
00287 struct axis2_module_desc *module_desc,
00288 struct axis2_conf *conf);
00289
00298 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00299 axis2_op_add_to_engaged_module_list(axis2_op_t *op,
00300 const axutil_env_t *env,
00301 struct axis2_module_desc *module_dec);
00302
00309 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00310 axis2_op_get_all_modules(const axis2_op_t *op,
00311 const axutil_env_t *env);
00312
00320 AXIS2_EXTERN int AXIS2_CALL
00321 axis2_op_get_axis_specific_mep_const(axis2_op_t *op,
00322 const axutil_env_t *env);
00323
00332 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00333 axis2_op_get_fault_in_flow(const axis2_op_t *op,
00334 const axutil_env_t *env);
00335
00336
00345 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00346 axis2_op_get_fault_out_flow(const axis2_op_t *op,
00347 const axutil_env_t *env);
00348
00357 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00358 axis2_op_get_out_flow(const axis2_op_t *op,
00359 const axutil_env_t *env);
00360
00369 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00370 axis2_op_get_in_flow(const axis2_op_t *op,
00371 const axutil_env_t *env);
00372
00382 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00383 axis2_op_set_fault_in_flow(axis2_op_t *op,
00384 const axutil_env_t *env,
00385 axutil_array_list_t *list);
00386
00396 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00397 axis2_op_set_fault_out_flow(axis2_op_t *op,
00398 const axutil_env_t *env,
00399 axutil_array_list_t *list);
00400
00410 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00411 axis2_op_set_out_flow(axis2_op_t *op,
00412 const axutil_env_t *env,
00413 axutil_array_list_t *list);
00414
00424 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00425 axis2_op_set_in_flow(axis2_op_t *op,
00426 const axutil_env_t *env,
00427 axutil_array_list_t *list);
00428
00437 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00438 axis2_op_add_module_qname(axis2_op_t *op,
00439 const axutil_env_t *env,
00440 const axutil_qname_t *module_qname);
00441
00449 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00450 axis2_op_get_all_module_qnames(const axis2_op_t *op,
00451 const axutil_env_t *env);
00452
00464 AXIS2_EXTERN struct axis2_op_ctx *AXIS2_CALL
00465 axis2_op_find_op_ctx(axis2_op_t *op,
00466 const axutil_env_t *env,
00467 struct axis2_msg_ctx *msg_ctx,
00468 struct axis2_svc_ctx *svc_ctx);
00469
00481 AXIS2_EXTERN struct axis2_op_ctx *AXIS2_CALL
00482 axis2_op_find_existing_op_ctx(axis2_op_t *op,
00483 const axutil_env_t *env,
00484 const struct axis2_msg_ctx *msg_ctx);
00485
00497 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00498 axis2_op_register_op_ctx(axis2_op_t *op,
00499 const axutil_env_t *env,
00500 struct axis2_msg_ctx *msg_ctx,
00501 struct axis2_op_ctx *op_ctx);
00502
00510 AXIS2_EXTERN struct axis2_msg *AXIS2_CALL
00511 axis2_op_get_msg(const axis2_op_t *op,
00512 const axutil_env_t *env,
00513 const axis2_char_t *label);
00514
00523 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00524 axis2_op_add_msg(axis2_op_t *op,
00525 const axutil_env_t *env,
00526 const axis2_char_t *label,
00527 const struct axis2_msg *msg);
00528
00535 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00536 axis2_op_is_from_module(const axis2_op_t *op,
00537 const axutil_env_t *env);
00538
00546 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00547 axis2_op_set_wsamapping_list(axis2_op_t *op,
00548 const axutil_env_t *env,
00549 axutil_array_list_t *mapping_list);
00550
00557 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00558 axis2_op_get_wsamapping_list(axis2_op_t *op,
00559 const axutil_env_t *env);
00560
00561 AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL
00562 axis2_op_get_param_container(const axis2_op_t *op,
00563 const axutil_env_t *env);
00564
00565 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00566 axis2_op_remove_from_engaged_module_list(axis2_op_t *op,
00567 const axutil_env_t *env,
00568 struct axis2_module_desc *module_desc);
00569
00575 AXIS2_EXTERN axis2_op_t *AXIS2_CALL
00576 axis2_op_create_from_module(const axutil_env_t *env);
00577
00584 AXIS2_EXTERN axis2_op_t *AXIS2_CALL
00585 axis2_op_create_with_qname(const axutil_env_t *env,
00586 const axutil_qname_t *name);
00587
00595 AXIS2_EXTERN void AXIS2_CALL
00596 axis2_op_free_void_arg(void *op,
00597 const axutil_env_t *env);
00598
00600 #ifdef __cplusplus
00601 }
00602 #endif
00603 #endif