00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef AXIS2_ENDPOINT_REF_H
00018 #define AXIS2_ENDPOINT_REF_H
00019
00025 #include <axis2_defines.h>
00026 #include <axis2_env.h>
00027 #include <axis2_const.h>
00028 #include <axis2_array_list.h>
00029 #include <axis2_any_content_type.h>
00030 #include <axis2_svc_name.h>
00031 #include <axiom_node.h>
00032 #include <axiom_attribute.h>
00033
00034 #ifdef __cplusplus
00035 extern "C"
00036 {
00037 #endif
00038
00039 struct axis2_endpoint_ref;
00040 struct axis2_endpoint_ref_ops;
00041
00051 AXIS2_DECLARE_DATA typedef struct axis2_endpoint_ref_ops
00052 {
00056 axis2_char_t* (AXIS2_CALL *
00057 get_address)(struct axis2_endpoint_ref *endpoint_ref,
00058 const axis2_env_t *env);
00064 axis2_status_t (AXIS2_CALL *
00065 set_address)(struct axis2_endpoint_ref *endpoint_ref,
00066 const axis2_env_t *env,
00067 axis2_char_t *address);
00071 axis2_qname_t* (AXIS2_CALL *
00072 get_interface_qname)(struct axis2_endpoint_ref *endpoint_ref,
00073 const axis2_env_t *env);
00079 axis2_status_t (AXIS2_CALL *
00080 set_interface_qname)(struct axis2_endpoint_ref *endpoint_ref,
00081 const axis2_env_t *env,
00082 axis2_qname_t *interface_qname);
00086 axis2_any_content_type_t* (AXIS2_CALL *
00087 get_ref_properties)(struct axis2_endpoint_ref *endpoint_ref,
00088 const axis2_env_t *env);
00094 axis2_status_t (AXIS2_CALL *
00095 set_ref_properties)(struct axis2_endpoint_ref *endpoint_ref,
00096 const axis2_env_t *env,
00097 axis2_any_content_type_t *ref_properties);
00098
00099 axis2_array_list_t* (AXIS2_CALL *
00100 get_ref_param_list)(struct axis2_endpoint_ref *endpoint_ref,
00101 const axis2_env_t *env);
00102
00103 axis2_array_list_t* (AXIS2_CALL *
00104 get_meta_data_list)(struct axis2_endpoint_ref *endpoint_ref,
00105 const axis2_env_t *env);
00106
00107 axis2_array_list_t* (AXIS2_CALL *
00108 get_ref_attribute_list)(struct axis2_endpoint_ref *endpoint_ref,
00109 const axis2_env_t *env);
00110
00111 axis2_array_list_t* (AXIS2_CALL *
00112 get_meta_attribute_list)(struct axis2_endpoint_ref *endpoint_ref,
00113 const axis2_env_t *env);
00114
00115 axis2_array_list_t* (AXIS2_CALL *
00116 get_extension_list)(struct axis2_endpoint_ref *endpoint_ref,
00117 const axis2_env_t *env);
00118
00119 axis2_status_t (AXIS2_CALL *
00120 add_ref_param)(struct axis2_endpoint_ref *endpoint_ref,
00121 const axis2_env_t *env,
00122 axiom_node_t* ref_param_node);
00123
00124 axis2_status_t (AXIS2_CALL *
00125 add_meta_data)(struct axis2_endpoint_ref *endpoint_ref,
00126 const axis2_env_t *env,
00127 axiom_node_t* meta_data_node);
00128
00129 axis2_status_t (AXIS2_CALL *
00130 add_ref_attribute)(struct axis2_endpoint_ref *endpoint_ref,
00131 const axis2_env_t *env,
00132 axiom_attribute_t* attr);
00133
00134 axis2_status_t (AXIS2_CALL *
00135 add_meta_attribute)(struct axis2_endpoint_ref *endpoint_ref,
00136 const axis2_env_t *env,
00137 axiom_attribute_t* attr);
00138
00139 axis2_status_t (AXIS2_CALL *
00140 add_extension)(struct axis2_endpoint_ref *endpoint_ref,
00141 const axis2_env_t *env,
00142 axiom_node_t* extension_node);
00143
00147
00148
00149
00153
00154
00155
00156
00160 axis2_svc_name_t* (AXIS2_CALL *
00161 get_svc_name)(struct axis2_endpoint_ref *endpoint_ref,
00162 const axis2_env_t *env);
00168 axis2_status_t (AXIS2_CALL *
00169 set_svc_name)(struct axis2_endpoint_ref *endpoint_ref,
00170 const axis2_env_t *env,
00171 axis2_svc_name_t *svc_name);
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200 axis2_status_t (AXIS2_CALL *
00201 free)(struct axis2_endpoint_ref *endpoint_ref,
00202 const axis2_env_t *env);
00203
00204 } axis2_endpoint_ref_ops_t;
00205
00209 typedef struct axis2_endpoint_ref
00210 {
00212 axis2_endpoint_ref_ops_t *ops;
00213 } axis2_endpoint_ref_t;
00214
00215
00222 AXIS2_EXTERN axis2_endpoint_ref_t* AXIS2_CALL
00223 axis2_endpoint_ref_create(const axis2_env_t *env,
00224 const axis2_char_t *address);
00225
00226 #define AXIS2_ENDPOINT_REF_GET_ADDRESS(endpoint_ref, env) \
00227 ((endpoint_ref)->ops->get_address(endpoint_ref, env))
00228
00229 #define AXIS2_ENDPOINT_REF_SET_ADDRESS(endpoint_ref, env, address) \
00230 ((endpoint_ref)->ops->set_address(endpoint_ref, env, address))
00231
00232 #define AXIS2_ENDPOINT_REF_GET_INTERFACE_NAME(endpoint_ref, env) \
00233 ((endpoint_ref)->ops->get_interface_qname(endpoint_ref, env))
00234
00235 #define AXIS2_ENDPOINT_REF_SET_INTERFACE_NAME(endpoint_ref, env, interface_qname)\
00236 ((endpoint_ref)->ops->set_interface_qname(endpoint_ref, env, interface_qname))
00237
00238 #define AXIS2_ENDPOINT_REF_GET_REF_PROPERTIES(endpoint_ref, env) \
00239 ((endpoint_ref)->ops->get_ref_properties(endpoint_ref, env))
00240
00241 #define AXIS2_ENDPOINT_REF_SET_REF_PROPERTIES(endpoint_ref, env, ref_properties)\
00242 ((endpoint_ref)->ops->set_ref_properties(endpoint_ref, env, ref_properties))
00243
00244
00245
00246
00247
00248
00249
00250 #define AXIS2_ENDPOINT_REF_GET_SVC_NAME(endpoint_ref, env) \
00251 ((endpoint_ref)->ops->get_svc_name(endpoint_ref, env))
00252
00253 #define AXIS2_ENDPOINT_REF_SET_SVC_NAME(endpoint_ref, env, svc_name) \
00254 ((endpoint_ref)->ops->set_svc_name(endpoint_ref, env, svc_name))
00255
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265
00266
00267
00268 #define AXIS2_ENDPOINT_REF_GET_REF_PARAM_LIST(endpoint_ref, env) \
00269 ((endpoint_ref)->ops->get_ref_param_list(endpoint_ref, env))
00270
00271 #define AXIS2_ENDPOINT_REF_GET_META_DATA_LIST(endpoint_ref, env) \
00272 ((endpoint_ref)->ops->get_meta_data_list(endpoint_ref, env))
00273
00274 #define AXIS2_ENDPOINT_REF_ADD_REF_PARAM(endpoint_ref, env, node) \
00275 ((endpoint_ref)->ops->add_ref_param(endpoint_ref, env, node))
00276
00277 #define AXIS2_ENDPOINT_REF_ADD_META_DATA(endpoint_ref, env, node) \
00278 ((endpoint_ref)->ops->add_meta_data(endpoint_ref, env, node))
00279
00280 #define AXIS2_ENDPOINT_REF_FREE(endpoint_ref, env) \
00281 ((endpoint_ref)->ops->free(endpoint_ref, env))
00282
00283 #define AXIS2_ENDPOINT_REF_GET_REF_ATTRIBUTE_LIST(endpoint_ref, env) \
00284 ((endpoint_ref)->ops->get_ref_attribute_list(endpoint_ref, env))
00285
00286 #define AXIS2_ENDPOINT_REF_GET_META_ATTRIBUTE_LIST(endpoint_ref, env) \
00287 ((endpoint_ref)->ops->get_meta_attribute_list(endpoint_ref, env))
00288
00289 #define AXIS2_ENDPOINT_REF_GET_REF_EXTENSION_LIST(endpoint_ref, env) \
00290 ((endpoint_ref)->ops->get_extension_list(endpoint_ref, env))
00291
00292 #define AXIS2_ENDPOINT_REF_ADD_REF_ATTRIBUTE(endpoint_ref, env, attr) \
00293 ((endpoint_ref)->ops->add_ref_attribute(endpoint_ref, env, attr))
00294
00295 #define AXIS2_ENDPOINT_REF_ADD_META_ATTRIBUTE(endpoint_ref, env, attr) \
00296 ((endpoint_ref)->ops->add_meta_attribute(endpoint_ref, env, attr))
00297
00298 #define AXIS2_ENDPOINT_REF_ADD_EXTENSION(endpoint_ref, env, node) \
00299 ((endpoint_ref)->ops->add_extension(endpoint_ref, env, node))
00300
00301
00304 #ifdef __cplusplus
00305 }
00306 #endif
00307
00308 #endif