axis2_stub.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_STUB_H
00019 #define AXIS2_STUB_H
00020 
00033 #include <axis2_endpoint_ref.h>
00034 #include <axis2_svc_client.h>
00035 #include <axis2_options.h>
00036 #include <axiom_xml_reader.h>
00037 #include <axis2_property.h>
00038 
00040 #define AXIOM_SOAP_11 0
00041 
00042 #define AXIOM_SOAP_12 1
00043 
00044 #ifdef __cplusplus
00045 extern "C"
00046 {
00047 #endif
00048 
00050     typedef struct axis2_stub_ops axis2_stub_ops_t;
00052     typedef struct axis2_stub axis2_stub_t;
00053 
00058      struct axis2_stub_ops
00059     {
00066         axis2_status_t (AXIS2_CALL *
00067                 free)(
00068                     axis2_stub_t *stub,
00069                     const axis2_env_t *env);
00070 
00079         axis2_status_t (AXIS2_CALL *
00080                 set_endpoint_ref)(
00081                     axis2_stub_t *stub,
00082                     const axis2_env_t *env,
00083                     axis2_endpoint_ref_t *endpoint_ref);
00084 
00092         axis2_status_t (AXIS2_CALL *
00093                 set_endpoint_uri)(
00094                     axis2_stub_t *stub,
00095                     const axis2_env_t *env,
00096                     const axis2_char_t *endpoint_uri);
00097 
00098 
00107         axis2_status_t (AXIS2_CALL *
00108                 set_use_separate_listener)(
00109                     axis2_stub_t *stub,
00110                     const axis2_env_t *env,
00111                     const axis2_bool_t use_separate_listener);
00112 
00120         axis2_status_t (AXIS2_CALL *
00121                 set_soap_version)(
00122                     axis2_stub_t *stub,
00123                     const axis2_env_t *env,
00124                     const int soap_version);
00125 
00126 
00133         const axis2_char_t *(AXIS2_CALL *
00134                 get_svc_ctx_id)(
00135                     const axis2_stub_t *stub,
00136                     const axis2_env_t *env);
00137 
00145         axis2_status_t (AXIS2_CALL *
00146                 engage_module)(
00147                     axis2_stub_t *stub,
00148                     const axis2_env_t *env,
00149                     const axis2_char_t *module_name);
00150 
00157         axis2_svc_client_t *(AXIS2_CALL *
00158                 get_svc_client)(
00159                     const axis2_stub_t *stub,
00160                     const axis2_env_t *env);
00161 
00168         axis2_options_t *(AXIS2_CALL *
00169                 get_options)(
00170                     const axis2_stub_t *stub,
00171                     const axis2_env_t *env);
00172 
00173     } ;
00174 
00178      struct axis2_stub
00179     {
00181         axis2_stub_ops_t *ops;
00182     };
00183 
00192     AXIS2_EXTERN axis2_stub_t * AXIS2_CALL
00193     axis2_stub_create_with_endpoint_ref_and_client_home(
00194         const axis2_env_t *env,
00195         axis2_endpoint_ref_t *endpoint_ref,
00196         const axis2_char_t *client_home);
00197 
00205     AXIS2_EXTERN axis2_stub_t * AXIS2_CALL
00206     axis2_stub_create_with_endpoint_uri_and_client_home(
00207         const axis2_env_t *env,
00208         const axis2_char_t *endpoint_uri,
00209         const axis2_char_t *client_home);
00210 
00211 
00214 #define AXIS2_STUB_FREE(stub, env) \
00215       ((stub)->ops->free (stub, env))
00216 
00219 #define AXIS2_STUB_SET_ENDPOINT_REF(stub, env, endpoint_ref) \
00220       ((stub)->ops->set_endpoint_ref (stub, env, endpoint_ref))
00221 
00224 #define AXIS2_STUB_SET_ENDPOINT_URI(stub, env, endpoint_uri) \
00225       ((stub)->ops->set_endpoint_uri (stub, env, endpoint_uri))
00226 
00229 #define AXIS2_STUB_SET_USE_SEPERATE_LISTENER(stub, env, use_separate_listener) \
00230       ((stub)->ops->set_use_separate_listener (stub, env, use_separate_listener))
00231 
00234 #define AXIS2_STUB_ENGAGE_MODULE(stub, env, module_name) \
00235       ((stub)->ops->engage_module (stub, env, module_name))
00236 
00239 #define AXIS2_STUB_SET_SOAP_VERSION(stub, env, soap_version) \
00240       ((stub)->ops->set_soap_version (stub, env, soap_version))
00241 
00244 #define AXIS2_STUB_GET_SVC_CTX_ID(stub, env) \
00245       ((stub)->ops->get_svc_ctx_id (stub, env))
00246 
00249 #define AXIS2_STUB_GET_SVC_CLIENT(stub, env) \
00250       ((stub)->ops->get_svc_client(stub, env))
00251 
00254 #define AXIS2_STUB_GET_OPTIONS(stub, env) \
00255       ((stub)->ops->get_options(stub, env))
00256 
00257 
00260 #ifdef __cplusplus
00261 }
00262 #endif
00263 
00264 #endif /* AXIS2_STUB_H */

Generated on Wed Dec 20 20:14:10 2006 for Axis2/C by  doxygen 1.5.1