00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIOM_SOAP_BODY_H
00019 #define AXIOM_SOAP_BODY_H
00020
00026 #include <axis2_env.h>
00027 #include <axiom_node.h>
00028 #include <axiom_element.h>
00029 #include <axiom_namespace.h>
00030 #include <axiom_soap_fault.h>
00031 #include <axiom_soap_envelope.h>
00032
00033
00034 #ifdef __cplusplus
00035 extern "C"
00036 {
00037 #endif
00038
00039
00040 typedef struct axiom_soap_body axiom_soap_body_t;
00041 typedef struct axiom_soap_body_ops axiom_soap_body_ops_t;
00042 struct axiom_soap_builder;
00043
00064 struct axiom_soap_body_ops
00065 {
00073 axis2_status_t (AXIS2_CALL *
00074 free)(axiom_soap_body_t *body,
00075 const axis2_env_t *env);
00076
00084 axis2_bool_t (AXIS2_CALL *
00085 has_fault)(axiom_soap_body_t *body,
00086 const axis2_env_t *env);
00087
00096 axiom_soap_fault_t* (AXIS2_CALL *
00097 get_fault)(axiom_soap_body_t *body,
00098 const axis2_env_t *env);
00099
00106 axiom_node_t* (AXIS2_CALL *
00107 get_base_node)(axiom_soap_body_t *body,
00108 const axis2_env_t *env);
00109
00116 int (AXIS2_CALL *
00117 get_soap_version)(axiom_soap_body_t *body,
00118 const axis2_env_t *env);
00119
00120
00125 axis2_status_t (AXIS2_CALL *
00126 build)(axiom_soap_body_t *body,
00127 const axis2_env_t *env);
00128
00137 axis2_status_t (AXIS2_CALL *
00138 add_child)(axiom_soap_body_t *body,
00139 const axis2_env_t *env,
00140 axiom_node_t *child);
00141
00142
00143 };
00144
00149 struct axiom_soap_body
00150 {
00152 axiom_soap_body_ops_t *ops;
00153
00154 };
00155
00161 AXIS2_EXTERN axiom_soap_body_t * AXIS2_CALL
00162 axiom_soap_body_create_with_parent(const axis2_env_t *env,
00163 struct axiom_soap_envelope *envelope);
00164
00165
00166
00168 #define AXIOM_SOAP_BODY_FREE( body, env) \
00169 ((body)->ops->free( body, env))
00170
00172 #define AXIOM_SOAP_BODY_HAS_FAULT( body, env) \
00173 ((body)->ops->has_fault( body, env))
00174
00175 #define AXIOM_SOAP_BODY_GET_FAULT( body, env) \
00176 ((body)->ops->get_fault( body, env))
00177
00178 #define AXIOM_SOAP_BODY_GET_BASE_NODE( body, env) \
00179 ((body)->ops->get_base_node( body, env))
00180
00181 #define AXIOM_SOAP_BODY_GET_SOAP_VERSION( body, env) \
00182 ((body)->ops->get_soap_version( body, env))
00183
00184 #define AXIOM_SOAP_BODY_BUILD( body, env) \
00185 ((body)->ops->build( body, env))
00186
00187 #define AXIOM_SOAP_BODY_ADD_CHILD( body, env, child) \
00188 ((body)->ops->add_child( body, env, child));
00189
00190 #ifdef __cplusplus
00191 }
00192 #endif
00193
00194 #endif