axiom_soap_fault_detail.h

Go to the documentation of this file.
00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017  
00018  #ifndef AXIOM_SOAP_FAULT_DETAIL_H
00019  #define AXIOM_SOAP_FAULT_DETAIL_H
00020   
00026 #include <axis2_env.h>
00027 #include <axiom_soap_fault.h>
00028 #include <axiom_children_iterator.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00035     typedef struct axiom_soap_fault_detail_ops axiom_soap_fault_detail_ops_t;
00036     typedef struct axiom_soap_fault_detail axiom_soap_fault_detail_t;
00037 
00048     struct axiom_soap_fault_detail_ops
00049     {
00058         axis2_status_t (AXIS2_CALL *
00059       free_fn)(axiom_soap_fault_detail_t *fault_detail,
00060                  const axis2_env_t *env);
00061                                      
00062         axis2_status_t (AXIS2_CALL *
00063       add_detail_entry)(axiom_soap_fault_detail_t *fault_detail,
00064                           const axis2_env_t *env,
00065                           axiom_node_t *ele_node);
00066                                  
00067         axiom_children_iterator_t* (AXIS2_CALL *
00068       get_all_detail_entries) (axiom_soap_fault_detail_t *fault_detail,
00069                                  const axis2_env_t *env); 
00070 
00071         axiom_node_t* (AXIS2_CALL *
00072       get_base_node)(axiom_soap_fault_detail_t *fault_code,
00073                        const axis2_env_t *env);
00074         
00075     };      
00076 
00081     struct axiom_soap_fault_detail
00082     {
00084         axiom_soap_fault_detail_ops_t *ops;
00085        
00086     };
00087 
00095 AXIS2_EXTERN axiom_soap_fault_detail_t * AXIS2_CALL
00096 axiom_soap_fault_detail_create_with_parent
00097                         (const axis2_env_t *env,
00098                          axiom_soap_fault_t *fault);
00099                          
00100 /******************** Macros **************************************************/
00101     
00103 #define AXIOM_SOAP_FAULT_DETAIL_FREE(fault_detail , env) \
00104         ((fault_detail)->ops->free_fn(fault_detail, env))
00105 
00106 #define AXIOM_SOAP_FAULT_DETAIL_ADD_DETAIL_ENTRY(fault_detail, env, ele_node) \
00107         ((fault_detail)->ops->add_detail_entry(fault_detail, env, ele_node))
00108 
00109 #define AXIOM_SOAP_FAULT_DETAIL_GET_ALL_DETAIL_ENTRIES(fault_detail, env) \
00110         ((fault_detail)->ops->get_all_detail_entries(fault_detail, env))                 
00111         
00112 #define AXIOM_SOAP_FAULT_DETAIL_GET_BASE_NODE(fault_detail, env) \
00113         ((fault_detail)->ops->get_base_node(fault_detail, env))         
00114 
00115 
00116         
00119 #ifdef __cplusplus
00120 }
00121 #endif
00122  
00123 #endif /* AXIOM_SOAP_FAULT_DETAIL_H */

Generated on Wed Dec 20 20:34:49 2006 for Axis2/C by  doxygen 1.5.1