00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
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