axiom_soap_fault_reason.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_REASON_H
00018  #define AXIOM_SOAP_FAULT_REASON_H
00019  
00024 #include <axis2_env.h>
00025 #include <axiom_soap_fault.h>
00026 #include <axis2_array_list.h>
00027 
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032 
00033 typedef struct axiom_soap_fault_reason_ops axiom_soap_fault_reason_ops_t;
00034 typedef struct axiom_soap_fault_reason axiom_soap_fault_reason_t;
00035 struct axiom_soap_fault_text;
00036 struct axiom_soap_builder;
00047     struct axiom_soap_fault_reason_ops
00048     {
00057         axis2_status_t (AXIS2_CALL *
00058       free_fn)(axiom_soap_fault_reason_t *fault_reason,
00059                  const axis2_env_t *env);
00060 
00061         struct axiom_soap_fault_text* (AXIS2_CALL *
00062       get_soap_fault_text)(axiom_soap_fault_reason_t *fault_reason,
00063                              const axis2_env_t *env,
00064                              axis2_char_t *lang);
00065                              
00066         axis2_array_list_t* (AXIS2_CALL *
00067         get_all_soap_fault_texts)(axiom_soap_fault_reason_t *fault_reason,
00068                                   const axis2_env_t *env);
00069                                   
00070         struct axiom_soap_fault_text* (AXIS2_CALL *
00071         get_first_soap_fault_text)(axiom_soap_fault_reason_t *fault_reason,
00072                                    const axis2_env_t *env);
00073                              
00074         axis2_status_t (AXIS2_CALL *
00075         add_soap_fault_text)(axiom_soap_fault_reason_t *fault_reason,
00076                              const axis2_env_t *env,
00077                              struct axiom_soap_fault_text *fault_text);
00078                                            
00079         axiom_node_t* (AXIS2_CALL *
00080       get_base_node)(axiom_soap_fault_reason_t *fault_reason,
00081                        const axis2_env_t *env);
00082                                  
00083     };      
00084 
00089     struct axiom_soap_fault_reason
00090     {
00092         axiom_soap_fault_reason_ops_t *ops;
00093        
00094     };
00095 
00102 AXIS2_EXTERN axiom_soap_fault_reason_t * AXIS2_CALL
00103 axiom_soap_fault_reason_create_with_parent(const axis2_env_t *env,
00104                             axiom_soap_fault_t *fault);
00105 
00106 /******************** Macros **************************************************/
00107     
00109 #define AXIOM_SOAP_FAULT_REASON_FREE(fault_reason , env) \
00110         ((fault_reason)->ops->free_fn(fault_reason, env))
00111 
00112         
00113 #define AXIOM_SOAP_FAULT_REASON_GET_SOAP_FAULT_TEXT(fault_reason , env, lang) \
00114         ((fault_reason)->ops->get_soap_fault_text(fault_reason, env, lang)) 
00115         
00116 #define AXIOM_SOAP_FAULT_REASON_GET_BASE_NODE(fault_reason, env) \
00117         ((fault_reason)->ops->get_base_node(fault_reason, env))    
00118         
00119 #define AXIOM_SOAP_FAULT_REASON_ADD_SOAP_FAULT_TEXT(fault_reason, env, fault_text) \
00120         ((fault_reason)->ops->add_soap_fault_text(fault_reason, env, fault_text))             
00121         
00122 #define AXIOM_SOAP_FAULT_REASON_GET_ALL_SOAP_FAULT_TEXTS(fault_reason, env) \
00123         ((fault_reason)->ops->get_all_soap_fault_texts(fault_reason, env))
00124         
00125 #define AXIOM_SOAP_FAULT_REASON_GET_FIRST_SOAP_FAULT_TEXT(fault_reason, env) \
00126         ((fault_reason)->ops->get_first_soap_fault_text(fault_reason, env))
00127         
00130 #ifdef __cplusplus
00131 }
00132 #endif
00133 
00134 #endif /* AXIOM_SOAP_FAULT_REASON_H */
00135 

Generated on Tue Oct 3 20:47:58 2006 for Axis2/C by  doxygen 1.4.7