woden_fault_ref_element.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 2004,2005 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *      http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
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 /************************Woden C Internal Methods******************************/
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 /************************End of Woden C Internal Methods***********************/
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 /* WODEN_INTERFACE_FAULT_REF_ELEMENT_H */

Generated on Thu Aug 31 17:32:37 2006 for Axis2/C by  doxygen 1.4.6