00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
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 AXIS2_DECLARE_DATA 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
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