axis2_options.h

Go to the documentation of this file.
00001 /*
00002 * Copyright 2004,2005 The Apache Software Foundation.
00003 *
00004 * Licensed under the Apache License, Version 2.0 (the "License");
00005 * you may not use this file except in compliance with the License.
00006 * You may obtain a copy of the License at
00007 *
00008 *      http://www.apache.org/licenses/LICENSE-2.0
00009 *
00010 * Unless required by applicable law or agreed to in writing, software
00011 * distributed under the License is distributed on an "AS IS" BASIS,
00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013 * See the License for the specific language governing permissions and
00014 * limitations under the License.
00015 */
00016 
00017 #ifndef AXIS2_OPTIONS_H
00018 #define AXIS2_OPTIONS_H
00019 
00033 #include <axis2_defines.h>
00034 #include <axis2_env.h>
00035 #include <axis2_transport_in_desc.h>
00036 #include <axis2_endpoint_ref.h>
00037 #include <axis2_hash.h>
00038 #include <axis2_relates_to.h>
00039 #include <axis2_transport_out_desc.h>
00040 #include <axis2_transport_receiver.h> 
00041 #include <axiom_element.h>
00042 #include <axis2_msg_info_headers.h>
00043 
00045 #define AXIS2_DEFAULT_TIMEOUT_MILLISECONDS 30000
00046 
00047 #define AXIS2_COPY_PROPERTIES   "copy_properties"
00048 
00049 #ifdef __cplusplus
00050 extern "C"
00051 {
00052 #endif
00053 
00055     typedef struct axis2_options_ops axis2_options_ops_t;
00057     typedef struct axis2_options axis2_options_t;
00058 
00063     struct axis2_options_ops
00064     {
00071         const axis2_char_t* (AXIS2_CALL *
00072                 get_action)(
00073                     const axis2_options_t *options,
00074                     const axis2_env_t *env);
00075 
00083         axis2_endpoint_ref_t* (AXIS2_CALL *
00084                 get_fault_to)(
00085                     const axis2_options_t *options,
00086                     const axis2_env_t *env);
00087 
00095         axis2_endpoint_ref_t* (AXIS2_CALL *
00096                 get_from)(
00097                     const axis2_options_t *options,
00098                     const axis2_env_t *env);
00099 
00106         axis2_transport_receiver_t* (AXIS2_CALL *
00107                 get_transport_receiver)(
00108                     const axis2_options_t *options,
00109                     const axis2_env_t *env);
00110 
00111 
00118         axis2_transport_in_desc_t* (AXIS2_CALL *
00119                 get_transport_in)(
00120                     const axis2_options_t *options,
00121                     const axis2_env_t *env);
00122 
00129         const axis2_char_t* (AXIS2_CALL *
00130                 get_transport_in_protocol)(
00131                     const axis2_options_t *options,
00132                     const axis2_env_t *env);
00133 
00140         const axis2_char_t* (AXIS2_CALL *
00141                 get_message_id)(
00142                     const axis2_options_t *options_t,
00143                     const axis2_env_t *env);
00144 
00151         axis2_hash_t* (AXIS2_CALL *
00152                 get_properties)(
00153                     const axis2_options_t *options,
00154                     const axis2_env_t *env);
00155 
00163         void* (AXIS2_CALL *
00164                 get_property)(
00165                     const axis2_options_t *options,
00166                     const axis2_env_t *env,
00167                     const axis2_char_t *key);
00168 
00175         axis2_relates_to_t* (AXIS2_CALL *
00176                 get_relates_to)(
00177                     const axis2_options_t *options,
00178                     const axis2_env_t *env);
00179 
00187         axis2_endpoint_ref_t* (AXIS2_CALL *
00188                 get_reply_to)(
00189                     const axis2_options_t *options,
00190                     const axis2_env_t *env);
00191 
00198         axis2_transport_out_desc_t* (AXIS2_CALL *
00199                 get_transport_out)(
00200                     const axis2_options_t *options,
00201                     const axis2_env_t *env);
00202 
00209         const axis2_char_t* (AXIS2_CALL *
00210                 get_sender_transport_protocol)(
00211                     const axis2_options_t *options,
00212                     const axis2_env_t *env);
00213 
00220         const axis2_char_t* (AXIS2_CALL *
00221                 get_soap_version_uri)(
00222                     const axis2_options_t *options,
00223                     const axis2_env_t *env);
00224 
00225 
00233         long (AXIS2_CALL *
00234                 get_timeout_in_milli_seconds)(
00235                     const axis2_options_t *options,
00236                     const axis2_env_t *env);
00237 
00245         axis2_endpoint_ref_t* (AXIS2_CALL *
00246                 get_to)(
00247                     const axis2_options_t *options,
00248                     const axis2_env_t *env);
00249 
00256         axis2_bool_t (AXIS2_CALL *
00257                 get_use_separate_listener)(
00258                     const axis2_options_t *options,
00259                     const axis2_env_t *env);
00260 
00267         axis2_options_t *(AXIS2_CALL *
00268                 get_parent)(
00269                     const axis2_options_t *options,
00270                     const axis2_env_t *env);
00278         axis2_status_t (AXIS2_CALL *
00279                 set_parent)(
00280                     axis2_options_t *options,
00281                     const axis2_env_t *env,
00282                     const axis2_options_t *parent);
00290         axis2_status_t (AXIS2_CALL *
00291                 set_action)(
00292                     axis2_options_t *options,
00293                     const axis2_env_t *env,
00294                     const axis2_char_t *action);
00295 
00304         axis2_status_t (AXIS2_CALL *
00305                 set_fault_to)(
00306                     axis2_options_t *options,
00307                     const axis2_env_t *env,
00308                     axis2_endpoint_ref_t *fault_to);
00309 
00318         axis2_status_t (AXIS2_CALL *
00319                 set_from)(
00320                     axis2_options_t *options,
00321                     const axis2_env_t *env,
00322                     axis2_endpoint_ref_t *from);
00323 
00332         axis2_status_t (AXIS2_CALL *
00333                 set_to)(
00334                     axis2_options_t *options,
00335                     const axis2_env_t *env,
00336                     axis2_endpoint_ref_t *to);
00345         axis2_status_t (AXIS2_CALL *
00346                 set_transport_receiver)(
00347                     axis2_options_t *options,
00348                     const axis2_env_t *env,
00349                     axis2_transport_receiver_t *receiver);
00350 
00359         axis2_status_t (AXIS2_CALL *
00360                 set_transport_in)(
00361                     axis2_options_t *options,
00362                     const axis2_env_t *env,
00363                     axis2_transport_in_desc_t *transport_in);
00364 
00372         axis2_status_t (AXIS2_CALL *
00373                 set_transport_in_protocol)(
00374                     axis2_options_t *options,
00375                     const axis2_env_t *env,
00376                     const axis2_char_t *transport_in_protocol);
00377 
00385         axis2_status_t (AXIS2_CALL *
00386                 set_message_id)(
00387                     axis2_options_t *options,
00388                     const axis2_env_t *env,
00389                     const axis2_char_t *message_id);
00390 
00391 
00400         axis2_status_t (AXIS2_CALL *
00401                 set_properties)(
00402                     axis2_options_t *options,
00403                     const axis2_env_t *env,
00404                     axis2_hash_t *properties);
00405 
00414         axis2_status_t (AXIS2_CALL *
00415                 set_property)(  
00416                     axis2_options_t *options,
00417                     const axis2_env_t *env,
00418                     const axis2_char_t *property_key,
00419                     const void *property);
00420 
00429         axis2_status_t (AXIS2_CALL *
00430                 set_relates_to)(
00431                     axis2_options_t *options,
00432                     const axis2_env_t *env,
00433                     axis2_relates_to_t *relates_to);
00434 
00443         axis2_status_t (AXIS2_CALL *
00444                 set_reply_to)(
00445                     axis2_options_t *options,
00446                     const axis2_env_t *env,
00447                     axis2_endpoint_ref_t *reply_to);
00448 
00457         axis2_status_t (AXIS2_CALL *
00458                 set_transport_out)(
00459                     axis2_options_t *options,
00460                     const axis2_env_t *env,
00461                     axis2_transport_out_desc_t *transport_out);
00462 
00472         axis2_status_t (AXIS2_CALL *
00473                 set_sender_transport)(
00474                     axis2_options_t *options,
00475                     const axis2_env_t *env,
00476                     const axis2_char_t *sender_transport,
00477                     axis2_conf_t *conf);
00478 
00488         axis2_status_t (AXIS2_CALL *
00489                 set_soap_version_uri)(  
00490                     axis2_options_t *options,
00491                     const axis2_env_t *env,
00492                     const axis2_char_t *soap_version_uri);
00493 
00501         axis2_status_t (AXIS2_CALL *
00502                 set_timeout_in_milli_seconds)(
00503                     axis2_options_t *options,
00504                     const axis2_env_t *env,
00505                     const long timeout_in_milli_seconds);
00506 
00519         axis2_status_t (AXIS2_CALL *
00520                 set_transport_info)(
00521                     axis2_options_t *options,
00522                     const axis2_env_t *env,
00523                     const axis2_char_t *sender_transport,
00524                     const axis2_char_t *receiver_transport,
00525                     const axis2_bool_t use_separate_listener);
00526 
00535         axis2_status_t (AXIS2_CALL *
00536                 set_use_separate_listener)(
00537                     axis2_options_t *options,
00538                     const axis2_env_t *env,
00539                     const axis2_bool_t use_separate_listener);
00540 
00549         axis2_status_t (AXIS2_CALL *
00550                 add_reference_parameter)(
00551                     axis2_options_t *options,
00552                     const axis2_env_t *env,
00553                     axiom_node_t *reference_parameter);
00554 
00561         axis2_bool_t (AXIS2_CALL *
00562                 get_manage_session)(    
00563                     const axis2_options_t *options,
00564                     const axis2_env_t *env);
00565 
00573         axis2_status_t (AXIS2_CALL *
00574                 set_manage_session)(
00575                     axis2_options_t *options,
00576                     const axis2_env_t *env,
00577                     const axis2_bool_t manage_session);
00578 
00586         axis2_msg_info_headers_t* (AXIS2_CALL *
00587                 get_msg_info_headers)(
00588                     const axis2_options_t *options,
00589                     const axis2_env_t *env);
00590 
00597         int (AXIS2_CALL *
00598                 get_soap_version)(
00599                     const axis2_options_t *options,
00600                     const axis2_env_t *env);
00601 
00609         axis2_status_t (AXIS2_CALL *
00610                 set_soap_version)(
00611                     axis2_options_t *options,
00612                     const axis2_env_t *env,
00613                     const int soap_version);
00614 
00622         axis2_status_t (AXIS2_CALL *
00623                 set_enable_mtom)(
00624                     axis2_options_t *options,
00625                     const axis2_env_t *env,
00626                     axis2_bool_t enable_mtom);
00627 
00634         axis2_bool_t (AXIS2_CALL *
00635                 get_enable_mtom)(
00636                     const axis2_options_t *options,
00637                     const axis2_env_t *env);
00638 
00645         axis2_status_t (AXIS2_CALL *
00646                 free)(
00647                     axis2_options_t *options,
00648                     const axis2_env_t *env);
00649     };
00650 
00654     struct axis2_options
00655     {
00657         axis2_options_ops_t *ops;
00658     };
00659 
00666     AXIS2_EXTERN axis2_options_t* AXIS2_CALL 
00667     axis2_options_create(
00668         const axis2_env_t *env);
00669     
00678     AXIS2_EXTERN axis2_options_t* AXIS2_CALL 
00679     axis2_options_create_with_parent(
00680         const axis2_env_t *env,
00681         axis2_options_t *parent);
00682 
00685 #define AXIS2_OPTIONS_GET_ACTION(options, env) \
00686       ((options)->ops->get_action(options, env))
00687 
00690 #define AXIS2_OPTIONS_GET_FAULT_TO(options, env) \
00691       ((options)->ops->get_fault_to(options, env))
00692 
00695 #define AXIS2_OPTIONS_GET_FROM(options, env) \
00696       ((options)->ops->get_from(options, env))
00697 
00700 #define AXIS2_OPTIONS_GET_TRANSPORT_RECEIVER(options, env) \
00701       ((options)->ops->get_transport_receiver(options, env))
00702 
00705 #define AXIS2_OPTIONS_GET_TRANSPORT_IN(options, env) \
00706       ((options)->ops->get_transport_in(options, env))
00707 
00710 #define AXIS2_OPTIONS_GET_TRANSPORT_IN_PROTOCOL(options, env) \
00711       ((options)->ops->get_transport_in_protocol(options, env))
00712 
00715 #define AXIS2_OPTIONS_GET_MESSAGE_ID(options, env) \
00716       ((options)->ops->get_message_id(options, env))
00717 
00720 #define AXIS2_OPTIONS_GET_PROPERTIES(options, env) \
00721       ((options)->ops->get_properties(options, env))
00722 
00725 #define AXIS2_OPTIONS_GET_PROPERTY(options, env, key) \
00726       ((options)->ops->get_property(options, env, key))
00727 
00730 #define AXIS2_OPTIONS_GET_RELATES_TO(options, env) \
00731       ((options)->ops->get_relates_to(options, env))
00732 
00735 #define AXIS2_OPTIONS_GET_REPLY_TO(options, env) \
00736       ((options)->ops->get_reply_to(options, env))
00737 
00740 #define AXIS2_OPTIONS_GET_TRANSPORT_OUT(options, env) \
00741       ((options)->ops->get_transport_out(options, env))
00742 
00745 #define AXIS2_OPTIONS_GET_SENDER_PROTOCOL(options, env) \
00746       ((options)->ops->get_sender_transport_protocol(options, env))
00747 
00750 #define AXIS2_OPTIONS_GET_SOAP_VERSION_URI(options, env) \
00751       ((options)->ops->get_soap_version_uri(options, env))
00752 
00755 #define AXIS2_OPTIONS_GET_TIMEOUT_IN_MILLI_SECONDS(options, env) \
00756       ((options)->ops->get_timeout_in_milli_seconds(options, env))
00757 
00760 #define AXIS2_OPTIONS_GET_TO(options, env) \
00761       ((options)->ops->get_to(options, env))
00762 
00765 #define AXIS2_OPTIONS_GET_USE_SEPERATE_LISTENER(options, env) \
00766       ((options)->ops->get_use_separate_listener(options, env))
00767 
00770 #define AXIS2_OPTIONS_GET_PARENT(options, env) \
00771       ((options)->ops->get_parent(options, env))
00772 
00775 #define AXIS2_OPTIONS_SET_PARENT(options, env, parent) \
00776       ((options)->ops->set_parent(options, env, parent))
00777 
00780 #define AXIS2_OPTIONS_SET_ACTION(options, env, action) \
00781       ((options)->ops->set_action(options, env, action))
00782 
00785 #define AXIS2_OPTIONS_SET_FAULT_TO(options, env, fault_to) \
00786       ((options)->ops->set_fault_to(options, env, fault_to))
00787 
00790 #define AXIS2_OPTIONS_SET_FROM(options, env, from) \
00791       ((options)->ops->set_from(options, env, from))
00792 
00795 #define AXIS2_OPTIONS_SET_TO(options, env, to) \
00796       ((options)->ops->set_to(options, env, to))
00797 
00800 #define AXIS2_OPTIONS_SET_TRANSPORT_RECEIVER(options, env, receiver) \
00801       ((options)->ops->set_transport_receiver(options, env, receiver))
00802 
00805 #define AXIS2_OPTIONS_SET_TRANSPORT_IN(options, env, transport_in) \
00806       ((options)->ops->set_transport_in(options, env, transport_in))
00807 
00810 #define AXIS2_OPTIONS_SET_TRANSPORT_IN_PROTOCOL(options, env, transport_in_protocol) \
00811       ((options)->ops->set_transport_in_protocol(options, env, transport_in_protocol))
00812 
00815 #define AXIS2_OPTIONS_SET_MESSAGE_ID(options, env, message_id) \
00816       ((options)->ops->set_message_id(options, env, message_id))
00817 
00820 #define AXIS2_OPTIONS_SET_PROPERTIES(options, env, properties) \
00821       ((options)->ops->set_properties(options, env, properties))
00822 
00825 #define AXIS2_OPTIONS_SET_PROPERTY(options, env, key, property) \
00826       ((options)->ops->set_property(options, env, key, property))
00827 
00830 #define AXIS2_OPTIONS_SET_RELATES_TO(options, env, relates_to) \
00831       ((options)->ops->set_relates_to(options, env, relates_to))
00832 
00835 #define AXIS2_OPTIONS_SET_REPLY_TO(options, env, reply_to) \
00836       ((options)->ops->set_reply_to(options, env, reply_to))
00837 
00840 #define AXIS2_OPTIONS_SET_TRANSPORT_OUT(options, env, transport_out) \
00841       ((options)->ops->set_transport_out(options, env, transport_out))
00842 
00845 #define AXIS2_OPTIONS_SET_SENDER_TRANSPORT(options, env, sender_transport, conf) \
00846       ((options)->ops->set_sender_transport(options, env, sender_transport, conf))
00847 
00850 #define AXIS2_OPTIONS_SET_SOAP_VERSION_URI(options, env, soap_version_uri) \
00851       ((options)->ops->set_soap_version_uri(options, env, soap_version_uri))
00852 
00855 #define AXIS2_OPTIONS_SET_TIMEOUT_IN_MILLI_SECONDS(options, env, timeout_in_milli_seconds) \
00856       ((options)->ops->set_timeout_in_milli_seconds(options, env, timeout_in_milli_seconds))
00857 
00860 #define AXIS2_OPTIONS_SET_TRANSPORT_INFO(options, env, sender_transport, \
00861     receiver_transport, user_separate_listener) \
00862     ((options)->ops->set_tranport_info(options, env, sender_transport, \
00863     receiver_transport, user_separate_listener))
00864 
00867 #define AXIS2_OPTIONS_SET_USE_SEPARATE_LISTENER(options, env, use_separate_listener) \
00868       ((options)->ops->set_use_separate_listener(options, env, use_separate_listener))
00869 
00872 #define AXIS2_OPTIONS_ADD_REFERENCE_PARAMETER(options, env, reference_parameter) \
00873       ((options)->ops->add_reference_parameter(options, env, reference_parameter))
00874 
00877 #define AXIS2_OPTIONS_GET_MANAGE_SESSION(options, env) \
00878       ((options)->ops->get_manage_session(options, env))
00879 
00882 #define AXIS2_OPTIONS_SET_MANAGE_SESSION(options, env, manage_session) \
00883       ((options)->ops->set_manage_session(options, env, manage_session))
00884 
00887 #define AXIS2_OPTIONS_GET_MSG_INFO_HEADERS(options, env) \
00888       ((options)->ops->get_msg_info_headers(options, env))
00889 
00892 #define AXIS2_OPTIONS_SET_SOAP_VERSION(options, env, soap_version) \
00893       ((options)->ops->set_soap_version(options, env, soap_version))
00894 
00897 #define AXIS2_OPTIONS_GET_SOAP_VERSION(options, env) \
00898       ((options)->ops->get_soap_version(options, env))
00899 
00902 #define AXIS2_OPTIONS_SET_ENABLE_MTOM(options, env, enable_mtom) \
00903       ((options)->ops->set_enable_mtom(options, env, enable_mtom))
00904 
00907 #define AXIS2_OPTIONS_GET_ENABLE_MTOM(options, env) \
00908       ((options)->ops->get_enable_mtom(options, env))
00909 
00912 #define AXIS2_OPTIONS_FREE(options, env) \
00913       ((options)->ops->free(options, env))
00914 
00916 #ifdef __cplusplus
00917 }
00918 #endif
00919 
00920 #endif                          /* AXIS2_OPTIONS_H */

Generated on Thu Oct 26 21:00:11 2006 for Axis2/C by  doxygen 1.4.7