00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef WODEN_INTERFACE_FAULT_REF_ELEMENT_H
00018 #define WODEN_INTERFACE_FAULT_REF_ELEMENT_H
00019
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_fault_ref_element woden_fault_ref_element_t;
00048 typedef struct woden_fault_ref_element_ops woden_fault_ref_element_ops_t;
00049 typedef union woden_fault_ref_element_base woden_fault_ref_element_base_t;
00050
00056 struct woden_fault_ref_element_ops
00057 {
00062 axis2_status_t (AXIS2_CALL *
00063 free) (
00064 void *fault_ref_element,
00065 const axis2_env_t *env);
00066
00067 axis2_status_t (AXIS2_CALL *
00068 to_fault_ref_element_free) (
00069 void *fault_ref_element,
00070 const axis2_env_t *env);
00071
00072 axis2_hash_t *(AXIS2_CALL *
00073 super_objs) (
00074 void *fault_ref_element,
00075 const axis2_env_t *env);
00076
00077 woden_obj_types_t (AXIS2_CALL *
00078 type) (
00079 void *fault_ref_element,
00080 const axis2_env_t *env);
00081
00082 axis2_status_t (AXIS2_CALL *
00083 set_ref) (
00084 void *iface_fault_ele,
00085 const axis2_env_t *env,
00086 axis2_qname_t *fault_qname);
00087
00088 axis2_qname_t *(AXIS2_CALL *
00089 get_ref) (
00090 void *iface_fault_ele,
00091 const axis2_env_t *env);
00092
00093 axis2_status_t (AXIS2_CALL *
00094 set_msg_label) (
00095 void *iface_fault_ele,
00096 const axis2_env_t *env,
00097 void *msg_label);
00098
00099 void *(AXIS2_CALL *
00100 get_msg_label) (
00101 void *iface_fault_ele,
00102 const axis2_env_t *env);
00103
00104 axis2_status_t (AXIS2_CALL *
00105 set_direction) (
00106 void *iface_fault_ele,
00107 const axis2_env_t *env,
00108 void *dir);
00109
00110 void *(AXIS2_CALL *
00111 get_direction) (
00112 void *iface_fault_ele,
00113 const axis2_env_t *env);
00114
00115
00116 };
00117
00118 union woden_fault_ref_element_base
00119 {
00120 woden_documentable_element_t documentable_element;
00121 woden_configurable_element_t configurable_element;
00122 woden_nested_element_t nested_element;
00123 };
00124
00125 struct woden_fault_ref_element
00126 {
00127 woden_fault_ref_element_base_t base;
00128 woden_fault_ref_element_ops_t *ops;
00129 };
00130
00131 AXIS2_EXTERN woden_fault_ref_element_t * AXIS2_CALL
00132 woden_fault_ref_element_create(
00133 const axis2_env_t *env);
00134
00135
00136 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00137 woden_fault_ref_element_resolve_methods(
00138 woden_fault_ref_element_t *fault_ref_element,
00139 const axis2_env_t *env,
00140 axis2_hash_t *methods);
00141
00142
00143 #define WODEN_INTERFACE_FAULT_REF_ELEMENT_FREE(fault_ref_element, env) \
00144 (((woden_fault_ref_element_t *) fault_ref_element)->ops->\
00145 free (fault_ref_element, env))
00146
00147 #define WODEN_INTERFACE_FAULT_REF_ELEMENT_TO_INTERFACE_FAULT_REF_ELEMENT_FREE(fault_ref_element, env) \
00148 (((woden_fault_ref_element_t *) fault_ref_element)->ops->\
00149 to_fault_ref_element_free (fault_ref_element, env))
00150
00151 #define WODEN_INTERFACE_FAULT_REF_ELEMENT_SUPER_OBJS(fault_ref_element, env) \
00152 (((woden_fault_ref_element_t *) fault_ref_element)->ops->\
00153 super_objs (fault_ref_element, env))
00154
00155 #define WODEN_INTERFACE_FAULT_REF_ELEMENT_TYPE(fault_ref_element, env) \
00156 (((woden_fault_ref_element_t *) fault_ref_element)->ops->\
00157 type (fault_ref_element, env))
00158
00159 #define WODEN_INTERFACE_FAULT_REF_ELEMENT_SET_REF(fault_ref_element, env, fault_qname) \
00160 (((woden_fault_ref_element_t *) fault_ref_element)->ops->\
00161 set_ref (fault_ref_element, env, fault_qname))
00162
00163 #define WODEN_INTERFACE_FAULT_REF_ELEMENT_GET_REF(fault_ref_element, env) \
00164 (((woden_fault_ref_element_t *) fault_ref_element)->ops->\
00165 get_ref (fault_ref_element, env))
00166
00167 #define WODEN_INTERFACE_FAULT_REF_ELEMENT_SET_MSG_LABEL(fault_ref_element, env, msg_label) \
00168 (((woden_fault_ref_element_t *) fault_ref_element)->ops->\
00169 set_msg_label (fault_ref_element, env, msg_label))
00170
00171 #define WODEN_INTERFACE_FAULT_REF_ELEMENT_GET_MSG_LABEL(fault_ref_element, env) \
00172 (((woden_fault_ref_element_t *) fault_ref_element)->ops->\
00173 get_msg_label (fault_ref_element, env))
00174
00175 #define WODEN_INTERFACE_FAULT_REF_ELEMENT_SET_DIRECTION(fault_ref_element, env, dir) \
00176 (((woden_fault_ref_element_t *) fault_ref_element)->ops->\
00177 set_direction (fault_ref_element, env, dir))
00178
00179 #define WODEN_INTERFACE_FAULT_REF_ELEMENT_GET_DIRECTION(fault_ref_element, env) \
00180 (((woden_fault_ref_element_t *) fault_ref_element)->ops->\
00181 get_direction (fault_ref_element, env))
00182
00183
00184
00185
00187 #ifdef __cplusplus
00188 }
00189 #endif
00190 #endif