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 
00032 #include <axis2_endpoint_ref.h>
00033 #include <axis2_svc_client.h>
00034 #include <axis2_options.h>
00035 #include <axiom_xml_reader.h>
00036 #include <axis2_property.h>
00037 
00039 #define AXIOM_SOAP_11 0
00040 
00041 #define AXIOM_SOAP_12 1
00042 
00043 #ifdef __cplusplus
00044 extern "C"
00045 {
00046 #endif
00047 
00049     typedef struct axis2_stub_ops axis2_stub_ops_t;
00051     typedef struct axis2_stub axis2_stub_t;
00052 
00057      struct axis2_stub_ops
00058     {
00065         axis2_status_t (AXIS2_CALL *
00066                 free)(
00067                     axis2_stub_t *stub,
00068                     const axis2_env_t *env);
00069 
00078         axis2_status_t (AXIS2_CALL *
00079                 set_endpoint_ref)(
00080                     axis2_stub_t *stub,
00081                     const axis2_env_t *env,
00082                     axis2_endpoint_ref_t *endpoint_ref);
00083 
00091         axis2_status_t (AXIS2_CALL *
00092                 set_endpoint_uri)(
00093                     axis2_stub_t *stub,
00094                     const axis2_env_t *env,
00095                     const axis2_char_t *endpoint_uri);
00096 
00097 
00106         axis2_status_t (AXIS2_CALL *
00107                 set_use_separate_listener)(
00108                     axis2_stub_t *stub,
00109                     const axis2_env_t *env,
00110                     const axis2_bool_t use_separate_listener);
00111 
00119         axis2_status_t (AXIS2_CALL *
00120                 set_soap_version)(
00121                     axis2_stub_t *stub,
00122                     const axis2_env_t *env,
00123                     const int soap_version);
00124 
00125 
00132         const axis2_char_t *(AXIS2_CALL *
00133                 get_svc_ctx_id)(
00134                     const axis2_stub_t *stub,
00135                     const axis2_env_t *env);
00136 
00144         axis2_status_t (AXIS2_CALL *
00145                 engage_module)(
00146                     axis2_stub_t *stub,
00147                     const axis2_env_t *env,
00148                     const axis2_char_t *module_name);
00149 
00156         axis2_svc_client_t *(AXIS2_CALL *
00157                 get_svc_client)(
00158                     const axis2_stub_t *stub,
00159                     const axis2_env_t *env);
00160 
00167         axis2_options_t *(AXIS2_CALL *
00168                 get_options)(
00169                     const axis2_stub_t *stub,
00170                     const axis2_env_t *env);
00171 
00172     } ;
00173 
00177      struct axis2_stub
00178     {
00180         axis2_stub_ops_t *ops;
00181     };
00182 
00191     AXIS2_EXTERN axis2_stub_t * AXIS2_CALL
00192     axis2_stub_create_with_endpoint_ref_and_client_home(
00193         const axis2_env_t *env,
00194         axis2_endpoint_ref_t *endpoint_ref,
00195         const axis2_char_t *client_home);
00196 
00204     AXIS2_EXTERN axis2_stub_t * AXIS2_CALL
00205     axis2_stub_create_with_endpoint_uri_and_client_home(
00206         const axis2_env_t *env,
00207         const axis2_char_t *endpoint_uri,
00208         const axis2_char_t *client_home);
00209 
00210 
00213 #define AXIS2_STUB_FREE(stub, env) \
00214       ((stub)->ops->free (stub, env))
00215 
00218 #define AXIS2_STUB_SET_ENDPOINT_REF(stub, env, endpoint_ref) \
00219       ((stub)->ops->set_endpoint_ref (stub, env, endpoint_ref))
00220 
00223 #define AXIS2_STUB_SET_ENDPOINT_URI(stub, env, endpoint_uri) \
00224       ((stub)->ops->set_endpoint_uri (stub, env, endpoint_uri))
00225 
00228 #define AXIS2_STUB_SET_USE_SEPERATE_LISTENER(stub, env, use_separate_listener) \
00229       ((stub)->ops->set_use_separate_listener (stub, env, use_separate_listener))
00230 
00233 #define AXIS2_STUB_ENGAGE_MODULE(stub, env, module_name) \
00234       ((stub)->ops->engage_module (stub, env, module_name))
00235 
00238 #define AXIS2_STUB_SET_SOAP_VERSION(stub, env, soap_version) \
00239       ((stub)->ops->set_soap_version (stub, env, soap_version))
00240 
00243 #define AXIS2_STUB_GET_SVC_CTX_ID(stub, env) \
00244       ((stub)->ops->get_svc_ctx_id (stub, env))
00245 
00248 #define AXIS2_STUB_GET_SVC_CLIENT(stub, env) \
00249       ((stub)->ops->get_svc_client(stub, env))
00250 
00253 #define AXIS2_STUB_GET_OPTIONS(stub, env) \
00254       ((stub)->ops->get_options(stub, env))
00255 
00256 
00259 #ifdef __cplusplus
00260 }
00261 #endif
00262 
00263 #endif /* AXIS2_STUB_H */

Generated on Tue Oct 3 22:35:47 2006 for Axis2/C by  doxygen 1.4.7