00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
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