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