axiom_soap_fault_code.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_CODE_H
00018  #define AXIOM_SOAP_FAULT_CODE_H
00019  
00020  
00025 #include <axis2_env.h>
00026 #include <axiom_soap_fault.h>
00027 
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032 
00033     typedef struct axiom_soap_fault_code_ops axiom_soap_fault_code_ops_t;
00034     typedef struct axiom_soap_fault_code axiom_soap_fault_code_t;
00035     
00036     struct axiom_soap_fault_value;
00037     struct axiom_soap_fault_sub_code;
00038     struct axiom_soap_builder;
00049     struct axiom_soap_fault_code_ops
00050     {
00058         axis2_status_t (AXIS2_CALL *
00059       free_fn)(axiom_soap_fault_code_t *fault_code,
00060                  const axis2_env_t *env);
00066         struct axiom_soap_fault_sub_code* (AXIS2_CALL *
00067       get_sub_code)(axiom_soap_fault_code_t *fault_code,
00068                       const axis2_env_t *env);
00069                                      
00073         struct axiom_soap_fault_value* (AXIS2_CALL *get_value)                                         
00074                                     (axiom_soap_fault_code_t *fault_code,
00075                                      const axis2_env_t *env);
00076                                      
00077         axiom_node_t* (AXIS2_CALL *
00078       get_base_node)(axiom_soap_fault_code_t *fault_code,
00079                        const axis2_env_t *env);
00080                                  
00081 };      
00082 
00087     struct axiom_soap_fault_code
00088     {
00090         axiom_soap_fault_code_ops_t *ops;
00091        
00092     };
00093 
00099 AXIS2_EXTERN axiom_soap_fault_code_t * AXIS2_CALL
00100 axiom_soap_fault_code_create_with_parent(const axis2_env_t *env,
00101                             axiom_soap_fault_t *fault);
00102                             
00103 AXIS2_EXTERN axiom_soap_fault_code_t * AXIS2_CALL
00104 axiom_soap_fault_code_create_with_parent_value(const axis2_env_t *env,
00105                             axiom_soap_fault_t *fault,
00106                             axis2_char_t *value);
00107                             
00108 /******************** Macros **************************************************/
00109     
00110     
00112 #define AXIOM_SOAP_FAULT_CODE_FREE(fault_code , env) \
00113         ((fault_code)->ops->free_fn(fault_code, env))
00114 
00115 #define AXIOM_SOAP_FAULT_CODE_GET_SUB_CODE(fault_code , env) \
00116         ((fault_code)->ops->get_sub_code(fault_code, env))        
00117 
00118 #define AXIOM_SOAP_FAULT_CODE_GET_VALUE(fault_code , env) \
00119         ((fault_code)->ops->get_value(fault_code, env)) 
00120         
00121 #define AXIOM_SOAP_FAULT_CODE_GET_BASE_NODE(fault_code, env) \
00122         ((fault_code)->ops->get_base_node(fault_code, env))         
00123 
00126 #ifdef __cplusplus
00127 }
00128 #endif
00129 #endif /* AXIOM_SOAP_FAULT_CODE_H */

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