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
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
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