00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef WODEN_WSDL10_SOAP_HEADER_BLOCK_DESERIALIZER_H
00019 #define WODEN_WSDL10_SOAP_HEADER_BLOCK_DESERIALIZER_H
00020
00029 #include <woden.h>
00030 #include <woden_wsdl10_ext_deserializer.h>
00031 #include <woden_wsdl10_ext_registry.h>
00032 #include <axiom_node.h>
00033 #include <axis2_qname.h>
00034
00040 typedef struct woden_wsdl10_soap_header_block_deserializer
00041 woden_wsdl10_soap_header_block_deserializer_t;
00042 typedef struct woden_wsdl10_soap_header_block_deserializer_ops
00043 woden_wsdl10_soap_header_block_deserializer_ops_t;
00044
00045
00046 #ifdef __cplusplus
00047 extern "C"
00048 {
00049 #endif
00050
00051 struct woden_wsdl10_soap_header_block_deserializer_ops
00052 {
00057 axis2_status_t (AXIS2_CALL *
00058 free) (void *mod_deser,
00059 const axis2_env_t *env);
00060
00061 axis2_hash_t *(AXIS2_CALL *
00062 super_objs) (void *mod_deser,
00063 const axis2_env_t *env);
00064
00065 woden_obj_types_t (AXIS2_CALL *
00066 type) (void *mod_deser,
00067 const axis2_env_t *env);
00071 struct woden_wsdl10_ext_deserializer *(AXIS2_CALL *
00072 get_base_impl) (
00073 void *mod_deser,
00074 const axis2_env_t *env);
00075
00076 void *(AXIS2_CALL *
00077 marshall) (
00078 void *mod_deser,
00079 const axis2_env_t *env,
00080 axis2_char_t *parent_type,
00081 void *parent,
00082 axis2_qname_t *element_type,
00083 axiom_node_t *el_node,
00084 void *desc,
00085 woden_wsdl10_ext_registry_t *ext_reg);
00086
00087 };
00088
00089 struct woden_wsdl10_soap_header_block_deserializer
00090 {
00091 woden_wsdl10_ext_deserializer_t ext_deserializer;
00092 woden_wsdl10_soap_header_block_deserializer_ops_t *ops;
00093 };
00094
00095 AXIS2_EXTERN woden_wsdl10_soap_header_block_deserializer_t * AXIS2_CALL
00096 woden_wsdl10_soap_header_block_deserializer_create(
00097 const axis2_env_t *env);
00098
00099
00100
00101 AXIS2_EXTERN woden_wsdl10_soap_header_block_deserializer_t * AXIS2_CALL
00102 woden_wsdl10_soap_header_block_deserializer_to_ext_deserializer(
00103 void *mod_deser,
00104 const axis2_env_t *env);
00105
00106 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00107 woden_wsdl10_soap_header_block_deserializer_resolve_methods(
00108 woden_wsdl10_soap_header_block_deserializer_t *mod_deser,
00109 const axis2_env_t *env,
00110 woden_wsdl10_soap_header_block_deserializer_t *mod_deser_impl,
00111 axis2_hash_t *methods);
00112
00113
00114 #define WODEN_WSDL10_SOAP_HEADER_BLOCK_DESERIALIZER_FREE(mod_deser, env) \
00115 (((woden_wsdl10_soap_header_block_deserializer_t *) mod_deser)->ops->free(mod_deser, env))
00116
00117 #define WODEN_WSDL10_SOAP_HEADER_BLOCK_DESERIALIZER_SUPER_OBJS(mod_deser, env) \
00118 (((woden_wsdl10_soap_header_block_deserializer_t *) mod_deser)->ops->super_objs(mod_deser, env))
00119
00120 #define WODEN_WSDL10_SOAP_HEADER_BLOCK_DESERIALIZER_TYPE(mod_deser, env) \
00121 (((woden_wsdl10_soap_header_block_deserializer_t *) mod_deser)->ops->type(mod_deser, env))
00122
00123 #define WODEN_WSDL10_SOAP_HEADER_BLOCK_DESERIALIZER_GET_BASE_IMPL(mod_deser, env) \
00124 (((woden_wsdl10_soap_header_block_deserializer_t *) mod_deser)->ops->get_base_impl(mod_deser, env))
00125
00126 #define WODEN_WSDL10_SOAP_HEADER_BLOCK_DESERIALIZER_MARSHALL(mod_deser, env, \
00127 parent_type, parent, element_type, el_node, desc, ext_reg) \
00128 (((woden_wsdl10_soap_header_block_deserializer_t *) mod_deser)->\
00129 marshall(mod_deser, env, parent_type, parent, element_type, el_node, \
00130 desc, ext_reg))
00131
00133 #ifdef __cplusplus
00134 }
00135 #endif
00136 #endif