axiom_soap_fault_detail.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 AXIOM_SOAP_FAULT_DETAIL_H
00018  #define AXIOM_SOAP_FAULT_DETAIL_H
00019   
00025 #include <axis2_env.h>
00026 #include <axiom_soap_fault.h>
00027 #include <axiom_children_iterator.h>
00028 
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033 
00034     typedef struct axiom_soap_fault_detail_ops axiom_soap_fault_detail_ops_t;
00035     typedef struct axiom_soap_fault_detail axiom_soap_fault_detail_t;
00036 
00047     struct axiom_soap_fault_detail_ops
00048     {
00057         axis2_status_t (AXIS2_CALL *
00058       free_fn)(axiom_soap_fault_detail_t *fault_detail,
00059                  const axis2_env_t *env);
00060                                      
00061         axis2_status_t (AXIS2_CALL *
00062       add_detail_entry)(axiom_soap_fault_detail_t *fault_detail,
00063                           const axis2_env_t *env,
00064                           axiom_node_t *ele_node);
00065                                  
00066         axiom_children_iterator_t* (AXIS2_CALL *
00067       get_all_detail_entries) (axiom_soap_fault_detail_t *fault_detail,
00068                                  const axis2_env_t *env); 
00069 
00070         axiom_node_t* (AXIS2_CALL *
00071       get_base_node)(axiom_soap_fault_detail_t *fault_code,
00072                        const axis2_env_t *env);
00073         
00074     };      
00075 
00080     struct axiom_soap_fault_detail
00081     {
00083         axiom_soap_fault_detail_ops_t *ops;
00084        
00085     };
00086 
00094 AXIS2_EXTERN axiom_soap_fault_detail_t * AXIS2_CALL
00095 axiom_soap_fault_detail_create_with_parent
00096                         (const axis2_env_t *env,
00097                          axiom_soap_fault_t *fault);
00098                          
00099 /******************** Macros **************************************************/
00100     
00102 #define AXIOM_SOAP_FAULT_DETAIL_FREE(fault_detail , env) \
00103         ((fault_detail)->ops->free_fn(fault_detail, env))
00104 
00105 #define AXIOM_SOAP_FAULT_DETAIL_ADD_DETAIL_ENTRY(fault_detail, env, ele_node) \
00106         ((fault_detail)->ops->add_detail_entry(fault_detail, env, ele_node))
00107 
00108 #define AXIOM_SOAP_FAULT_DETAIL_GET_ALL_DETAIL_ENTRIES(fault_detail, env) \
00109         ((fault_detail)->ops->get_all_detail_entries(fault_detail, env))                 
00110         
00111 #define AXIOM_SOAP_FAULT_DETAIL_GET_BASE_NODE(fault_detail, env) \
00112         ((fault_detail)->ops->get_base_node(fault_detail, env))         
00113 
00114 
00115         
00118 #ifdef __cplusplus
00119 }
00120 #endif
00121  
00122 #endif /* AXIOM_SOAP_FAULT_DETAIL_H */

Generated on Tue Oct 3 22:35:46 2006 for Axis2/C by  doxygen 1.4.7