00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef WODEN_INTERFACE_FAULT_REF_H
00019 #define WODEN_INTERFACE_FAULT_REF_H
00020
00030 #include <woden.h>
00031 #include <woden_interface_fault_ref_element.h>
00032 #include <woden_nested_configurable.h>
00033 #include <axis2_qname.h>
00034
00040 typedef union woden_interface_fault_ref_base woden_interface_fault_ref_base_t;
00041 typedef struct woden_interface_fault_ref woden_interface_fault_ref_t;
00042 typedef struct woden_interface_fault_ref_ops woden_interface_fault_ref_ops_t;
00043
00044
00045 #ifdef __cplusplus
00046 extern "C"
00047 {
00048 #endif
00049
00050 struct woden_interface_fault_ref_ops
00051 {
00056 axis2_status_t (AXIS2_CALL *
00057 free) (void *interface_fault_ref,
00058 const axis2_env_t *env);
00059
00060 axis2_hash_t *(AXIS2_CALL *
00061 super_objs) (void *interface_fault_ref,
00062 const axis2_env_t *env);
00063
00064 woden_obj_types_t (AXIS2_CALL *
00065 type) (void *interface_fault_ref,
00066 const axis2_env_t *env);
00070 struct woden_nested_configurable *(AXIS2_CALL *
00071 get_base_impl) (
00072 void *interface_fault_ref,
00073 const axis2_env_t *env);
00074
00075 void *(AXIS2_CALL *
00076 get_interface_fault) (
00077 void *interface_fault_ref,
00078 const axis2_env_t *env);
00079
00080 void *(AXIS2_CALL *
00081 get_msg_label) (
00082 void *interface_fault_ref,
00083 const axis2_env_t *env);
00084
00085 void *(AXIS2_CALL *
00086 get_direction) (
00087 void *interface_fault_ref,
00088 const axis2_env_t *env);
00089
00090 void *(AXIS2_CALL *
00091 to_element) (
00092 void *interface_fault_ref,
00093 const axis2_env_t *env);
00094
00095
00096
00097
00098 axis2_status_t (AXIS2_CALL *
00099 set_interface_fault) (
00100 void *interface_fault_ref,
00101 const axis2_env_t *env,
00102 void *fault);
00103
00104 };
00105
00106 union woden_interface_fault_ref_base
00107 {
00108 woden_nested_configurable_t nested_configurable;
00109 woden_interface_fault_ref_element_t interface_fault_ref_element;
00110 };
00111
00112 struct woden_interface_fault_ref
00113 {
00114 woden_interface_fault_ref_base_t base;
00115 woden_interface_fault_ref_ops_t *ops;
00116 };
00117
00118 AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL
00119 woden_interface_fault_ref_create(
00120 const axis2_env_t *env);
00121
00122
00123
00124 AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL
00125 woden_interface_fault_ref_to_interface_fault_ref_element(
00126 void *interface_fault_ref,
00127 const axis2_env_t *env);
00128
00129 AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL
00130 woden_interface_fault_ref_to_nested_configurable(
00131 void *interface_fault_ref,
00132 const axis2_env_t *env);
00133
00134 AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL
00135 woden_interface_fault_ref_to_configurable(
00136 void *interface_fault_ref,
00137 const axis2_env_t *env);
00138
00139 AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL
00140 woden_interface_fault_ref_to_nested_element(
00141 void *interface_fault_ref,
00142 const axis2_env_t *env);
00143
00144 AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL
00145 woden_interface_fault_ref_to_configurable_element(
00146 void *interface_fault_ref,
00147 const axis2_env_t *env);
00148
00149 AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL
00150 woden_interface_fault_ref_to_documentable_element(
00151 void *interface_fault_ref,
00152 const axis2_env_t *env);
00153
00154 AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL
00155 woden_interface_fault_ref_to_documentable(
00156 void *interface_fault_ref,
00157 const axis2_env_t *env);
00158
00159 AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL
00160 woden_interface_fault_ref_to_attr_extensible(
00161 void *interface_fault_ref,
00162 const axis2_env_t *env);
00163
00164 AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL
00165 woden_interface_fault_ref_to_element_extensible(
00166 void *interface_fault_ref,
00167 const axis2_env_t *env);
00168
00169
00170 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00171 woden_interface_fault_ref_resolve_methods(
00172 woden_interface_fault_ref_t *interface_fault_ref,
00173 const axis2_env_t *env,
00174 woden_interface_fault_ref_t *interface_fault_ref_impl,
00175 axis2_hash_t *methods);
00176
00177
00178 #define WODEN_INTERFACE_FAULT_REF_FREE(interface_fault_ref, env) \
00179 (((woden_interface_fault_ref_t *) interface_fault_ref)->ops->free(interface_fault_ref, env))
00180
00181 #define WODEN_INTERFACE_FAULT_REF_SUPER_OBJS(interface_fault_ref, env) \
00182 (((woden_interface_fault_ref_t *) interface_fault_ref)->ops->super_objs(interface_fault_ref, env))
00183
00184 #define WODEN_INTERFACE_FAULT_REF_TYPE(interface_fault_ref, env) \
00185 (((woden_interface_fault_ref_t *) interface_fault_ref)->ops->type(interface_fault_ref, env))
00186
00187 #define WODEN_INTERFACE_FAULT_REF_GET_BASE_IMPL(interface_fault_ref, env) \
00188 (((woden_interface_fault_ref_t *) interface_fault_ref)->ops->get_base_impl(interface_fault_ref, env))
00189
00190 #define WODEN_INTERFACE_FAULT_REF_GET_INTERFACE_FAULT(interface_fault_ref, env) \
00191 (((woden_interface_fault_ref_t *) interface_fault_ref)->\
00192 get_interface_fault(interface_fault_ref, env))
00193
00194 #define WODEN_INTERFACE_FAULT_REF_GET_MSG_LABEL(interface_fault_ref, env) \
00195 (((woden_interface_fault_ref_t *) interface_fault_ref)->\
00196 get_msg_label(interface_fault_ref, env))
00197
00198 #define WODEN_INTERFACE_FAULT_REF_GET_DIRECTION(interface_fault_ref, env) \
00199 (((woden_interface_fault_ref_t *) interface_fault_ref)->\
00200 get_direction(interface_fault_ref, env))
00201
00202 #define WODEN_INTERFACE_FAULT_REF_TO_ELEMENT(interface_fault_ref, env) \
00203 (((woden_interface_fault_ref_t *) interface_fault_ref)->ops->\
00204 to_element(interface_fault_ref, env))
00205
00206 #define WODEN_INTERFACE_FAULT_REF_SET_INTERFACE_FAULT(interface_fault_ref, env, fault) \
00207 (((woden_interface_fault_ref_t *) interface_fault_ref)->ops->\
00208 set_interface_fault(interface_fault_ref, env, fault))
00209
00211 #ifdef __cplusplus
00212 }
00213 #endif
00214 #endif