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
00245 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00246 axis2_op_set_qname(
00247 axis2_op_t * op,
00248 const axutil_env_t * env,
00249 const axutil_qname_t * qname);
00250
00257 AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL
00258 axis2_op_get_qname(
00259 void *op,
00260 const axutil_env_t * env);
00261
00269 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00270 axis2_op_set_msg_exchange_pattern(
00271 axis2_op_t * op,
00272 const axutil_env_t * env,
00273 const axis2_char_t * pattern);
00274
00281 AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00282
00283 axis2_op_get_msg_exchange_pattern(
00284 const axis2_op_t * op,
00285 const axutil_env_t * env);
00286
00296 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00297 axis2_op_set_msg_recv(
00298 axis2_op_t * op,
00299 const axutil_env_t * env,
00300 struct axis2_msg_recv *msg_recv);
00301
00310 AXIS2_EXTERN struct axis2_msg_recv *AXIS2_CALL
00311 axis2_op_get_msg_recv(
00312 const axis2_op_t * op,
00313 const axutil_env_t * env);
00314
00322 AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00323 axis2_op_get_style(
00324 const axis2_op_t * op,
00325 const axutil_env_t * env);
00326
00335 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00336 axis2_op_set_style(
00337 axis2_op_t * op,
00338 const axutil_env_t * env,
00339 const axis2_char_t * style);
00340
00351 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00352 axis2_op_engage_module(
00353 axis2_op_t * op,
00354 const axutil_env_t * env,
00355 struct axis2_module_desc *module_desc,
00356 struct axis2_conf *conf);
00357
00366 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00367
00368 axis2_op_add_to_engaged_module_list(
00369 axis2_op_t * op,
00370 const axutil_env_t * env,
00371 struct axis2_module_desc *module_dec);
00372
00379 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00380 axis2_op_get_all_modules(
00381 const axis2_op_t * op,
00382 const axutil_env_t * env);
00383
00391 AXIS2_EXTERN int AXIS2_CALL
00392 axis2_op_get_axis_specific_mep_const(
00393 axis2_op_t * op,
00394 const axutil_env_t * env);
00395
00404 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00405 axis2_op_get_fault_in_flow(
00406 const axis2_op_t * op,
00407 const axutil_env_t * env);
00408
00417 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00418 axis2_op_get_fault_out_flow(
00419 const axis2_op_t * op,
00420 const axutil_env_t * env);
00421
00430 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00431 axis2_op_get_out_flow(
00432 const axis2_op_t * op,
00433 const axutil_env_t * env);
00434
00443 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00444 axis2_op_get_in_flow(
00445 const axis2_op_t * op,
00446 const axutil_env_t * env);
00447
00457 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00458 axis2_op_set_fault_in_flow(
00459 axis2_op_t * op,
00460 const axutil_env_t * env,
00461 axutil_array_list_t * list);
00462
00472 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00473 axis2_op_set_fault_out_flow(
00474 axis2_op_t * op,
00475 const axutil_env_t * env,
00476 axutil_array_list_t * list);
00477
00487 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00488 axis2_op_set_out_flow(
00489 axis2_op_t * op,
00490 const axutil_env_t * env,
00491 axutil_array_list_t * list);
00492
00502 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00503 axis2_op_set_in_flow(
00504 axis2_op_t * op,
00505 const axutil_env_t * env,
00506 axutil_array_list_t * list);
00507
00516 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00517 axis2_op_add_module_qname(
00518 axis2_op_t * op,
00519 const axutil_env_t * env,
00520 const axutil_qname_t * module_qname);
00521
00529 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00530
00531 axis2_op_get_all_module_qnames(
00532 const axis2_op_t * op,
00533 const axutil_env_t * env);
00534
00546 AXIS2_EXTERN struct axis2_op_ctx *AXIS2_CALL
00547 axis2_op_find_op_ctx(
00548 axis2_op_t * op,
00549 const axutil_env_t * env,
00550 struct axis2_msg_ctx *msg_ctx,
00551 struct axis2_svc_ctx *svc_ctx);
00552
00564 AXIS2_EXTERN struct axis2_op_ctx *AXIS2_CALL
00565
00566 axis2_op_find_existing_op_ctx(
00567 axis2_op_t * op,
00568 const axutil_env_t * env,
00569 const struct axis2_msg_ctx *msg_ctx);
00570
00582 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00583 axis2_op_register_op_ctx(
00584 axis2_op_t * op,
00585 const axutil_env_t * env,
00586 struct axis2_msg_ctx *msg_ctx,
00587 struct axis2_op_ctx *op_ctx);
00588
00596 AXIS2_EXTERN struct axis2_msg *AXIS2_CALL
00597 axis2_op_get_msg(
00598 const axis2_op_t * op,
00599 const axutil_env_t * env,
00600 const axis2_char_t * label);
00601
00610 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00611 axis2_op_add_msg(
00612 axis2_op_t * op,
00613 const axutil_env_t * env,
00614 const axis2_char_t * label,
00615 const struct axis2_msg *msg);
00616
00623 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00624 axis2_op_is_from_module(
00625 const axis2_op_t * op,
00626 const axutil_env_t * env);
00627
00635 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00636 axis2_op_set_wsamapping_list(
00637 axis2_op_t * op,
00638 const axutil_env_t * env,
00639 axutil_array_list_t * mapping_list);
00640
00647 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00648
00649 axis2_op_get_wsamapping_list(
00650 axis2_op_t * op,
00651 const axutil_env_t * env);
00652
00653 AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL
00654
00655 axis2_op_get_param_container(
00656 const axis2_op_t * op,
00657 const axutil_env_t * env);
00658
00659 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00660
00661 axis2_op_remove_from_engaged_module_list(
00662 axis2_op_t * op,
00663 const axutil_env_t * env,
00664 struct axis2_module_desc *module_desc);
00665
00671 AXIS2_EXTERN axis2_op_t *AXIS2_CALL
00672 axis2_op_create_from_module(
00673 const axutil_env_t * env);
00674
00681 AXIS2_EXTERN axis2_op_t *AXIS2_CALL
00682 axis2_op_create_with_qname(
00683 const axutil_env_t * env,
00684 const axutil_qname_t * name);
00685
00693 AXIS2_EXTERN void AXIS2_CALL
00694 axis2_op_free_void_arg(
00695 void *op,
00696 const axutil_env_t * env);
00697
00704 AXIS2_EXTERN axis2_desc_t *AXIS2_CALL
00705 axis2_op_get_base(
00706 const axis2_op_t * op,
00707 const axutil_env_t * env);
00708
00710 #ifdef __cplusplus
00711 }
00712 #endif
00713 #endif