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 
00065     AXIS2_EXTERN void AXIS2_CALL
00066     axiom_attribute_free_void_arg(
00067         void *om_attribute,
00068         const axutil_env_t * env);
00069 
00078     AXIS2_EXTERN void AXIS2_CALL
00079     axiom_attribute_free(
00080         struct axiom_attribute *om_attribute,
00081         const axutil_env_t * env);
00082 
00091     AXIS2_EXTERN axutil_qname_t *AXIS2_CALL
00092     axiom_attribute_get_qname(
00093         struct axiom_attribute *om_attribute,
00094         const axutil_env_t * env);
00095 
00104     AXIS2_EXTERN int AXIS2_CALL
00105     axiom_attribute_serialize(
00106         struct axiom_attribute *om_attribute,
00107         const axutil_env_t * env,
00108         axiom_output_t * om_output);
00109 
00115     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00116     axiom_attribute_get_localname(
00117         struct axiom_attribute *om_attribute,
00118         const axutil_env_t * env);
00119 
00126     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00127     axiom_attribute_get_value(
00128         struct axiom_attribute *om_attribute,
00129         const axutil_env_t * env);
00130 
00137     AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL
00138     axiom_attribute_get_namespace(
00139         struct axiom_attribute *om_attribute,
00140         const axutil_env_t * env);
00141 
00148     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00149     axiom_attribute_set_localname(
00150         struct axiom_attribute *om_attribute,
00151         const axutil_env_t * env,
00152         const axis2_char_t * localname);
00153 
00161     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00162     axiom_attribute_set_value(
00163         struct axiom_attribute *om_attribute,
00164         const axutil_env_t * env,
00165         const axis2_char_t * value);
00166 
00174     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00175     axiom_attribute_set_namespace(
00176         struct axiom_attribute *om_attribute,
00177         const axutil_env_t * env,
00178         axiom_namespace_t * om_namespace);
00179 
00187     AXIS2_EXTERN struct axiom_attribute *AXIS2_CALL
00188                 axiom_attribute_clone(
00189                     struct axiom_attribute *om_attribute,
00190                     const axutil_env_t * env);
00191 
00192     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00193     axiom_attribute_increment_ref(
00194         struct axiom_attribute *om_attribute,
00195         const axutil_env_t * env);
00196 
00197     AXIS2_EXTERN axiom_attribute_t *AXIS2_CALL
00198     axiom_attribute_create_str(
00199         const axutil_env_t * env,
00200         axutil_string_t * localname,
00201         axutil_string_t * value,
00202         axiom_namespace_t * ns);
00203 
00204     AXIS2_EXTERN axutil_string_t *AXIS2_CALL
00205 
00206     axiom_attribute_get_localname_str(
00207         axiom_attribute_t * attribute,
00208         const axutil_env_t * env);
00209 
00210     AXIS2_EXTERN axutil_string_t *AXIS2_CALL
00211     axiom_attribute_get_value_str(
00212         axiom_attribute_t * attribute,
00213         const axutil_env_t * env);
00214 
00215     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00216     axiom_attribute_set_localname_str(
00217         axiom_attribute_t * attribute,
00218         const axutil_env_t * env,
00219         axutil_string_t * localname);
00220 
00221     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00222     axiom_attribute_set_value_str(
00223         axiom_attribute_t * attribute,
00224         const axutil_env_t * env,
00225         axutil_string_t * value);
00226 
00229 #ifdef __cplusplus
00230 }
00231 #endif
00232 
00233 #endif                          /* AXIOM_ATTRIBUTE_H */

Generated on Tue Jan 8 01:28:16 2008 for Axis2/C by  doxygen 1.5.1