00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef WODEN_WSDL10_DESC_H
00018 #define WODEN_WSDL10_DESC_H
00019
00038 #include <woden.h>
00039 #include <woden_wsdl10_desc_element.h>
00040 #include <woden_wsdl_obj.h>
00041 #include <woden_documentable.h>
00042 #include <woden_wsdl_component.h>
00043
00049 typedef union woden_wsdl10_desc_base woden_wsdl10_desc_base_t;
00050 typedef struct woden_wsdl10_desc woden_wsdl10_desc_t;
00051 typedef struct woden_wsdl10_desc_ops woden_wsdl10_desc_ops_t;
00052 struct woden_documentation_element;
00053 struct woden_wsdl_component;
00054 struct woden_documentable;
00055
00056 #ifdef __cplusplus
00057 extern "C"
00058 {
00059 #endif
00060
00061 struct woden_wsdl10_desc_ops
00062 {
00067 axis2_status_t (AXIS2_CALL *
00068 free) (void *desc,
00069 const axis2_env_t *env);
00070
00071 axis2_status_t (AXIS2_CALL *
00072 to_desc_free) (void *desc,
00073 const axis2_env_t *env);
00074
00075 axis2_hash_t *(AXIS2_CALL *
00076 super_objs) (void *desc,
00077 const axis2_env_t *env);
00078
00079 woden_obj_types_t (AXIS2_CALL *
00080 type) (void *desc,
00081 const axis2_env_t *env);
00085 struct woden_documentable *(AXIS2_CALL *
00086 get_base_impl) (
00087 void *desc,
00088 const axis2_env_t *env);
00089
00090
00091
00092 axis2_array_list_t *(AXIS2_CALL *
00093 get_msgs) (
00094 void *desc,
00095 const axis2_env_t *env);
00096
00097 axis2_array_list_t *(AXIS2_CALL *
00098 get_interfaces) (
00099 void *desc,
00100 const axis2_env_t *env);
00101
00102 axis2_array_list_t *(AXIS2_CALL *
00103 get_bindings) (
00104 void *desc,
00105 const axis2_env_t *env);
00106
00107 axis2_array_list_t *(AXIS2_CALL *
00108 get_svcs) (
00109 void *desc,
00110 const axis2_env_t *env);
00111
00112 axis2_array_list_t *(AXIS2_CALL *
00113 get_element_decls) (
00114 void *desc,
00115 const axis2_env_t *env);
00116
00117 void *(AXIS2_CALL *
00118 get_element_decl) (
00119 void *desc,
00120 const axis2_env_t *env,
00121 axis2_qname_t *qname);
00122
00123 axis2_array_list_t *(AXIS2_CALL *
00124 get_type_defs) (
00125 void *desc,
00126 const axis2_env_t *env);
00127
00128 void *(AXIS2_CALL *
00129 get_type_def) (
00130 void *desc,
00131 const axis2_env_t *env,
00132 axis2_qname_t *qname);
00133
00134 void *(AXIS2_CALL *
00135 to_element) (
00136 void *desc,
00137 const axis2_env_t *env);
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152 axis2_status_t (AXIS2_CALL *
00153 add_to_all_msgs) (
00154 void *desc,
00155 const axis2_env_t *env,
00156 void *msg);
00157
00158 axis2_status_t (AXIS2_CALL *
00159 add_to_all_interfaces) (
00160 void *desc,
00161 const axis2_env_t *env,
00162 void *interface);
00163
00164 axis2_status_t (AXIS2_CALL *
00165 add_to_all_bindings) (
00166 void *desc,
00167 const axis2_env_t *env,
00168 void *binding);
00169
00170 axis2_status_t (AXIS2_CALL *
00171 add_to_all_svcs) (
00172 void *desc,
00173 const axis2_env_t *env,
00174 void *svc);
00175
00176 axis2_status_t (AXIS2_CALL *
00177 add_to_all_element_decls) (
00178 void *desc,
00179 const axis2_env_t *env,
00180 void *element_decl);
00181
00182 axis2_status_t (AXIS2_CALL *
00183 add_to_all_type_defs) (
00184 void *desc,
00185 const axis2_env_t *env,
00186 void *type_def);
00187 };
00188
00189 union woden_wsdl10_desc_base
00190 {
00191 woden_documentable_t documentable;
00192 woden_wsdl10_desc_element_t desc_element;
00193 woden_wsdl_component_t wsdl_component;
00194 };
00195
00196 struct woden_wsdl10_desc
00197 {
00198 woden_wsdl10_desc_base_t base;
00199 woden_wsdl10_desc_ops_t *ops;
00200 };
00201
00202 AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
00203 woden_wsdl10_desc_create(
00204 const axis2_env_t *env);
00205
00206
00207
00208 AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
00209 woden_wsdl10_desc_to_desc_element(
00210 void *desc,
00211 const axis2_env_t *env);
00212
00213 AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
00214 woden_wsdl10_desc_to_documentable_element(
00215 void *desc,
00216 const axis2_env_t *env);
00217
00218 AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
00219 woden_wsdl10_desc_to_documentable(
00220 void *desc,
00221 const axis2_env_t *env);
00222
00223 AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
00224 woden_wsdl10_desc_to_wsdl_obj(
00225 void *desc,
00226 const axis2_env_t *env);
00227
00228 AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
00229 woden_wsdl10_desc_to_wsdl_component(
00230 void *desc,
00231 const axis2_env_t *env);
00232
00233 AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
00234 woden_wsdl10_desc_to_attr_extensible(
00235 void *desc,
00236 const axis2_env_t *env);
00237
00238 AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
00239 woden_wsdl10_desc_to_element_extensible(
00240 void *desc,
00241 const axis2_env_t *env);
00242
00243 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00244 woden_wsdl10_desc_resolve_methods(
00245 woden_wsdl10_desc_t *desc,
00246 const axis2_env_t *env,
00247 woden_wsdl10_desc_t *desc_impl,
00248 axis2_hash_t *methods);
00249
00250
00251 #define WODEN_WSDL10_DESC_FREE(desc, env) \
00252 (((woden_wsdl10_desc_t *) desc)->ops->free(desc, env))
00253
00254 #define WODEN_WSDL10_DESC_TO_DESC_FREE(desc, env) \
00255 (((woden_wsdl10_desc_t *) desc)->ops->to_desc_free(desc, env))
00256
00257 #define WODEN_WSDL10_DESC_SUPER_OBJS(desc, env) \
00258 (((woden_wsdl10_desc_t *) desc)->ops->super_objs(desc, env))
00259
00260 #define WODEN_WSDL10_DESC_TYPE(desc, env) \
00261 (((woden_wsdl10_desc_t *) desc)->ops->type(desc, env))
00262
00263 #define WODEN_WSDL10_DESC_GET_BASE_IMPL(desc, env) \
00264 (((woden_wsdl10_desc_t *) desc)->ops->get_base_impl(desc, env))
00265
00266 #define WODEN_WSDL10_DESC_GET_MSGS(desc, env) \
00267 (((woden_wsdl10_desc_t *) desc)->ops->\
00268 get_msgs (desc, env))
00269
00270 #define WODEN_WSDL10_DESC_GET_INTERFACES(desc, env) \
00271 (((woden_wsdl10_desc_t *) desc)->ops->\
00272 get_interfaces (desc, env))
00273
00274 #define WODEN_WSDL10_DESC_GET_BINDINGS(desc, env) \
00275 (((woden_wsdl10_desc_t *) desc)->ops->\
00276 get_bindings(desc, env))
00277
00278 #define WODEN_WSDL10_DESC_GET_SVCS(desc, env) \
00279 (((woden_wsdl10_desc_t *) desc)->ops->\
00280 get_svcs(desc, env))
00281
00282 #define WODEN_WSDL10_DESC_GET_ELEMENT_DECLS(desc, env) \
00283 (((woden_wsdl10_desc_t *) desc)->ops->\
00284 get_element_decls(desc, env))
00285
00286 #define WODEN_WSDL10_DESC_GET_ELEMENT_DECL(desc, env, qname) \
00287 (((woden_wsdl10_desc_t *) desc)->ops->\
00288 get_element_decl (desc, env, qname))
00289
00290 #define WODEN_WSDL10_DESC_GET_TYPE_DEFS(desc, env) \
00291 (((woden_wsdl10_desc_t *) desc)->ops->\
00292 get_type_defs (desc, env))
00293
00294 #define WODEN_WSDL10_DESC_GET_TYPE_DEF(desc, env, qname) \
00295 (((woden_wsdl10_desc_t *) desc)->ops->\
00296 get_type_def (desc, env, qname))
00297
00298 #define WODEN_WSDL10_DESC_TO_ELEMENT(desc, env) \
00299 (((woden_wsdl10_desc_t *) desc)->ops->\
00300 to_element (desc, env))
00301
00302 #define WODEN_WSDL10_DESC_ADD_TO_ALL_MSGS(desc, env, msg) \
00303 (((woden_wsdl10_desc_t *) desc)->ops->\
00304 add_to_all_msgs (desc, env, msg))
00305
00306 #define WODEN_WSDL10_DESC_ADD_TO_ALL_INTERFACES(desc, env, interface) \
00307 (((woden_wsdl10_desc_t *) desc)->ops->\
00308 add_to_all_interfaces (desc, env, interface))
00309
00310 #define WODEN_WSDL10_DESC_ADD_TO_ALL_BINDINGS(desc, env, binding) \
00311 (((woden_wsdl10_desc_t *) desc)->ops->\
00312 add_to_all_bindings (desc, env, binding))
00313
00314 #define WODEN_WSDL10_DESC_ADD_TO_ALL_SVCS(desc, env, svc) \
00315 (((woden_wsdl10_desc_t *) desc)->ops->\
00316 add_to_all_svcs (desc, env, svc))
00317
00318 #define WODEN_WSDL10_DESC_ADD_TO_ALL_ELEMENT_DECLS(desc, env, element_decl) \
00319 (((woden_wsdl10_desc_t *) desc)->ops->\
00320 add_to_all_element_decls (desc, env, element_decl))
00321
00322 #define WODEN_WSDL10_DESC_ADD_TO_ALL_TYPE_DEFS(desc, env, type_def) \
00323 (((woden_wsdl10_desc_t *) desc)->ops->\
00324 add_to_all_type_defs (desc, env, type_def))
00325
00327 #ifdef __cplusplus
00328 }
00329 #endif
00330 #endif