00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIS2_WSDL_INTERFACE_H
00019 #define AXIS2_WSDL_INTERFACE_H
00020
00026 #include <axis2_const.h>
00027 #include <axis2_error.h>
00028 #include <axis2_defines.h>
00029 #include <axis2_env.h>
00030 #include <axis2_allocator.h>
00031 #include <axis2_hash.h>
00032 #include <axis2_wsdl_op.h>
00033 #include <axis2_linked_list.h>
00034 #include <axis2_wsdl_extensible_component.h>
00035
00036 #ifdef __cplusplus
00037 extern "C"
00038 {
00039 #endif
00040
00041 struct axis2_wsdl_op;
00042 struct axis2_op;
00043 struct axis2_wsdl_extensible_component;
00044 typedef struct axis2_wsdl_interface axis2_wsdl_interface_t;
00045 typedef struct axis2_wsdl_interface_ops axis2_wsdl_interface_ops_t;
00046
00057 struct axis2_wsdl_interface_ops
00058 {
00062 axis2_status_t (AXIS2_CALL *
00063 free)(axis2_wsdl_interface_t *wsdl_interface,
00064 const axis2_env_t *env);
00065
00071 axis2_hash_t *(AXIS2_CALL *
00072 get_defined_ops) (axis2_wsdl_interface_t *wsdl_interface,
00073 const axis2_env_t *env);
00074
00078 axis2_linked_list_t *(AXIS2_CALL *
00079 get_faults) (axis2_wsdl_interface_t *wsdl_interface,
00080 const axis2_env_t *env);
00081
00085 axis2_qname_t *(AXIS2_CALL *
00086 get_name) (axis2_wsdl_interface_t *wsdl_interface,
00087 const axis2_env_t *env);
00088
00092 axis2_hash_t *(AXIS2_CALL *
00093 get_ops) (axis2_wsdl_interface_t *wsdl_interface,
00094 const axis2_env_t *env);
00095
00102 void *(AXIS2_CALL *
00103 get_op) (axis2_wsdl_interface_t *wsdl_interface,
00104 const axis2_env_t *env,
00105 axis2_char_t *nc_name);
00106
00110 axis2_hash_t *(AXIS2_CALL *
00111 get_super_interfaces) (axis2_wsdl_interface_t *wsdl_interface,
00112 const axis2_env_t *env);
00113
00120 axis2_wsdl_interface_t *(AXIS2_CALL *
00121 get_super_interface) (axis2_wsdl_interface_t *wsdl_interface,
00122 const axis2_env_t *env,
00123 axis2_qname_t *qname);
00124
00131 axis2_char_t *(AXIS2_CALL *
00132 get_target_namespace) (axis2_wsdl_interface_t *wsdl_interface,
00133 const axis2_env_t *env);
00134
00138 axis2_status_t (AXIS2_CALL *
00139 set_faults) (axis2_wsdl_interface_t *wsdl_interface,
00140 const axis2_env_t *env,
00141 axis2_linked_list_t *list);
00142
00146 axis2_status_t (AXIS2_CALL *
00147 set_name) (axis2_wsdl_interface_t *wsdl_interface,
00148 const axis2_env_t *env,
00149 axis2_qname_t *qName);
00150
00154 axis2_status_t (AXIS2_CALL *
00155 set_ops) (axis2_wsdl_interface_t *wsdl_interface,
00156 const axis2_env_t *env,
00157 axis2_hash_t *list);
00158
00165 axis2_status_t (AXIS2_CALL *
00166 set_op) (axis2_wsdl_interface_t *wsdl_interface,
00167 const axis2_env_t *env,
00168 void *op);
00169
00173 axis2_status_t (AXIS2_CALL *
00174 set_super_interfaces) (axis2_wsdl_interface_t *wsdl_interface,
00175 const axis2_env_t *env,
00176 axis2_hash_t *list);
00177
00184 axis2_status_t (AXIS2_CALL *
00185 add_super_interface)(axis2_wsdl_interface_t *wsdl_interface,
00186 const axis2_env_t *env,
00187 axis2_wsdl_interface_t *interface_component);
00188
00194 axis2_char_t *(AXIS2_CALL *
00195 get_style_default)(axis2_wsdl_interface_t *wsdl_interface,
00196 const axis2_env_t *env);
00197
00198
00204 axis2_status_t (AXIS2_CALL *
00205 set_style_default) (axis2_wsdl_interface_t *wsdl_interface,
00206 const axis2_env_t *env,
00207 axis2_char_t *style_default);
00208
00209 };
00210
00215 struct axis2_wsdl_interface
00216 {
00217 axis2_wsdl_interface_ops_t *ops;
00218 struct axis2_wsdl_extensible_component *extensible_component;
00219 };
00220
00225 AXIS2_EXTERN axis2_wsdl_interface_t *AXIS2_CALL axis2_wsdl_interface_create (const axis2_env_t *env);
00226
00227
00228
00229 #define AXIS2_WSDL_INTERFACE_FREE(wsdl_interface, env) \
00230 ((wsdl_interface)->ops->free (wsdl_interface, env))
00231
00232 #define AXIS2_WSDL_INTERFACE_GET_DEFINED_OPS(wsdl_interface, env) \
00233 ((wsdl_interface)->ops->get_defined_ops (wsdl_interface, env))
00234
00235 #define AXIS2_WSDL_INTERFACE_GET_FAULTS(wsdl_interface, env) \
00236 ((wsdl_interface)->ops->get_faults (wsdl_interface, env))
00237
00238 #define AXIS2_WSDL_INTERFACE_GET_NAME(wsdl_interface, env) \
00239 ((wsdl_interface)->ops->get_name (wsdl_interface, env))
00240
00241 #define AXIS2_WSDL_INTERFACE_GET_OPS(wsdl_interface, env) \
00242 ((wsdl_interface)->ops->get_ops (wsdl_interface, env))
00243
00244 #define AXIS2_WSDL_INTERFACE_GET_OP(wsdl_interface, env, nc_name) \
00245 ((wsdl_interface)->ops->get_op (wsdl_interface, env, nc_name))
00246
00247 #define AXIS2_WSDL_INTERFACE_GET_SUPER_INTERFACES(wsdl_interface, env) \
00248 ((wsdl_interface)->ops->get_super_interfaces (wsdl_interface, env))
00249
00250 #define AXIS2_WSDL_INTERFACE_GET_SUPER_INTERFACE(wsdl_interface, env) \
00251 ((wsdl_interface)->ops->get_super_interface (wsdl_interface, env))
00252
00253 #define AXIS2_WSDL_INTERFACE_GET_TARGET_NAMESPACE(wsdl_interface, env) \
00254 ((wsdl_interface)->ops->get_target_namespace (wsdl_interface, env))
00255
00256 #define AXIS2_WSDL_INTERFACE_SET_FAULTS(wsdl_interface, env, list) \
00257 ((wsdl_interface)->ops->set_faults (wsdl_interface, env, list))
00258
00259 #define AXIS2_WSDL_INTERFACE_SET_NAME(wsdl_interface, env, name) \
00260 ((wsdl_interface)->ops->set_name (wsdl_interface, env, name))
00261
00262 #define AXIS2_WSDL_INTERFACE_SET_OPS(wsdl_interface, env, list) \
00263 ((wsdl_interface)->ops->set_ops (wsdl_interface, env, list))
00264
00265 #define AXIS2_WSDL_INTERFACE_SET_OP(wsdl_interface, env, op) \
00266 ((wsdl_interface)->ops->set_op (wsdl_interface, env, op))
00267
00268 #define AXIS2_WSDL_INTERFACE_SET_SUPER_INTERFACES(wsdl_interface, env, list) \
00269 ((wsdl_interface)->ops->set_super_interfaces (wsdl_interface, env, list))
00270
00271 #define AXIS2_WSDL_INTERFACE_SET_SUPER_INTERFACE(wsdl_interface, env, interface) \
00272 ((wsdl_interface)->ops->set_super_interface (wsdl_interface, env, interface))
00273
00274 #define AXIS2_WSDL_INTERFACE_GET_STYLE_DEFAULT(wsdl_interface, env) \
00275 ((wsdl_interface)->ops->get_style_default (wsdl_interface, env))
00276
00277 #define AXIS2_WSDL_INTERFACE_SET_STYLE_DEFAULT(wsdl_interface, env, style_default) \
00278 ((wsdl_interface)->ops->set_style_default (wsdl_interface, env, style_default))
00279
00280
00281
00284 #ifdef __cplusplus
00285 }
00286 #endif
00287 #endif