00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef AXIOM_SOAP_FAULT_NODE_H
00018 #define AXIOM_SOAP_FAULT_NODE_H
00019
00024 #include <axis2_env.h>
00025 #include <axiom_soap_fault.h>
00026
00027 #ifdef __cplusplus
00028 extern "C"
00029 {
00030 #endif
00031
00032 typedef struct axiom_soap_fault_node_ops axiom_soap_fault_node_ops_t;
00033 typedef struct axiom_soap_fault_node axiom_soap_fault_node_t;
00044 struct axiom_soap_fault_node_ops
00045 {
00054 axis2_status_t (AXIS2_CALL *
00055 free_fn) (axiom_soap_fault_node_t *fault_node,
00056 const axis2_env_t *env);
00057
00058 axis2_status_t (AXIS2_CALL *
00059 set_value)(axiom_soap_fault_node_t *fault_node,
00060 const axis2_env_t *env,
00061 axis2_char_t *fault_val);
00062
00063 axis2_char_t* (AXIS2_CALL *
00064 get_value)(axiom_soap_fault_node_t *fault_node,
00065 const axis2_env_t *env);
00066
00067 axiom_node_t* (AXIS2_CALL *
00068 get_base_node)(axiom_soap_fault_node_t *fault_node,
00069 const axis2_env_t *env);
00070 };
00071
00076 struct axiom_soap_fault_node
00077 {
00079 axiom_soap_fault_node_ops_t *ops;
00080
00081 };
00082
00087 AXIS2_EXTERN axiom_soap_fault_node_t * AXIS2_CALL
00088 axiom_soap_fault_node_create_with_parent(const axis2_env_t *env,
00089 axiom_soap_fault_t *fault);
00090
00091
00092
00093
00094
00096 #define AXIOM_SOAP_FAULT_NODE_FREE(fault_node , env) \
00097 ((fault_node)->ops->free_fn(fault_node, env))
00098
00099 #define AXIOM_SOAP_FAULT_NODE_GET_VALUE(fault_node , env) \
00100 ((fault_node)->ops->get_value(fault_node, env))
00101
00102 #define AXIOM_SOAP_FAULT_NODE_GET_BASE_NODE(fault_node, env) \
00103 ((fault_node)->ops->get_base_node(fault_node, env))
00104
00105 #define AXIOM_SOAP_FAULT_NODE_SET_VALUE(fault_node , env, uri) \
00106 ((fault_node)->ops->set_value(fault_node, env, uri))
00107
00110 #ifdef __cplusplus
00111 }
00112 #endif
00113
00114 #endif