00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef AXIOM_SOAP_FAULT_SUB_CODE_H
00018 #define AXIOM_SOAP_FAULT_SUB_CODE_H
00019
00020
00025 #include <axis2_env.h>
00026 #include <axiom_soap_fault_code.h>
00027
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032
00033 typedef struct axiom_soap_fault_sub_code_ops axiom_soap_fault_sub_code_ops_t;
00034 typedef struct axiom_soap_fault_sub_code axiom_soap_fault_sub_code_t;
00035 struct axiom_soap_fault_value;
00036 struct axiom_soap_builder;
00047 struct axiom_soap_fault_sub_code_ops
00048 {
00056 axis2_status_t (AXIS2_CALL *
00057 free_fn)(axiom_soap_fault_sub_code_t *fault_sub_code,
00058 const axis2_env_t *env);
00059
00060 axiom_soap_fault_sub_code_t* (AXIS2_CALL *
00061 get_sub_code)(axiom_soap_fault_sub_code_t *fault_sub_code,
00062 const axis2_env_t *env);
00063
00064 struct axiom_soap_fault_value* (AXIS2_CALL *
00065 get_value)(axiom_soap_fault_sub_code_t *fault_sub_code,
00066 const axis2_env_t *env);
00067
00068 axiom_node_t* (AXIS2_CALL *
00069 get_base_node) (axiom_soap_fault_sub_code_t *fault_sub_code,
00070 const axis2_env_t *env);
00071
00072 };
00073
00078 struct axiom_soap_fault_sub_code
00079 {
00081 axiom_soap_fault_sub_code_ops_t *ops;
00082
00083 };
00084
00089 AXIS2_EXTERN axiom_soap_fault_sub_code_t * AXIS2_CALL
00090 axiom_soap_fault_sub_code_create_with_parent(const axis2_env_t *env,
00091 axiom_soap_fault_code_t *fault_code);
00092
00093 AXIS2_EXTERN axiom_soap_fault_sub_code_t * AXIS2_CALL
00094 axiom_soap_fault_sub_code_create_with_parent_value(const axis2_env_t *env,
00095 axiom_soap_fault_code_t *fault_code,
00096 axis2_char_t *value);
00097
00098
00099
00100
00102 #define AXIOM_SOAP_FAULT_SUB_CODE_FREE(fault_sub_code , env) \
00103 ((fault_sub_code)->ops->free_fn(fault_sub_code, env))
00104
00105 #define AXIOM_SOAP_FAULT_SUB_CODE_GET_VALUE(fault_sub_code , env) \
00106 ((fault_sub_code)->ops->get_value(fault_sub_code, env))
00107
00108 #define AXIOM_SOAP_FAULT_SUB_CODE_GET_SUB_CODE(fault_sub_code , env) \
00109 ((fault_sub_code)->ops->get_sub_code(fault_sub_code, env))
00110
00111 #define AXIOM_SOAP_FAULT_SUB_CODE_GET_BASE_NODE(fault_sub_code, env) \
00112 ((fault_sub_code)->ops->get_base_node(fault_sub_code, env))
00113
00116 #ifdef __cplusplus
00117 }
00118 #endif
00119
00120 #endif