00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIOM_SOAP_FAULT_CODE_H
00019 #define AXIOM_SOAP_FAULT_CODE_H
00020
00021
00026 #include <axis2_env.h>
00027 #include <axiom_soap_fault.h>
00028
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033
00034 typedef struct axiom_soap_fault_code_ops axiom_soap_fault_code_ops_t;
00035 typedef struct axiom_soap_fault_code axiom_soap_fault_code_t;
00036
00037 struct axiom_soap_fault_value;
00038 struct axiom_soap_fault_sub_code;
00039 struct axiom_soap_builder;
00050 struct axiom_soap_fault_code_ops
00051 {
00059 axis2_status_t (AXIS2_CALL *
00060 free_fn)(axiom_soap_fault_code_t *fault_code,
00061 const axis2_env_t *env);
00067 struct axiom_soap_fault_sub_code* (AXIS2_CALL *
00068 get_sub_code)(axiom_soap_fault_code_t *fault_code,
00069 const axis2_env_t *env);
00070
00074 struct axiom_soap_fault_value* (AXIS2_CALL *get_value)
00075 (axiom_soap_fault_code_t *fault_code,
00076 const axis2_env_t *env);
00077
00078 axiom_node_t* (AXIS2_CALL *
00079 get_base_node)(axiom_soap_fault_code_t *fault_code,
00080 const axis2_env_t *env);
00081
00082 };
00083
00088 struct axiom_soap_fault_code
00089 {
00091 axiom_soap_fault_code_ops_t *ops;
00092
00093 };
00094
00100 AXIS2_EXTERN axiom_soap_fault_code_t * AXIS2_CALL
00101 axiom_soap_fault_code_create_with_parent(const axis2_env_t *env,
00102 axiom_soap_fault_t *fault);
00103
00104 AXIS2_EXTERN axiom_soap_fault_code_t * AXIS2_CALL
00105 axiom_soap_fault_code_create_with_parent_value(const axis2_env_t *env,
00106 axiom_soap_fault_t *fault,
00107 axis2_char_t *value);
00108
00109
00110
00111
00113 #define AXIOM_SOAP_FAULT_CODE_FREE(fault_code , env) \
00114 ((fault_code)->ops->free_fn(fault_code, env))
00115
00116 #define AXIOM_SOAP_FAULT_CODE_GET_SUB_CODE(fault_code , env) \
00117 ((fault_code)->ops->get_sub_code(fault_code, env))
00118
00119 #define AXIOM_SOAP_FAULT_CODE_GET_VALUE(fault_code , env) \
00120 ((fault_code)->ops->get_value(fault_code, env))
00121
00122 #define AXIOM_SOAP_FAULT_CODE_GET_BASE_NODE(fault_code, env) \
00123 ((fault_code)->ops->get_base_node(fault_code, env))
00124
00127 #ifdef __cplusplus
00128 }
00129 #endif
00130 #endif