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