# axiom_attribute.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_ATTRIBUTE_H
    00020 #define AXIOM_ATTRIBUTE_H
    00021
    00026 #include <axutil_env.h>
    00027 #include <axutil_qname.h>
    00028 #include <axiom_namespace.h>
    00029 #include <axiom_output.h>
    00030
    00031 #ifdef __cplusplus
    00032 extern "C"
    00033 {
    00034 #endif
    00035
    00042     typedef struct axiom_attribute axiom_attribute_t;
    00043
    00053     AXIS2_EXTERN axiom_attribute_t *AXIS2_CALL
    00054     axiom_attribute_create(
    00055         const axutil_env_t * env,
    00056         const axis2_char_t * localname,
    00057         const axis2_char_t * value,
    00058         axiom_namespace_t * ns);
    00059
    00068     AXIS2_EXTERN void AXIS2_CALL
    00069     axiom_attribute_free_void_arg(
    00070         void *om_attribute,
    00071         const axutil_env_t * env);
    00072
    00079     AXIS2_EXTERN void AXIS2_CALL
    00080     axiom_attribute_free(
    00081         struct axiom_attribute *om_attribute,
    00082         const axutil_env_t * env);
    00083
    00092     AXIS2_EXTERN axutil_qname_t *AXIS2_CALL
    00093     axiom_attribute_get_qname(
    00094         struct axiom_attribute *om_attribute,
    00095         const axutil_env_t * env);
    00096
    00105     AXIS2_EXTERN int AXIS2_CALL
    00106     axiom_attribute_serialize(
    00107         struct axiom_attribute *om_attribute,
    00108         const axutil_env_t * env,
    00109         axiom_output_t * om_output);
    00110
    00116     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
    00117     axiom_attribute_get_localname(
    00118         struct axiom_attribute *om_attribute,
    00119         const axutil_env_t * env);
    00120
    00127     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
    00128     axiom_attribute_get_value(
    00129         struct axiom_attribute *om_attribute,
    00130         const axutil_env_t * env);
    00131
    00138     AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL
    00139     axiom_attribute_get_namespace(
    00140         struct axiom_attribute *om_attribute,
    00141         const axutil_env_t * env);
    00142
    00149     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00150     axiom_attribute_set_localname(
    00151         struct axiom_attribute *om_attribute,
    00152         const axutil_env_t * env,
    00153         const axis2_char_t * localname);
    00154
    00162     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00163     axiom_attribute_set_value(
    00164         struct axiom_attribute *om_attribute,
    00165         const axutil_env_t * env,
    00166         const axis2_char_t * value);
    00167
    00175     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00176     axiom_attribute_set_namespace(
    00177         struct axiom_attribute *om_attribute,
    00178         const axutil_env_t * env,
    00179         axiom_namespace_t * om_namespace);
    00180
    00188     AXIS2_EXTERN struct axiom_attribute *AXIS2_CALL
    00189                 axiom_attribute_clone(
    00190                     struct axiom_attribute *om_attribute,
    00191                     const axutil_env_t * env);
    00192
    00198     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00199     axiom_attribute_increment_ref(
    00200         struct axiom_attribute *om_attribute,
    00201         const axutil_env_t * env);
    00202
    00208     AXIS2_EXTERN axiom_attribute_t *AXIS2_CALL
    00209     axiom_attribute_create_str(
    00210         const axutil_env_t * env,
    00211         axutil_string_t * localname,
    00212         axutil_string_t * value,
    00213         axiom_namespace_t * ns);
    00214
    00220     AXIS2_EXTERN axutil_string_t *AXIS2_CALL
    00221     axiom_attribute_get_localname_str(
    00222         axiom_attribute_t * attribute,
    00223         const axutil_env_t * env);
    00224
    00230     AXIS2_EXTERN axutil_string_t *AXIS2_CALL
    00231     axiom_attribute_get_value_str(
    00232         axiom_attribute_t * attribute,
    00233         const axutil_env_t * env);
    00234
    00240     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00241     axiom_attribute_set_localname_str(
    00242         axiom_attribute_t * attribute,
    00243         const axutil_env_t * env,
    00244         axutil_string_t * localname);
    00245
    00251     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00252     axiom_attribute_set_value_str(
    00253         axiom_attribute_t * attribute,
    00254         const axutil_env_t * env,
    00255         axutil_string_t * value);
    00256
    00259 #ifdef __cplusplus
    00260 }
    00261 #endif
    00262
    00263 #endif                          /* AXIOM_ATTRIBUTE_H */