00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIOM_SOAP_FAULT_NODE_H
00019 #define AXIOM_SOAP_FAULT_NODE_H
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_node_ops axiom_soap_fault_node_ops_t;
00034 typedef struct axiom_soap_fault_node axiom_soap_fault_node_t;
00045 struct axiom_soap_fault_node_ops
00046 {
00055 axis2_status_t (AXIS2_CALL *
00056 free_fn) (axiom_soap_fault_node_t *fault_node,
00057 const axis2_env_t *env);
00058
00059 axis2_status_t (AXIS2_CALL *
00060 set_value)(axiom_soap_fault_node_t *fault_node,
00061 const axis2_env_t *env,
00062 axis2_char_t *fault_val);
00063
00064 axis2_char_t* (AXIS2_CALL *
00065 get_value)(axiom_soap_fault_node_t *fault_node,
00066 const axis2_env_t *env);
00067
00068 axiom_node_t* (AXIS2_CALL *
00069 get_base_node)(axiom_soap_fault_node_t *fault_node,
00070 const axis2_env_t *env);
00071 };
00072
00077 struct axiom_soap_fault_node
00078 {
00080 axiom_soap_fault_node_ops_t *ops;
00081
00082 };
00083
00088 AXIS2_EXTERN axiom_soap_fault_node_t * AXIS2_CALL
00089 axiom_soap_fault_node_create_with_parent(const axis2_env_t *env,
00090 axiom_soap_fault_t *fault);
00091
00092
00093
00094
00095
00097 #define AXIOM_SOAP_FAULT_NODE_FREE(fault_node , env) \
00098 ((fault_node)->ops->free_fn(fault_node, env))
00099
00100 #define AXIOM_SOAP_FAULT_NODE_GET_VALUE(fault_node , env) \
00101 ((fault_node)->ops->get_value(fault_node, env))
00102
00103 #define AXIOM_SOAP_FAULT_NODE_GET_BASE_NODE(fault_node, env) \
00104 ((fault_node)->ops->get_base_node(fault_node, env))
00105
00106 #define AXIOM_SOAP_FAULT_NODE_SET_VALUE(fault_node , env, uri) \
00107 ((fault_node)->ops->set_value(fault_node, env, uri))
00108
00111 #ifdef __cplusplus
00112 }
00113 #endif
00114
00115 #endif