00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXIOM_SOAP_HEADER_H
00020 #define AXIOM_SOAP_HEADER_H
00021
00026 #include <axutil_env.h>
00027 #include <axiom_node.h>
00028 #include <axiom_element.h>
00029 #include <axutil_array_list.h>
00030 #include <axiom_children_qname_iterator.h>
00031 #include <axiom_children_with_specific_attribute_iterator.h>
00032 #include <axutil_hash.h>
00033 #include <axiom_soap_envelope.h>
00034
00035 #ifdef __cplusplus
00036 extern "C"
00037 {
00038 #endif
00039
00040 typedef struct axiom_soap_header axiom_soap_header_t;
00041
00042 struct axiom_soap_header_block;
00043 struct axiom_soap_builder;
00044
00051 AXIS2_EXTERN axiom_soap_header_t *AXIS2_CALL
00052 axiom_soap_header_create_with_parent(
00053 const axutil_env_t * env,
00054 struct axiom_soap_envelope *envelope);
00055
00063 AXIS2_EXTERN void AXIS2_CALL
00064 axiom_soap_header_free(
00065 axiom_soap_header_t * header,
00066 const axutil_env_t * env);
00067
00077 AXIS2_EXTERN struct axiom_soap_header_block *AXIS2_CALL
00078
00079 axiom_soap_header_add_header_block(
00080 axiom_soap_header_t * header,
00081 const axutil_env_t * env,
00082 const axis2_char_t * localname,
00083 axiom_namespace_t * ns);
00084
00100 AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00101 axiom_soap_header_examine_header_blocks(
00102 axiom_soap_header_t * header,
00103 const axutil_env_t * env,
00104 axis2_char_t * param_role);
00105
00115 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00116 axiom_soap_header_get_header_blocks_with_namespace_uri(
00117 axiom_soap_header_t * header,
00118 const axutil_env_t * env,
00119 const axis2_char_t * ns_uri);
00120
00128 AXIS2_EXTERN axiom_children_qname_iterator_t *AXIS2_CALL
00129 axiom_soap_header_examine_all_header_blocks(
00130 axiom_soap_header_t * header,
00131 const axutil_env_t * env);
00132
00142 AXIS2_EXTERN axiom_children_with_specific_attribute_iterator_t
00143 *AXIS2_CALL
00144 axiom_soap_header_extract_header_blocks(
00145 axiom_soap_header_t * header,
00146 const axutil_env_t * env,
00147 axis2_char_t * role);
00148
00156 AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00157 axiom_soap_header_get_base_node(
00158 axiom_soap_header_t * header,
00159 const axutil_env_t * env);
00160
00168 AXIS2_EXTERN int AXIS2_CALL
00169 axiom_soap_header_get_soap_version(
00170 axiom_soap_header_t * header,
00171 const axutil_env_t * env);
00172
00181 AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00182 axiom_soap_header_get_all_header_blocks(
00183 axiom_soap_header_t * header,
00184 const axutil_env_t * env);
00185
00195 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00196 axiom_soap_header_remove_header_block(
00197 axiom_soap_header_t * header,
00198 const axutil_env_t * env,
00199 axutil_qname_t * qname);
00200
00202 #ifdef __cplusplus
00203 }
00204 #endif
00205 #endif