00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIOM_SOAP_FAULT_DETAIL_H
00019 #define AXIOM_SOAP_FAULT_DETAIL_H
00020
00026 #include <axis2_env.h>
00027 #include <axiom_soap_fault.h>
00028 #include <axiom_children_iterator.h>
00029
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034
00035 typedef struct axiom_soap_fault_detail_ops axiom_soap_fault_detail_ops_t;
00036 typedef struct axiom_soap_fault_detail axiom_soap_fault_detail_t;
00037
00048 struct axiom_soap_fault_detail_ops
00049 {
00058 axis2_status_t (AXIS2_CALL *
00059 free_fn)(axiom_soap_fault_detail_t *fault_detail,
00060 const axis2_env_t *env);
00061
00062 axis2_status_t (AXIS2_CALL *
00063 add_detail_entry)(axiom_soap_fault_detail_t *fault_detail,
00064 const axis2_env_t *env,
00065 axiom_node_t *ele_node);
00066
00067 axiom_children_iterator_t* (AXIS2_CALL *
00068 get_all_detail_entries) (axiom_soap_fault_detail_t *fault_detail,
00069 const axis2_env_t *env);
00070
00071 axiom_node_t* (AXIS2_CALL *
00072 get_base_node)(axiom_soap_fault_detail_t *fault_code,
00073 const axis2_env_t *env);
00074
00075 };
00076
00081 struct axiom_soap_fault_detail
00082 {
00084 axiom_soap_fault_detail_ops_t *ops;
00085
00086 };
00087
00095 AXIS2_EXTERN axiom_soap_fault_detail_t * AXIS2_CALL
00096 axiom_soap_fault_detail_create_with_parent
00097 (const axis2_env_t *env,
00098 axiom_soap_fault_t *fault);
00099
00100
00101
00103 #define AXIOM_SOAP_FAULT_DETAIL_FREE(fault_detail , env) \
00104 ((fault_detail)->ops->free_fn(fault_detail, env))
00105
00106 #define AXIOM_SOAP_FAULT_DETAIL_ADD_DETAIL_ENTRY(fault_detail, env, ele_node) \
00107 ((fault_detail)->ops->add_detail_entry(fault_detail, env, ele_node))
00108
00109 #define AXIOM_SOAP_FAULT_DETAIL_GET_ALL_DETAIL_ENTRIES(fault_detail, env) \
00110 ((fault_detail)->ops->get_all_detail_entries(fault_detail, env))
00111
00112 #define AXIOM_SOAP_FAULT_DETAIL_GET_BASE_NODE(fault_detail, env) \
00113 ((fault_detail)->ops->get_base_node(fault_detail, env))
00114
00115
00116
00119 #ifdef __cplusplus
00120 }
00121 #endif
00122
00123 #endif