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
00193 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00194 axis2_op_set_rest_http_method(
00195 axis2_op_t * op,
00196 const axutil_env_t * env,
00197 const axis2_char_t * rest_http_method);
00198
00206 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00207 axis2_op_get_rest_http_method(
00208 const axis2_op_t * op,
00209 const axutil_env_t * env);
00210
00219 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00220 axis2_op_set_rest_http_location(
00221 axis2_op_t * op,
00222 const axutil_env_t * env,
00223 const axis2_char_t * rest_http_location);
00224
00232 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00233 axis2_op_get_rest_http_location(
00234 const axis2_op_t * op,
00235 const axutil_env_t * env);
00236
00246 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00247 axis2_op_set_qname(
00248 axis2_op_t * op,
00249 const axutil_env_t * env,
00250 const axutil_qname_t * qname);
00251
00258 AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL
00259 axis2_op_get_qname(
00260 void *op,
00261 const axutil_env_t * env);
00262
00270 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00271 axis2_op_set_msg_exchange_pattern(
00272 axis2_op_t * op,
00273 const axutil_env_t * env,
00274 const axis2_char_t * pattern);
00275
00282 AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00283
00284 axis2_op_get_msg_exchange_pattern(
00285 const axis2_op_t * op,
00286 const axutil_env_t * env);
00287
00297 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00298 axis2_op_set_msg_recv(
00299 axis2_op_t * op,
00300 const axutil_env_t * env,
00301 struct axis2_msg_recv *msg_recv);
00302
00311 AXIS2_EXTERN struct axis2_msg_recv *AXIS2_CALL
00312 axis2_op_get_msg_recv(
00313 const axis2_op_t * op,
00314 const axutil_env_t * env);
00315
00323 AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00324 axis2_op_get_style(
00325 const axis2_op_t * op,
00326 const axutil_env_t * env);
00327
00336 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00337 axis2_op_set_style(
00338 axis2_op_t * op,
00339 const axutil_env_t * env,
00340 const axis2_char_t * style);
00341
00352 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00353 axis2_op_engage_module(
00354 axis2_op_t * op,
00355 const axutil_env_t * env,
00356 struct axis2_module_desc *module_desc,
00357 struct axis2_conf *conf);
00358
00367 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00368
00369 axis2_op_add_to_engaged_module_list(
00370 axis2_op_t * op,
00371 const axutil_env_t * env,
00372 struct axis2_module_desc *module_dec);
00373
00380 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00381 axis2_op_get_all_modules(
00382 const axis2_op_t * op,
00383 const axutil_env_t * env);
00384
00392 AXIS2_EXTERN int AXIS2_CALL
00393 axis2_op_get_axis_specific_mep_const(
00394 axis2_op_t * op,
00395 const axutil_env_t * env);
00396
00405 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00406 axis2_op_get_fault_in_flow(
00407 const axis2_op_t * op,
00408 const axutil_env_t * env);
00409
00418 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00419 axis2_op_get_fault_out_flow(
00420 const axis2_op_t * op,
00421 const axutil_env_t * env);
00422
00431 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00432 axis2_op_get_out_flow(
00433 const axis2_op_t * op,
00434 const axutil_env_t * env);
00435
00444 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00445 axis2_op_get_in_flow(
00446 const axis2_op_t * op,
00447 const axutil_env_t * env);
00448
00458 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00459 axis2_op_set_fault_in_flow(
00460 axis2_op_t * op,
00461 const axutil_env_t * env,
00462 axutil_array_list_t * list);
00463
00473 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00474 axis2_op_set_fault_out_flow(
00475 axis2_op_t * op,
00476 const axutil_env_t * env,
00477 axutil_array_list_t * list);
00478
00488 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00489 axis2_op_set_out_flow(
00490 axis2_op_t * op,
00491 const axutil_env_t * env,
00492 axutil_array_list_t * list);
00493
00503 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00504 axis2_op_set_in_flow(
00505 axis2_op_t * op,
00506 const axutil_env_t * env,
00507 axutil_array_list_t * list);
00508
00517 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00518 axis2_op_add_module_qname(
00519 axis2_op_t * op,
00520 const axutil_env_t * env,
00521 const axutil_qname_t * module_qname);
00522
00530 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00531
00532 axis2_op_get_all_module_qnames(
00533 const axis2_op_t * op,
00534 const axutil_env_t * env);
00535
00547 AXIS2_EXTERN struct axis2_op_ctx *AXIS2_CALL
00548 axis2_op_find_op_ctx(
00549 axis2_op_t * op,
00550 const axutil_env_t * env,
00551 struct axis2_msg_ctx *msg_ctx,
00552 struct axis2_svc_ctx *svc_ctx);
00553
00565 AXIS2_EXTERN struct axis2_op_ctx *AXIS2_CALL
00566
00567 axis2_op_find_existing_op_ctx(
00568 axis2_op_t * op,
00569 const axutil_env_t * env,
00570 const struct axis2_msg_ctx *msg_ctx);
00571
00583 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00584 axis2_op_register_op_ctx(
00585 axis2_op_t * op,
00586 const axutil_env_t * env,
00587 struct axis2_msg_ctx *msg_ctx,
00588 struct axis2_op_ctx *op_ctx);
00589
00597 AXIS2_EXTERN struct axis2_msg *AXIS2_CALL
00598 axis2_op_get_msg(
00599 const axis2_op_t * op,
00600 const axutil_env_t * env,
00601 const axis2_char_t * label);
00602
00611 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00612 axis2_op_add_msg(
00613 axis2_op_t * op,
00614 const axutil_env_t * env,
00615 const axis2_char_t * label,
00616 const struct axis2_msg *msg);
00617
00624 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00625 axis2_op_is_from_module(
00626 const axis2_op_t * op,
00627 const axutil_env_t * env);
00628
00636 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00637 axis2_op_set_wsamapping_list(
00638 axis2_op_t * op,
00639 const axutil_env_t * env,
00640 axutil_array_list_t * mapping_list);
00641
00648 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00649
00650 axis2_op_get_wsamapping_list(
00651 axis2_op_t * op,
00652 const axutil_env_t * env);
00653
00654 AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL
00655
00656 axis2_op_get_param_container(
00657 const axis2_op_t * op,
00658 const axutil_env_t * env);
00659
00660 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00661
00662 axis2_op_remove_from_engaged_module_list(
00663 axis2_op_t * op,
00664 const axutil_env_t * env,
00665 struct axis2_module_desc *module_desc);
00666
00672 AXIS2_EXTERN axis2_op_t *AXIS2_CALL
00673 axis2_op_create_from_module(
00674 const axutil_env_t * env);
00675
00682 AXIS2_EXTERN axis2_op_t *AXIS2_CALL
00683 axis2_op_create_with_qname(
00684 const axutil_env_t * env,
00685 const axutil_qname_t * name);
00686
00694 AXIS2_EXTERN void AXIS2_CALL
00695 axis2_op_free_void_arg(
00696 void *op,
00697 const axutil_env_t * env);
00698
00705 AXIS2_EXTERN axis2_desc_t *AXIS2_CALL
00706 axis2_op_get_base(
00707 const axis2_op_t * op,
00708 const axutil_env_t * env);
00709
00711 #ifdef __cplusplus
00712 }
00713 #endif
00714 #endif