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