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