00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXIS2_OP_H
00020 #define AXIS2_OP_H
00021
00040 #include <axutil_param_container.h>
00041 #include <axis2_svc.h>
00042 #include <axis2_msg_recv.h>
00043 #include <axutil_array_list.h>
00044 #include <axis2_module_desc.h>
00045 #include <axis2_description.h>
00046 #include <axis2_phase_meta.h>
00047 #include <axis2_relates_to.h>
00048 #include <axis2_msg_ctx.h>
00049 #include <axis2_op_ctx.h>
00050 #include <axis2_svc_ctx.h>
00051
00052 #ifdef __cplusplus
00053 extern "C"
00054 {
00055 #endif
00056
00058 typedef struct axis2_op axis2_op_t;
00059
00060 struct axis2_svc;
00061 struct axis2_msg_recv;
00062 struct axutil_param_container;
00063 struct axis2_module_desc;
00064 struct axis2_op;
00065 struct axis2_relates_to;
00066 struct axis2_op_ctx;
00067 struct axis2_svc_ctx;
00068 struct axis2_msg_ctx;
00069 struct axis2_msg;
00070 struct axis2_conf;
00071
00073 #define AXIS2_SOAP_ACTION "soapAction"
00074
00080 AXIS2_EXTERN axis2_op_t *AXIS2_CALL
00081 axis2_op_create(
00082 const axutil_env_t * env);
00083
00090 AXIS2_EXTERN void AXIS2_CALL
00091 axis2_op_free(
00092 axis2_op_t * op,
00093 const axutil_env_t * env);
00094
00101 AXIS2_EXTERN void AXIS2_CALL
00102 axis2_op_free_void_arg(
00103 void *op,
00104 const axutil_env_t * env);
00105
00114 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00115 axis2_op_add_param(
00116 axis2_op_t * op,
00117 const axutil_env_t * env,
00118 axutil_param_t * param);
00119
00128 AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00129 axis2_op_get_param(
00130 const axis2_op_t * op,
00131 const axutil_env_t * env,
00132 const axis2_char_t * name);
00133
00141 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00142 axis2_op_get_all_params(
00143 const axis2_op_t * op,
00144 const axutil_env_t * env);
00145
00153 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00154 axis2_op_is_param_locked(
00155 axis2_op_t * op,
00156 const axutil_env_t * env,
00157 const axis2_char_t * param_name);
00158
00167 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00168 axis2_op_set_parent(
00169 axis2_op_t * op,
00170 const axutil_env_t * env,
00171 struct axis2_svc *svc);
00172
00180 AXIS2_EXTERN struct axis2_svc *AXIS2_CALL
00181 axis2_op_get_parent(
00182 const axis2_op_t * op,
00183 const axutil_env_t * env);
00184
00194 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00195 axis2_op_set_qname(
00196 axis2_op_t * op,
00197 const axutil_env_t * env,
00198 const axutil_qname_t * qname);
00199
00206 AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL
00207 axis2_op_get_qname(
00208 void *op,
00209 const axutil_env_t * env);
00210
00218 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00219 axis2_op_set_msg_exchange_pattern(
00220 axis2_op_t * op,
00221 const axutil_env_t * env,
00222 const axis2_char_t * pattern);
00223
00230 AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00231
00232 axis2_op_get_msg_exchange_pattern(
00233 const axis2_op_t * op,
00234 const axutil_env_t * env);
00235
00245 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00246 axis2_op_set_msg_recv(
00247 axis2_op_t * op,
00248 const axutil_env_t * env,
00249 struct axis2_msg_recv *msg_recv);
00250
00259 AXIS2_EXTERN struct axis2_msg_recv *AXIS2_CALL
00260 axis2_op_get_msg_recv(
00261 const axis2_op_t * op,
00262 const axutil_env_t * env);
00263
00271 AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00272 axis2_op_get_style(
00273 const axis2_op_t * op,
00274 const axutil_env_t * env);
00275
00284 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00285 axis2_op_set_style(
00286 axis2_op_t * op,
00287 const axutil_env_t * env,
00288 const axis2_char_t * style);
00289
00300 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00301 axis2_op_engage_module(
00302 axis2_op_t * op,
00303 const axutil_env_t * env,
00304 struct axis2_module_desc *module_desc,
00305 struct axis2_conf *conf);
00306
00315 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00316
00317 axis2_op_add_to_engaged_module_list(
00318 axis2_op_t * op,
00319 const axutil_env_t * env,
00320 struct axis2_module_desc *module_dec);
00321
00328 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00329 axis2_op_get_all_modules(
00330 const axis2_op_t * op,
00331 const axutil_env_t * env);
00332
00340 AXIS2_EXTERN int AXIS2_CALL
00341 axis2_op_get_axis_specific_mep_const(
00342 axis2_op_t * op,
00343 const axutil_env_t * env);
00344
00353 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00354 axis2_op_get_fault_in_flow(
00355 const axis2_op_t * op,
00356 const axutil_env_t * env);
00357
00366 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00367 axis2_op_get_fault_out_flow(
00368 const axis2_op_t * op,
00369 const axutil_env_t * env);
00370
00379 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00380 axis2_op_get_out_flow(
00381 const axis2_op_t * op,
00382 const axutil_env_t * env);
00383
00392 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00393 axis2_op_get_in_flow(
00394 const axis2_op_t * op,
00395 const axutil_env_t * env);
00396
00406 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00407 axis2_op_set_fault_in_flow(
00408 axis2_op_t * op,
00409 const axutil_env_t * env,
00410 axutil_array_list_t * list);
00411
00421 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00422 axis2_op_set_fault_out_flow(
00423 axis2_op_t * op,
00424 const axutil_env_t * env,
00425 axutil_array_list_t * list);
00426
00436 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00437 axis2_op_set_out_flow(
00438 axis2_op_t * op,
00439 const axutil_env_t * env,
00440 axutil_array_list_t * list);
00441
00451 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00452 axis2_op_set_in_flow(
00453 axis2_op_t * op,
00454 const axutil_env_t * env,
00455 axutil_array_list_t * list);
00456
00465 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00466 axis2_op_add_module_qname(
00467 axis2_op_t * op,
00468 const axutil_env_t * env,
00469 const axutil_qname_t * module_qname);
00470
00478 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00479
00480 axis2_op_get_all_module_qnames(
00481 const axis2_op_t * op,
00482 const axutil_env_t * env);
00483
00495 AXIS2_EXTERN struct axis2_op_ctx *AXIS2_CALL
00496 axis2_op_find_op_ctx(
00497 axis2_op_t * op,
00498 const axutil_env_t * env,
00499 struct axis2_msg_ctx *msg_ctx,
00500 struct axis2_svc_ctx *svc_ctx);
00501
00513 AXIS2_EXTERN struct axis2_op_ctx *AXIS2_CALL
00514
00515 axis2_op_find_existing_op_ctx(
00516 axis2_op_t * op,
00517 const axutil_env_t * env,
00518 const struct axis2_msg_ctx *msg_ctx);
00519
00531 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00532 axis2_op_register_op_ctx(
00533 axis2_op_t * op,
00534 const axutil_env_t * env,
00535 struct axis2_msg_ctx *msg_ctx,
00536 struct axis2_op_ctx *op_ctx);
00537
00545 AXIS2_EXTERN struct axis2_msg *AXIS2_CALL
00546 axis2_op_get_msg(
00547 const axis2_op_t * op,
00548 const axutil_env_t * env,
00549 const axis2_char_t * label);
00550
00559 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00560 axis2_op_add_msg(
00561 axis2_op_t * op,
00562 const axutil_env_t * env,
00563 const axis2_char_t * label,
00564 const struct axis2_msg *msg);
00565
00572 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00573 axis2_op_is_from_module(
00574 const axis2_op_t * op,
00575 const axutil_env_t * env);
00576
00584 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00585 axis2_op_set_wsamapping_list(
00586 axis2_op_t * op,
00587 const axutil_env_t * env,
00588 axutil_array_list_t * mapping_list);
00589
00596 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00597
00598 axis2_op_get_wsamapping_list(
00599 axis2_op_t * op,
00600 const axutil_env_t * env);
00601
00602 AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL
00603
00604 axis2_op_get_param_container(
00605 const axis2_op_t * op,
00606 const axutil_env_t * env);
00607
00608 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00609
00610 axis2_op_remove_from_engaged_module_list(
00611 axis2_op_t * op,
00612 const axutil_env_t * env,
00613 struct axis2_module_desc *module_desc);
00614
00620 AXIS2_EXTERN axis2_op_t *AXIS2_CALL
00621 axis2_op_create_from_module(
00622 const axutil_env_t * env);
00623
00630 AXIS2_EXTERN axis2_op_t *AXIS2_CALL
00631 axis2_op_create_with_qname(
00632 const axutil_env_t * env,
00633 const axutil_qname_t * name);
00634
00642 AXIS2_EXTERN void AXIS2_CALL
00643 axis2_op_free_void_arg(
00644 void *op,
00645 const axutil_env_t * env);
00646
00653 AXIS2_EXTERN axis2_desc_t *AXIS2_CALL
00654 axis2_op_get_base(
00655 const axis2_op_t * op,
00656 const axutil_env_t * env);
00657
00659 #ifdef __cplusplus
00660 }
00661 #endif
00662 #endif