00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef WODEN_INTERFACE_FAULT_H
00018 #define WODEN_INTERFACE_FAULT_H
00019
00028 #include <woden.h>
00029 #include <woden_interface_fault_element.h>
00030 #include <woden_nested_configurable.h>
00031 #include <axis2_qname.h>
00032
00038 typedef union woden_interface_fault_base woden_interface_fault_base_t;
00039 typedef struct woden_interface_fault woden_interface_fault_t;
00040 typedef struct woden_interface_fault_ops woden_interface_fault_ops_t;
00041
00042
00043 #ifdef __cplusplus
00044 extern "C"
00045 {
00046 #endif
00047
00048 struct woden_interface_fault_ops
00049 {
00054 axis2_status_t (AXIS2_CALL *
00055 free) (void *interface_fault,
00056 const axis2_env_t *env);
00057
00058 axis2_hash_t *(AXIS2_CALL *
00059 super_objs) (void *interface_fault,
00060 const axis2_env_t *env);
00061
00062 woden_obj_types_t (AXIS2_CALL *
00063 type) (void *interface_fault,
00064 const axis2_env_t *env);
00068 struct woden_nested_configurable *(AXIS2_CALL *
00069 get_base_impl) (
00070 void *interface_fault,
00071 const axis2_env_t *env);
00072
00073 axis2_qname_t *(AXIS2_CALL *
00074 get_qname) (
00075 void *interface_fault,
00076 const axis2_env_t *env);
00077
00078 void *(AXIS2_CALL *
00079 get_element_decl) (
00080 void *interface_fault,
00081 const axis2_env_t *env);
00082
00083 void *(AXIS2_CALL *
00084 to_element) (
00085 void *interface_fault,
00086 const axis2_env_t *env);
00087
00088 axis2_status_t (AXIS2_CALL *
00089 set_element_decl) (
00090 void *interface_fault,
00091 const axis2_env_t *env,
00092 void *element_decl);
00093
00094 axis2_status_t (AXIS2_CALL *
00095 set_types) (
00096 void *interface_fault,
00097 const axis2_env_t *env,
00098 void *types);
00099 };
00100
00101 union woden_interface_fault_base
00102 {
00103 woden_nested_configurable_t nested_configurable;
00104 woden_interface_fault_element_t interface_fault_element;
00105 };
00106
00107 struct woden_interface_fault
00108 {
00109 woden_interface_fault_base_t base;
00110 woden_interface_fault_ops_t *ops;
00111 };
00112
00113 AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL
00114 woden_interface_fault_create(
00115 const axis2_env_t *env);
00116
00117
00118
00119 AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL
00120 woden_interface_fault_to_interface_fault_element(
00121 void *interface_fault,
00122 const axis2_env_t *env);
00123
00124 AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL
00125 woden_interface_fault_to_nested_configurable(
00126 void *interface_fault,
00127 const axis2_env_t *env);
00128
00129 AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL
00130 woden_interface_fault_to_configurable(
00131 void *interface_fault,
00132 const axis2_env_t *env);
00133
00134 AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL
00135 woden_interface_fault_to_configurable_element(
00136 void *interface_fault,
00137 const axis2_env_t *env);
00138
00139 AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL
00140 woden_interface_fault_to_documentable_element(
00141 void *interface_fault,
00142 const axis2_env_t *env);
00143
00144 AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL
00145 woden_interface_fault_to_documentable(
00146 void *interface_fault,
00147 const axis2_env_t *env);
00148
00149 AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL
00150 woden_interface_fault_to_attr_extensible(
00151 void *interface_fault,
00152 const axis2_env_t *env);
00153
00154 AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL
00155 woden_interface_fault_to_element_extensible(
00156 void *interface_fault,
00157 const axis2_env_t *env);
00158
00159 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00160 woden_interface_fault_resolve_methods(
00161 woden_interface_fault_t *interface_fault,
00162 const axis2_env_t *env,
00163 woden_interface_fault_t *interface_fault_impl,
00164 axis2_hash_t *methods);
00165
00166
00167 #define WODEN_INTERFACE_FAULT_FREE(interface_fault, env) \
00168 (((woden_interface_fault_t *) interface_fault)->ops->free(interface_fault, env))
00169
00170 #define WODEN_INTERFACE_FAULT_SUPER_OBJS(interface_fault, env) \
00171 (((woden_interface_fault_t *) interface_fault)->ops->super_objs(interface_fault, env))
00172
00173 #define WODEN_INTERFACE_FAULT_TYPE(interface_fault, env) \
00174 (((woden_interface_fault_t *) interface_fault)->ops->type(interface_fault, env))
00175
00176 #define WODEN_INTERFACE_FAULT_GET_BASE_IMPL(interface_fault, env) \
00177 (((woden_interface_fault_t *) interface_fault)->ops->get_base_impl(interface_fault, env))
00178
00179 #define WODEN_INTERFACE_FAULT_GET_QNAME(interface_fault, env) \
00180 (((woden_interface_fault_t *) interface_fault)->ops->\
00181 get_qname(interface_fault, env))
00182
00183 #define WODEN_INTERFACE_FAULT_GET_ELEMENT_DECLARATION(interface_fault, env) \
00184 (((woden_interface_fault_t *) interface_fault)->\
00185 get_element_declaration(interface_fault, env))
00186
00187 #define WODEN_INTERFACE_FAULT_TO_ELEMENT(interface_fault, env) \
00188 (((woden_interface_fault_t *) interface_fault)->ops->\
00189 to_element(interface_fault, env))
00190
00191 #define WODEN_INTERFACE_FAULT_SET_ELEMENT_DECL(interface_fault, env, element_decl) \
00192 (((woden_interface_fault_t *) interface_fault)->ops->\
00193 set_element_decl (interface_fault, env, element_decl))
00194
00195 #define WODEN_INTERFACE_FAULT_SET_TYPES(interface_fault, env, types) \
00196 (((woden_interface_fault_t *) interface_fault)->ops->\
00197 set_types (interface_fault, env, types))
00198
00200 #ifdef __cplusplus
00201 }
00202 #endif
00203 #endif