00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef WODEN_BINDING_MSG_REF_H
00018 #define WODEN_BINDING_MSG_REF_H
00019
00029 #include <woden.h>
00030 #include <woden_binding_msg_ref_element.h>
00031 #include <woden_nested_configurable.h>
00032 #include <axis2_qname.h>
00033
00039 typedef union woden_binding_msg_ref_base woden_binding_msg_ref_base_t;
00040 typedef struct woden_binding_msg_ref woden_binding_msg_ref_t;
00041 typedef struct woden_binding_msg_ref_ops woden_binding_msg_ref_ops_t;
00042
00043
00044 #ifdef __cplusplus
00045 extern "C"
00046 {
00047 #endif
00048
00049 struct woden_binding_msg_ref_ops
00050 {
00055 axis2_status_t (AXIS2_CALL *
00056 free) (void *binding_msg_ref,
00057 const axis2_env_t *env);
00058
00059 axis2_status_t (AXIS2_CALL *
00060 to_binding_msg_ref_free) (void *binding_msg_ref,
00061 const axis2_env_t *env);
00062
00063 axis2_hash_t *(AXIS2_CALL *
00064 super_objs) (void *binding_msg_ref,
00065 const axis2_env_t *env);
00066
00067 woden_obj_types_t (AXIS2_CALL *
00068 type) (void *binding_msg_ref,
00069 const axis2_env_t *env);
00073 struct woden_nested_configurable *(AXIS2_CALL *
00074 get_base_impl) (
00075 void *binding_msg_ref,
00076 const axis2_env_t *env);
00077
00078 void *(AXIS2_CALL *
00079 get_interface_msg_ref) (
00080 void *binding_msg_ref,
00081 const axis2_env_t *env);
00082
00083 void *(AXIS2_CALL *
00084 to_element) (
00085 void *binding_msg_ref,
00086 const axis2_env_t *env);
00087
00088 axis2_status_t (AXIS2_CALL *
00089 set_interface_msg_ref_element) (
00090 void *binding_msg_ref,
00091 const axis2_env_t *env,
00092 void *int_msg_ref);
00093
00094 };
00095
00096 union woden_binding_msg_ref_base
00097 {
00098 woden_nested_configurable_t nested_configurable;
00099 woden_binding_msg_ref_element_t binding_msg_ref_element;
00100 };
00101
00102 struct woden_binding_msg_ref
00103 {
00104 woden_binding_msg_ref_base_t base;
00105 woden_binding_msg_ref_ops_t *ops;
00106 };
00107
00108 AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
00109 woden_binding_msg_ref_create(
00110 const axis2_env_t *env);
00111
00112
00113
00114 AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
00115 woden_binding_msg_ref_to_binding_msg_ref_element(
00116 void *binding_msg_ref,
00117 const axis2_env_t *env);
00118
00119 AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
00120 woden_binding_msg_ref_to_nested_configurable(
00121 void *binding_msg_ref,
00122 const axis2_env_t *env);
00123
00124 AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
00125 woden_binding_msg_ref_to_configurable(
00126 void *binding_msg_ref,
00127 const axis2_env_t *env);
00128
00129 AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
00130 woden_binding_msg_ref_to_wsdl_obj(
00131 void *binding_msg_ref,
00132 const axis2_env_t *env);
00133
00134 AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
00135 woden_binding_msg_ref_to_nested_element(
00136 void *binding_msg_ref,
00137 const axis2_env_t *env);
00138
00139 AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
00140 woden_binding_msg_ref_to_wsdl_component(
00141 void *binding_msg_ref,
00142 const axis2_env_t *env);
00143
00144 AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
00145 woden_binding_msg_ref_to_configurable_element(
00146 void *binding_msg_ref,
00147 const axis2_env_t *env);
00148
00149 AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
00150 woden_binding_msg_ref_to_documentable_element(
00151 void *binding_msg_ref,
00152 const axis2_env_t *env);
00153
00154 AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
00155 woden_binding_msg_ref_to_documentable(
00156 void *binding_msg_ref,
00157 const axis2_env_t *env);
00158
00159 AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
00160 woden_binding_msg_ref_to_attr_extensible(
00161 void *binding_msg_ref,
00162 const axis2_env_t *env);
00163
00164 AXIS2_EXTERN woden_binding_msg_ref_t * AXIS2_CALL
00165 woden_binding_msg_ref_to_element_extensible(
00166 void *binding_msg_ref,
00167 const axis2_env_t *env);
00168
00169 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00170 woden_binding_msg_ref_resolve_methods(
00171 woden_binding_msg_ref_t *binding_msg_ref,
00172 const axis2_env_t *env,
00173 woden_binding_msg_ref_t *binding_msg_ref_impl,
00174 axis2_hash_t *methods);
00175
00176
00177 #define WODEN_BINDING_MSG_REF_FREE(binding_msg_ref, env) \
00178 (((woden_binding_msg_ref_t *) binding_msg_ref)->ops->free(binding_msg_ref, env))
00179
00180 #define WODEN_BINDING_MSG_REF_TO_BINDING_MSG_REF_FREE(binding_msg_ref, env) \
00181 (((woden_binding_msg_ref_t *) binding_msg_ref)->ops->to_binding_msg_ref_free(binding_msg_ref, env))
00182
00183 #define WODEN_BINDING_MSG_REF_SUPER_OBJS(binding_msg_ref, env) \
00184 (((woden_binding_msg_ref_t *) binding_msg_ref)->ops->super_objs(binding_msg_ref, env))
00185
00186 #define WODEN_BINDING_MSG_REF_TYPE(binding_msg_ref, env) \
00187 (((woden_binding_msg_ref_t *) binding_msg_ref)->ops->type(binding_msg_ref, env))
00188
00189 #define WODEN_BINDING_MSG_REF_GET_BASE_IMPL(binding_msg_ref, env) \
00190 (((woden_binding_msg_ref_t *) binding_msg_ref)->ops->get_base_impl(binding_msg_ref, env))
00191
00192 #define WODEN_BINDING_MSG_REF_GET_INTERFACE_MSG_REF(binding_msg_ref, env) \
00193 (((woden_binding_msg_ref_t *) binding_msg_ref)->ops->\
00194 get_interface_msg_ref(binding_msg_ref, env))
00195
00196 #define WODEN_BINDING_MSG_REF_TO_ELEMENT(binding_msg_ref, env) \
00197 (((woden_binding_msg_ref_t *) binding_msg_ref)->ops->\
00198 to_element(binding_msg_ref, env))
00199
00200 #define WODEN_BINDING_MSG_REF_SET_INTERFACE_MSG_REF_ELEMENT(binding_msg_ref, env, int_msg_ref) \
00201 (((woden_binding_msg_ref_t *) binding_msg_ref)->ops->\
00202 set_interface_msg_ref_element(binding_msg_ref, env, int_msg_ref))
00203
00205 #ifdef __cplusplus
00206 }
00207 #endif
00208 #endif