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