Main Page | Modules | Class List | Directories | File List | Class Members | File Members | Examples

axiom_soap_fault_sub_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_SUB_CODE_H
00018  #define AXIOM_SOAP_FAULT_SUB_CODE_H
00019  
00020   
00025 #include <axis2_env.h>
00026 #include <axiom_soap_fault_code.h>
00027 
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032 
00033     typedef struct axiom_soap_fault_sub_code_ops axiom_soap_fault_sub_code_ops_t;
00034     typedef struct axiom_soap_fault_sub_code axiom_soap_fault_sub_code_t;
00035     struct axiom_soap_fault_value;
00036     struct axiom_soap_builder;
00047  AXIS2_DECLARE_DATA   struct axiom_soap_fault_sub_code_ops
00048     {
00056         axis2_status_t (AXIS2_CALL *
00057       free_fn)(axiom_soap_fault_sub_code_t *fault_sub_code,
00058                  const axis2_env_t *env);
00059                                      
00060         axiom_soap_fault_sub_code_t* (AXIS2_CALL *
00061       get_sub_code)(axiom_soap_fault_sub_code_t *fault_sub_code,
00062                       const axis2_env_t *env);
00063                                      
00064         struct axiom_soap_fault_value* (AXIS2_CALL *
00065       get_value)(axiom_soap_fault_sub_code_t *fault_sub_code,
00066                    const axis2_env_t *env);
00067                                      
00068         axiom_node_t* (AXIS2_CALL *
00069       get_base_node) (axiom_soap_fault_sub_code_t *fault_sub_code,
00070                         const axis2_env_t *env);
00071 
00072         };      
00073 
00078     struct axiom_soap_fault_sub_code
00079     {
00081         axiom_soap_fault_sub_code_ops_t *ops;
00082        
00083     };
00084 
00089 AXIS2_EXTERN axiom_soap_fault_sub_code_t * AXIS2_CALL
00090 axiom_soap_fault_sub_code_create_with_parent(const axis2_env_t *env,
00091                             axiom_soap_fault_code_t *fault_code);
00092                             
00093 AXIS2_EXTERN axiom_soap_fault_sub_code_t * AXIS2_CALL
00094 axiom_soap_fault_sub_code_create_with_parent_value(const axis2_env_t *env,
00095                             axiom_soap_fault_code_t *fault_code,
00096                             axis2_char_t *value);                            
00097 
00098 /******************** Macros **************************************************/
00099     
00100     
00102 #define AXIOM_SOAP_FAULT_SUB_CODE_FREE(fault_sub_code , env) \
00103         ((fault_sub_code)->ops->free_fn(fault_sub_code, env))
00104         
00105 #define AXIOM_SOAP_FAULT_SUB_CODE_GET_VALUE(fault_sub_code , env) \
00106         ((fault_sub_code)->ops->get_value(fault_sub_code, env)) 
00107         
00108 #define AXIOM_SOAP_FAULT_SUB_CODE_GET_SUB_CODE(fault_sub_code , env) \
00109         ((fault_sub_code)->ops->get_sub_code(fault_sub_code, env))        
00110         
00111 #define AXIOM_SOAP_FAULT_SUB_CODE_GET_BASE_NODE(fault_sub_code, env) \
00112         ((fault_sub_code)->ops->get_base_node(fault_sub_code, env))         
00113 
00116 #ifdef __cplusplus
00117 }
00118 #endif
00119 
00120 #endif /* AXIOM_SOAP_FAULT_SUB_CODE_H */

Generated on Fri Jun 16 18:02:30 2006 for Axis2/C by  doxygen 1.4.2