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 */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3