00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef WODEN_INTERFACE_MSG_REF_ELEMENT_H
00019 #define WODEN_INTERFACE_MSG_REF_ELEMENT_H
00020
00028 #include <axis2_allocator.h>
00029 #include <axis2_env.h>
00030 #include <axis2_error.h>
00031 #include <axis2_string.h>
00032 #include <axis2_utils.h>
00033 #include <axis2_hash.h>
00034 #include <axis2_qname.h>
00035 #include <axis2_uri.h>
00036 #include <axis2_array_list.h>
00037 #include <woden.h>
00038 #include <woden_documentable_element.h>
00039 #include <woden_configurable_element.h>
00040 #include <woden_nested_element.h>
00041
00042 #ifdef __cplusplus
00043 extern "C"
00044 {
00045 #endif
00046
00047 typedef struct woden_interface_msg_ref_element woden_interface_msg_ref_element_t;
00048 typedef struct woden_interface_msg_ref_element_ops woden_interface_msg_ref_element_ops_t;
00049 typedef union woden_interface_msg_ref_element_base woden_interface_msg_ref_element_base_t;
00050
00056 struct woden_interface_msg_ref_element_ops
00057 {
00062 axis2_status_t (AXIS2_CALL *
00063 free) (
00064 void *interface_msg_ref_element,
00065 const axis2_env_t *env);
00066
00067 woden_obj_types_t (AXIS2_CALL *
00068 type) (
00069 void *interface_msg_ref_element,
00070 const axis2_env_t *env);
00071
00072 axis2_status_t (AXIS2_CALL *
00073 set_msg_label) (
00074 void *iface_fault_ele,
00075 const axis2_env_t *env,
00076 void *msg_label);
00077
00078 void *(AXIS2_CALL *
00079 get_msg_label) (
00080 void *iface_fault_ele,
00081 const axis2_env_t *env);
00082
00083 axis2_status_t (AXIS2_CALL *
00084 set_msg_content_model) (
00085 void *iface_fault_ele,
00086 const axis2_env_t *env,
00087 axis2_char_t *nm_token);
00088
00089 axis2_char_t *(AXIS2_CALL *
00090 get_msg_content_model) (
00091 void *iface_fault_ele,
00092 const axis2_env_t *env);
00093
00101 axis2_status_t (AXIS2_CALL *
00102 set_element_qname) (
00103 void *iface_fault_ele,
00104 const axis2_env_t *env,
00105 axis2_qname_t *element);
00106
00107 axis2_qname_t *(AXIS2_CALL *
00108 get_element_qname) (
00109 void *iface_fault_ele,
00110 const axis2_env_t *env);
00111
00122 void *(AXIS2_CALL *
00123 get_element) (
00124 void *iface_fault_ele,
00125 const axis2_env_t *env);
00126
00127 axis2_status_t (AXIS2_CALL *
00128 set_direction) (
00129 void *iface_fault_ele,
00130 const axis2_env_t *env,
00131 void *dir);
00132
00133 void *(AXIS2_CALL *
00134 get_direction) (
00135 void *iface_fault_ele,
00136 const axis2_env_t *env);
00137
00138
00139 };
00140
00141 union woden_interface_msg_ref_element_base
00142 {
00143 woden_documentable_element_t documentable_element;
00144 woden_configurable_element_t configurable_element;
00145 woden_nested_element_t nested_element;
00146 };
00147
00148 struct woden_interface_msg_ref_element
00149 {
00150 woden_interface_msg_ref_element_base_t base;
00151 woden_interface_msg_ref_element_ops_t *ops;
00152 };
00153
00154 AXIS2_EXTERN woden_interface_msg_ref_element_t * AXIS2_CALL
00155 woden_interface_msg_ref_element_create(
00156 const axis2_env_t *env);
00157
00158
00159 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00160 woden_interface_msg_ref_element_resolve_methods(
00161 woden_interface_msg_ref_element_t *interface_msg_ref_element,
00162 const axis2_env_t *env,
00163 axis2_hash_t *methods);
00164
00165
00166 #define WODEN_INTERFACE_MSG_REF_ELEMENT_FREE(interface_msg_ref_element, env) \
00167 (((woden_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
00168 free (interface_msg_ref_element, env))
00169
00170 #define WODEN_INTERFACE_MSG_REF_ELEMENT_TYPE(interface_msg_ref_element, env) \
00171 (((woden_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
00172 type (interface_msg_ref_element, env))
00173
00174 #define WODEN_INTERFACE_MSG_REF_ELEMENT_SET_MSG_LABEL(interface_msg_ref_element, env, msg_label) \
00175 (((woden_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
00176 set_msg_label (interface_msg_ref_element, env, msg_label))
00177
00178 #define WODEN_INTERFACE_MSG_REF_ELEMENT_GET_MSG_LABEL(interface_msg_ref_element, env) \
00179 (((woden_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
00180 get_msg_label (interface_msg_ref_element, env))
00181
00182 #define WODEN_INTERFACE_MSG_REF_ELEMENT_SET_MSG_CONTENT_MODEL(interface_msg_ref_element, env, nm_token) \
00183 (((woden_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
00184 set_msg_content_model (interface_msg_ref_element, env, nm_token))
00185
00186 #define WODEN_INTERFACE_MSG_REF_ELEMENT_GET_MSG_CONTENT_MODEL(interface_msg_ref_element, env) \
00187 (((woden_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
00188 get_msg_content_model (interface_msg_ref_element, env))
00189
00190 #define WODEN_INTERFACE_MSG_REF_ELEMENT_SET_ELEMENT_QNAME(interface_msg_ref_element, env, element) \
00191 (((woden_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
00192 set_element_qname (interface_msg_ref_element, env, element))
00193
00194 #define WODEN_INTERFACE_MSG_REF_ELEMENT_GET_ELEMENT_QNAME(interface_msg_ref_element, env) \
00195 (((woden_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
00196 get_element_qname (interface_msg_ref_element, env))
00197
00198 #define WODEN_INTERFACE_MSG_REF_ELEMENT_GET_ELEMENT(interface_msg_ref_element, env) \
00199 (((woden_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
00200 get_element (interface_msg_ref_element, env))
00201
00202 #define WODEN_INTERFACE_MSG_REF_ELEMENT_SET_DIRECTION(interface_msg_ref_element, env, dir) \
00203 (((woden_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
00204 set_direction (interface_msg_ref_element, env, dir))
00205
00206 #define WODEN_INTERFACE_MSG_REF_ELEMENT_GET_DIRECTION(interface_msg_ref_element, env) \
00207 (((woden_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
00208 get_direction (interface_msg_ref_element, env))
00209
00210
00211
00212
00214 #ifdef __cplusplus
00215 }
00216 #endif
00217 #endif