Main Page | Modules | Class List | Directories | File List | Class Members | File Members | Examples

axis2_stub.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_STUB_H
00018 #define AXIS2_STUB_H
00019 
00020 #include <axis2_endpoint_ref.h>
00021 #include <axis2_svc_client.h>
00022 #include <axis2_options.h>
00023 #include <axiom_xml_reader.h>
00024 #include <axis2_property.h>
00025 
00026 
00027 #ifdef __cplusplus
00028 extern "C"
00029 {
00030 #endif
00031     
00043 #define AXIOM_SOAP_11 0
00044 #define AXIOM_SOAP_12 1
00045 
00046 typedef struct axis2_stub_ops axis2_stub_ops_t;   
00047 typedef struct axis2_stub axis2_stub_t;
00048 
00049 AXIS2_DECLARE_DATA struct axis2_stub_ops
00050 {
00051     axis2_status_t (AXIS2_CALL * 
00052     free)(axis2_stub_t *stub,
00053             const axis2_env_t *env);
00054     
00055     axis2_status_t (AXIS2_CALL *
00056     set_endpoint_ref) (axis2_stub_t *stub,
00057                         const axis2_env_t *env,
00058                         axis2_endpoint_ref_t *endpoint_ref);
00059     
00060     axis2_status_t (AXIS2_CALL *
00061     set_endpoint_uri) (axis2_stub_t *stub,
00062                         const axis2_env_t *env,
00063                         axis2_char_t *endpoint_uri);
00064     
00065     
00070     axis2_status_t (AXIS2_CALL *
00071     set_use_seperate_listener)(axis2_stub_t *stub,
00072                         const axis2_env_t *env,
00073                         axis2_bool_t use_separate_listener);
00074     
00079     axis2_status_t (AXIS2_CALL *
00080     set_soap_version)(axis2_stub_t *stub,
00081                         const axis2_env_t *env,
00082                         int soap_version);
00083     
00084     
00085     axis2_char_t *(AXIS2_CALL *
00086     get_svc_ctx_id)(axis2_stub_t *stub,
00087                     const axis2_env_t *env);
00088     
00089     
00090     axis2_status_t (AXIS2_CALL *
00091     engage_module)(axis2_stub_t *stub,
00092         const axis2_env_t *env,
00093         axis2_char_t *module_name);
00094 
00095     axis2_svc_client_t *(AXIS2_CALL *
00096     get_svc_client)(axis2_stub_t *stub,
00097                             const axis2_env_t *env);
00098     
00099     axis2_options_t *(AXIS2_CALL *
00100     get_options)(axis2_stub_t *stub,
00101                             const axis2_env_t *env);
00102 
00103 } ;
00104 
00105 AXIS2_DECLARE_DATA struct axis2_stub 
00106 {
00107     axis2_stub_ops_t *ops;
00108 };
00109 
00115 AXIS2_EXTERN axis2_stub_t * AXIS2_CALL
00116 axis2_stub_create_with_endpoint_ref_and_client_home(const axis2_env_t *env,
00117                                         axis2_endpoint_ref_t *endpoint_ref,
00118                                         const axis2_char_t *client_home);
00119 
00125 AXIS2_EXTERN axis2_stub_t * AXIS2_CALL
00126 axis2_stub_create_with_endpoint_uri_and_client_home(const axis2_env_t *env,
00127                                         const axis2_char_t *endpoint_uri,
00128                                         const axis2_char_t *client_home);
00129 
00130 /*************************** Function macros **********************************/
00131 
00132 #define AXIS2_STUB_FREE(stub, env) \
00133       ((stub)->ops->free (stub, env))
00134 
00135 #define AXIS2_STUB_SET_ENDPOINT_REF(stub, env, endpoint_ref) \
00136       ((stub)->ops->set_endpoint_ref (stub, env, endpoint_ref))
00137 
00138 #define AXIS2_STUB_SET_ENDPOINT_URI(stub, env, endpoint_uri) \
00139       ((stub)->ops->set_endpoint_uri (stub, env, endpoint_uri))
00140         
00141 #define AXIS2_STUB_SET_USE_SEPERATE_LISTENER(stub, env, use_separate_listener) \
00142       ((stub)->ops->set_transport_info (stub, env, use_separate_listener))  
00143 
00144 #define AXIS2_STUB_ENGAGE_MODULE(stub, env, module_name) \
00145       ((stub)->ops->engage_module (stub, env, module_name))
00146         
00147 #define AXIS2_STUB_SET_SOAP_VERSION(stub, env, soap_version) \
00148       ((stub)->ops->set_soap_version (stub, env, soap_version))
00149         
00150 #define AXIS2_STUB_GET_SVC_CTX_ID(stub, env) \
00151       ((stub)->ops->get_svc_ctx_id (stub, env))
00152         
00153 #define AXIS2_STUB_GET_SVC_CLIENT(stub, env) \
00154       ((stub)->ops->get_svc_client(stub, env))
00155 
00156 #define AXIS2_STUB_GET_OPTIONS(stub, env) \
00157       ((stub)->ops->get_options(stub, env))
00158         
00159         
00162 #ifdef __cplusplus
00163 }
00164 #endif
00165 
00166 #endif /* AXIS2_STUB_H */

Generated on Fri Jun 16 18:02:31 2006 for Axis2/C by  doxygen 1.4.2