# axis2_op.h

    00001
    00002 /*
    00003  * Licensed to the Apache Software Foundation (ASF) under one or more
    00004  * contributor license agreements.  See the NOTICE file distributed with
    00005  * this work for additional information regarding copyright ownership.
    00006  * The ASF licenses this file to You under the Apache License, Version 2.0
    00007  * (the "License"); you may not use this file except in compliance with
    00008  * the License.  You may obtain a copy of the License at
    00009  *
    00010  *      http://www.apache.org/licenses/LICENSE-2.0
    00011  *
    00012  * Unless required by applicable law or agreed to in writing, software
    00013  * distributed under the License is distributed on an "AS IS" BASIS,
    00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00015  * See the License for the specific language governing permissions and
    00016  * limitations under the License.
    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                          /* AXIS2_OP_H */