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