axis2_options.h

Go to the documentation of this file.
00001 /*
00002 * Licensed to the Apache Software Foundation (ASF) under one or more
00003 * contributor license agreements.  See the NOTICE file distributed with
00004 * this work for additional information regarding copyright ownership.
00005 * The ASF licenses this file to You under the Apache License, Version 2.0
00006 * (the "License"); you may not use this file except in compliance with
00007 * the License.  You may obtain a copy of the License at
00008 *
00009 *      http://www.apache.org/licenses/LICENSE-2.0
00010 *
00011 * Unless required by applicable law or agreed to in writing, software
00012 * distributed under the License is distributed on an "AS IS" BASIS,
00013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014 * See the License for the specific language governing permissions and
00015 * limitations under the License.
00016 */
00017 
00018 #ifndef AXIS2_OPTIONS_H
00019 #define AXIS2_OPTIONS_H
00020 
00034 #include <axis2_defines.h>
00035 #include <axis2_env.h>
00036 #include <axis2_transport_in_desc.h>
00037 #include <axis2_endpoint_ref.h>
00038 #include <axis2_hash.h>
00039 #include <axis2_relates_to.h>
00040 #include <axis2_transport_out_desc.h>
00041 #include <axis2_transport_receiver.h> 
00042 #include <axiom_element.h>
00043 #include <axis2_msg_info_headers.h>
00044 
00046 #define AXIS2_DEFAULT_TIMEOUT_MILLISECONDS 30000
00047 
00048 #define AXIS2_COPY_PROPERTIES   "copy_properties"
00049 
00050 #ifdef __cplusplus
00051 extern "C"
00052 {
00053 #endif
00054 
00056     typedef struct axis2_options_ops axis2_options_ops_t;
00058     typedef struct axis2_options axis2_options_t;
00059 
00064     struct axis2_options_ops
00065     {
00072         const axis2_char_t* (AXIS2_CALL *
00073                 get_action)(
00074                     const axis2_options_t *options,
00075                     const axis2_env_t *env);
00076 
00084         axis2_endpoint_ref_t* (AXIS2_CALL *
00085                 get_fault_to)(
00086                     const axis2_options_t *options,
00087                     const axis2_env_t *env);
00088 
00096         axis2_endpoint_ref_t* (AXIS2_CALL *
00097                 get_from)(
00098                     const axis2_options_t *options,
00099                     const axis2_env_t *env);
00100 
00107         axis2_transport_receiver_t* (AXIS2_CALL *
00108                 get_transport_receiver)(
00109                     const axis2_options_t *options,
00110                     const axis2_env_t *env);
00111 
00112 
00119         axis2_transport_in_desc_t* (AXIS2_CALL *
00120                 get_transport_in)(
00121                     const axis2_options_t *options,
00122                     const axis2_env_t *env);
00123 
00130         const axis2_char_t* (AXIS2_CALL *
00131                 get_transport_in_protocol)(
00132                     const axis2_options_t *options,
00133                     const axis2_env_t *env);
00134 
00141         const axis2_char_t* (AXIS2_CALL *
00142                 get_message_id)(
00143                     const axis2_options_t *options_t,
00144                     const axis2_env_t *env);
00145 
00152         axis2_hash_t* (AXIS2_CALL *
00153                 get_properties)(
00154                     const axis2_options_t *options,
00155                     const axis2_env_t *env);
00156 
00164         void* (AXIS2_CALL *
00165                 get_property)(
00166                     const axis2_options_t *options,
00167                     const axis2_env_t *env,
00168                     const axis2_char_t *key);
00169 
00176         axis2_relates_to_t* (AXIS2_CALL *
00177                 get_relates_to)(
00178                     const axis2_options_t *options,
00179                     const axis2_env_t *env);
00180 
00188         axis2_endpoint_ref_t* (AXIS2_CALL *
00189                 get_reply_to)(
00190                     const axis2_options_t *options,
00191                     const axis2_env_t *env);
00192 
00199         axis2_transport_out_desc_t* (AXIS2_CALL *
00200                 get_transport_out)(
00201                     const axis2_options_t *options,
00202                     const axis2_env_t *env);
00203 
00210         const axis2_char_t* (AXIS2_CALL *
00211                 get_sender_transport_protocol)(
00212                     const axis2_options_t *options,
00213                     const axis2_env_t *env);
00214 
00221         const axis2_char_t* (AXIS2_CALL *
00222                 get_soap_version_uri)(
00223                     const axis2_options_t *options,
00224                     const axis2_env_t *env);
00225 
00226 
00234         long (AXIS2_CALL *
00235                 get_timeout_in_milli_seconds)(
00236                     const axis2_options_t *options,
00237                     const axis2_env_t *env);
00238 
00246         axis2_endpoint_ref_t* (AXIS2_CALL *
00247                 get_to)(
00248                     const axis2_options_t *options,
00249                     const axis2_env_t *env);
00250 
00257         axis2_bool_t (AXIS2_CALL *
00258                 get_use_separate_listener)(
00259                     const axis2_options_t *options,
00260                     const axis2_env_t *env);
00261 
00268         axis2_options_t *(AXIS2_CALL *
00269                 get_parent)(
00270                     const axis2_options_t *options,
00271                     const axis2_env_t *env);
00279         axis2_status_t (AXIS2_CALL *
00280                 set_parent)(
00281                     axis2_options_t *options,
00282                     const axis2_env_t *env,
00283                     const axis2_options_t *parent);
00291         axis2_status_t (AXIS2_CALL *
00292                 set_action)(
00293                     axis2_options_t *options,
00294                     const axis2_env_t *env,
00295                     const axis2_char_t *action);
00296 
00305         axis2_status_t (AXIS2_CALL *
00306                 set_fault_to)(
00307                     axis2_options_t *options,
00308                     const axis2_env_t *env,
00309                     axis2_endpoint_ref_t *fault_to);
00310 
00319         axis2_status_t (AXIS2_CALL *
00320                 set_from)(
00321                     axis2_options_t *options,
00322                     const axis2_env_t *env,
00323                     axis2_endpoint_ref_t *from);
00324 
00333         axis2_status_t (AXIS2_CALL *
00334                 set_to)(
00335                     axis2_options_t *options,
00336                     const axis2_env_t *env,
00337                     axis2_endpoint_ref_t *to);
00346         axis2_status_t (AXIS2_CALL *
00347                 set_transport_receiver)(
00348                     axis2_options_t *options,
00349                     const axis2_env_t *env,
00350                     axis2_transport_receiver_t *receiver);
00351 
00360         axis2_status_t (AXIS2_CALL *
00361                 set_transport_in)(
00362                     axis2_options_t *options,
00363                     const axis2_env_t *env,
00364                     axis2_transport_in_desc_t *transport_in);
00365 
00373         axis2_status_t (AXIS2_CALL *
00374                 set_transport_in_protocol)(
00375                     axis2_options_t *options,
00376                     const axis2_env_t *env,
00377                     const axis2_char_t *transport_in_protocol);
00378 
00386         axis2_status_t (AXIS2_CALL *
00387                 set_message_id)(
00388                     axis2_options_t *options,
00389                     const axis2_env_t *env,
00390                     const axis2_char_t *message_id);
00391 
00392 
00401         axis2_status_t (AXIS2_CALL *
00402                 set_properties)(
00403                     axis2_options_t *options,
00404                     const axis2_env_t *env,
00405                     axis2_hash_t *properties);
00406 
00415         axis2_status_t (AXIS2_CALL *
00416                 set_property)(  
00417                     axis2_options_t *options,
00418                     const axis2_env_t *env,
00419                     const axis2_char_t *property_key,
00420                     const void *property);
00421 
00430         axis2_status_t (AXIS2_CALL *
00431                 set_relates_to)(
00432                     axis2_options_t *options,
00433                     const axis2_env_t *env,
00434                     axis2_relates_to_t *relates_to);
00435 
00444         axis2_status_t (AXIS2_CALL *
00445                 set_reply_to)(
00446                     axis2_options_t *options,
00447                     const axis2_env_t *env,
00448                     axis2_endpoint_ref_t *reply_to);
00449 
00458         axis2_status_t (AXIS2_CALL *
00459                 set_transport_out)(
00460                     axis2_options_t *options,
00461                     const axis2_env_t *env,
00462                     axis2_transport_out_desc_t *transport_out);
00463 
00473         axis2_status_t (AXIS2_CALL *
00474                 set_sender_transport)(
00475                     axis2_options_t *options,
00476                     const axis2_env_t *env,
00477                     const axis2_char_t *sender_transport,
00478                     axis2_conf_t *conf);
00479 
00489         axis2_status_t (AXIS2_CALL *
00490                 set_soap_version_uri)(  
00491                     axis2_options_t *options,
00492                     const axis2_env_t *env,
00493                     const axis2_char_t *soap_version_uri);
00494 
00502         axis2_status_t (AXIS2_CALL *
00503                 set_timeout_in_milli_seconds)(
00504                     axis2_options_t *options,
00505                     const axis2_env_t *env,
00506                     const long timeout_in_milli_seconds);
00507 
00520         axis2_status_t (AXIS2_CALL *
00521                 set_transport_info)(
00522                     axis2_options_t *options,
00523                     const axis2_env_t *env,
00524                     const axis2_char_t *sender_transport,
00525                     const axis2_char_t *receiver_transport,
00526                     const axis2_bool_t use_separate_listener);
00527 
00536         axis2_status_t (AXIS2_CALL *
00537                 set_use_separate_listener)(
00538                     axis2_options_t *options,
00539                     const axis2_env_t *env,
00540                     const axis2_bool_t use_separate_listener);
00541 
00550         axis2_status_t (AXIS2_CALL *
00551                 add_reference_parameter)(
00552                     axis2_options_t *options,
00553                     const axis2_env_t *env,
00554                     axiom_node_t *reference_parameter);
00555 
00562         axis2_bool_t (AXIS2_CALL *
00563                 get_manage_session)(    
00564                     const axis2_options_t *options,
00565                     const axis2_env_t *env);
00566 
00574         axis2_status_t (AXIS2_CALL *
00575                 set_manage_session)(
00576                     axis2_options_t *options,
00577                     const axis2_env_t *env,
00578                     const axis2_bool_t manage_session);
00579 
00587         axis2_msg_info_headers_t* (AXIS2_CALL *
00588                 get_msg_info_headers)(
00589                     const axis2_options_t *options,
00590                     const axis2_env_t *env);
00591 
00598         int (AXIS2_CALL *
00599                 get_soap_version)(
00600                     const axis2_options_t *options,
00601                     const axis2_env_t *env);
00602 
00610         axis2_status_t (AXIS2_CALL *
00611                 set_soap_version)(
00612                     axis2_options_t *options,
00613                     const axis2_env_t *env,
00614                     const int soap_version);
00615 
00623         axis2_status_t (AXIS2_CALL *
00624                 set_enable_mtom)(
00625                     axis2_options_t *options,
00626                     const axis2_env_t *env,
00627                     axis2_bool_t enable_mtom);
00628 
00635         axis2_bool_t (AXIS2_CALL *
00636                 get_enable_mtom)(
00637                     const axis2_options_t *options,
00638                     const axis2_env_t *env);
00639 
00646         const axis2_char_t* (AXIS2_CALL *
00647                 get_soap_action)(
00648                     const axis2_options_t *options,
00649                     const axis2_env_t *env);
00650 
00658         axis2_status_t (AXIS2_CALL *
00659                 set_soap_action)(
00660                     axis2_options_t *options,
00661                     const axis2_env_t *env,
00662                     const axis2_char_t *soap_action);
00663 
00671                 axis2_status_t (AXIS2_CALL *
00672                                                 set_xml_parser_reset)(
00673                                                         axis2_options_t *options,
00674                                                         const axis2_env_t *env,
00675                                                         const axis2_bool_t paser_reset_flag);
00676 
00683         axis2_bool_t (AXIS2_CALL *
00684                 get_xml_parser_reset)(
00685                     const axis2_options_t *options,
00686                     const axis2_env_t *env);
00687 
00694         axis2_status_t (AXIS2_CALL *
00695                 free)(
00696                     axis2_options_t *options,
00697                     const axis2_env_t *env);
00698     };
00699 
00703     struct axis2_options
00704     {
00706         axis2_options_ops_t *ops;
00707     };
00708 
00715     AXIS2_EXTERN axis2_options_t* AXIS2_CALL 
00716     axis2_options_create(
00717         const axis2_env_t *env);
00718     
00727     AXIS2_EXTERN axis2_options_t* AXIS2_CALL 
00728     axis2_options_create_with_parent(
00729         const axis2_env_t *env,
00730         axis2_options_t *parent);
00731 
00734 #define AXIS2_OPTIONS_GET_ACTION(options, env) \
00735       ((options)->ops->get_action(options, env))
00736 
00739 #define AXIS2_OPTIONS_GET_FAULT_TO(options, env) \
00740       ((options)->ops->get_fault_to(options, env))
00741 
00744 #define AXIS2_OPTIONS_GET_FROM(options, env) \
00745       ((options)->ops->get_from(options, env))
00746 
00749 #define AXIS2_OPTIONS_GET_TRANSPORT_RECEIVER(options, env) \
00750       ((options)->ops->get_transport_receiver(options, env))
00751 
00754 #define AXIS2_OPTIONS_GET_TRANSPORT_IN(options, env) \
00755       ((options)->ops->get_transport_in(options, env))
00756 
00759 #define AXIS2_OPTIONS_GET_TRANSPORT_IN_PROTOCOL(options, env) \
00760       ((options)->ops->get_transport_in_protocol(options, env))
00761 
00764 #define AXIS2_OPTIONS_GET_MESSAGE_ID(options, env) \
00765       ((options)->ops->get_message_id(options, env))
00766 
00769 #define AXIS2_OPTIONS_GET_PROPERTIES(options, env) \
00770       ((options)->ops->get_properties(options, env))
00771 
00774 #define AXIS2_OPTIONS_GET_PROPERTY(options, env, key) \
00775       ((options)->ops->get_property(options, env, key))
00776 
00779 #define AXIS2_OPTIONS_GET_RELATES_TO(options, env) \
00780       ((options)->ops->get_relates_to(options, env))
00781 
00784 #define AXIS2_OPTIONS_GET_REPLY_TO(options, env) \
00785       ((options)->ops->get_reply_to(options, env))
00786 
00789 #define AXIS2_OPTIONS_GET_TRANSPORT_OUT(options, env) \
00790       ((options)->ops->get_transport_out(options, env))
00791 
00794 #define AXIS2_OPTIONS_GET_SENDER_PROTOCOL(options, env) \
00795       ((options)->ops->get_sender_transport_protocol(options, env))
00796 
00799 #define AXIS2_OPTIONS_GET_SOAP_VERSION_URI(options, env) \
00800       ((options)->ops->get_soap_version_uri(options, env))
00801 
00804 #define AXIS2_OPTIONS_GET_TIMEOUT_IN_MILLI_SECONDS(options, env) \
00805       ((options)->ops->get_timeout_in_milli_seconds(options, env))
00806 
00809 #define AXIS2_OPTIONS_GET_TO(options, env) \
00810       ((options)->ops->get_to(options, env))
00811 
00814 #define AXIS2_OPTIONS_GET_XML_PARSER_RESET(options, env) \
00815       ((options)->ops->get_xml_parser_reset(options, env))
00816 
00819 #define AXIS2_OPTIONS_GET_USE_SEPERATE_LISTENER(options, env) \
00820       ((options)->ops->get_use_separate_listener(options, env))
00821 
00824 #define AXIS2_OPTIONS_GET_PARENT(options, env) \
00825       ((options)->ops->get_parent(options, env))
00826 
00829 #define AXIS2_OPTIONS_SET_PARENT(options, env, parent) \
00830       ((options)->ops->set_parent(options, env, parent))
00831 
00834 #define AXIS2_OPTIONS_SET_ACTION(options, env, action) \
00835       ((options)->ops->set_action(options, env, action))
00836 
00839 #define AXIS2_OPTIONS_SET_FAULT_TO(options, env, fault_to) \
00840       ((options)->ops->set_fault_to(options, env, fault_to))
00841 
00844 #define AXIS2_OPTIONS_SET_FROM(options, env, from) \
00845       ((options)->ops->set_from(options, env, from))
00846 
00849 #define AXIS2_OPTIONS_SET_TO(options, env, to) \
00850       ((options)->ops->set_to(options, env, to))
00851 
00854 #define AXIS2_OPTIONS_SET_TRANSPORT_RECEIVER(options, env, receiver) \
00855       ((options)->ops->set_transport_receiver(options, env, receiver))
00856 
00859 #define AXIS2_OPTIONS_SET_TRANSPORT_IN(options, env, transport_in) \
00860       ((options)->ops->set_transport_in(options, env, transport_in))
00861 
00864 #define AXIS2_OPTIONS_SET_TRANSPORT_IN_PROTOCOL(options, env, transport_in_protocol) \
00865       ((options)->ops->set_transport_in_protocol(options, env, transport_in_protocol))
00866 
00869 #define AXIS2_OPTIONS_SET_MESSAGE_ID(options, env, message_id) \
00870       ((options)->ops->set_message_id(options, env, message_id))
00871 
00874 #define AXIS2_OPTIONS_SET_PROPERTIES(options, env, properties) \
00875       ((options)->ops->set_properties(options, env, properties))
00876 
00879 #define AXIS2_OPTIONS_SET_PROPERTY(options, env, key, property) \
00880       ((options)->ops->set_property(options, env, key, property))
00881 
00884 #define AXIS2_OPTIONS_SET_RELATES_TO(options, env, relates_to) \
00885       ((options)->ops->set_relates_to(options, env, relates_to))
00886 
00889 #define AXIS2_OPTIONS_SET_REPLY_TO(options, env, reply_to) \
00890       ((options)->ops->set_reply_to(options, env, reply_to))
00891 
00894 #define AXIS2_OPTIONS_SET_TRANSPORT_OUT(options, env, transport_out) \
00895       ((options)->ops->set_transport_out(options, env, transport_out))
00896 
00899 #define AXIS2_OPTIONS_SET_SENDER_TRANSPORT(options, env, sender_transport, conf) \
00900       ((options)->ops->set_sender_transport(options, env, sender_transport, conf))
00901 
00904 #define AXIS2_OPTIONS_SET_SOAP_VERSION_URI(options, env, soap_version_uri) \
00905       ((options)->ops->set_soap_version_uri(options, env, soap_version_uri))
00906 
00909 #define AXIS2_OPTIONS_SET_TIMEOUT_IN_MILLI_SECONDS(options, env, timeout_in_milli_seconds) \
00910       ((options)->ops->set_timeout_in_milli_seconds(options, env, timeout_in_milli_seconds))
00911 
00914 #define AXIS2_OPTIONS_SET_TRANSPORT_INFO(options, env, sender_transport, \
00915     receiver_transport, user_separate_listener) \
00916     ((options)->ops->set_tranport_info(options, env, sender_transport, \
00917     receiver_transport, user_separate_listener))
00918 
00921 #define AXIS2_OPTIONS_SET_USE_SEPARATE_LISTENER(options, env, use_separate_listener) \
00922       ((options)->ops->set_use_separate_listener(options, env, use_separate_listener))
00923 
00926 #define AXIS2_OPTIONS_ADD_REFERENCE_PARAMETER(options, env, reference_parameter) \
00927       ((options)->ops->add_reference_parameter(options, env, reference_parameter))
00928 
00931 #define AXIS2_OPTIONS_GET_MANAGE_SESSION(options, env) \
00932       ((options)->ops->get_manage_session(options, env))
00933 
00936 #define AXIS2_OPTIONS_SET_MANAGE_SESSION(options, env, manage_session) \
00937       ((options)->ops->set_manage_session(options, env, manage_session))
00938 
00941 #define AXIS2_OPTIONS_GET_MSG_INFO_HEADERS(options, env) \
00942       ((options)->ops->get_msg_info_headers(options, env))
00943 
00946 #define AXIS2_OPTIONS_SET_SOAP_VERSION(options, env, soap_version) \
00947       ((options)->ops->set_soap_version(options, env, soap_version))
00948 
00951 #define AXIS2_OPTIONS_GET_SOAP_VERSION(options, env) \
00952       ((options)->ops->get_soap_version(options, env))
00953 
00956 #define AXIS2_OPTIONS_SET_ENABLE_MTOM(options, env, enable_mtom) \
00957       ((options)->ops->set_enable_mtom(options, env, enable_mtom))
00958 
00961 #define AXIS2_OPTIONS_GET_ENABLE_MTOM(options, env) \
00962       ((options)->ops->get_enable_mtom(options, env))
00963 
00966 #define AXIS2_OPTIONS_GET_SOAP_ACTION(options, env) \
00967       ((options)->ops->get_soap_action(options, env))
00968 
00971 #define AXIS2_OPTIONS_SET_SOAP_ACTION(options, env, action) \
00972       ((options)->ops->set_soap_action(options, env, action))
00973 
00975 #define AXIS2_OPTIONS_SET_XML_PARSER_RESET(options, env, flag) \
00976       ((options)->ops->set_xml_parser_reset(options, env, flag))
00977 
00980 #define AXIS2_OPTIONS_FREE(options, env) \
00981       ((options)->ops->free(options, env))
00982 
00984 #ifdef __cplusplus
00985 }
00986 #endif
00987 
00988 #endif                          /* AXIS2_OPTIONS_H */

Generated on Wed Dec 20 20:34:50 2006 for Axis2/C by  doxygen 1.5.1