# axiom_soap_header.h

Go to the documentation of this file.

    00001
    00002 /*
    00003  * Licensed to the Apache Software Foundation (ASF) under one or more
    00004  * contributor license agreements.  See the NOTICE file distributed with
    00005  * this work for additional information regarding copyright ownership.
    00006  * The ASF licenses this file to You under the Apache License, Version 2.0
    00007  * (the "License"); you may not use this file except in compliance with
    00008  * the License.  You may obtain a copy of the License at
    00009  *
    00010  *      http://www.apache.org/licenses/LICENSE-2.0
    00011  *
    00012  * Unless required by applicable law or agreed to in writing, software
    00013  * distributed under the License is distributed on an "AS IS" BASIS,
    00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00015  * See the License for the specific language governing permissions and
    00016  * limitations under the License.
    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                          /* AXIOM_SOAP_HEADER_H */