00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIOM_ATTRIBUTE_H
00019 #define AXIOM_ATTRIBUTE_H
00020
00025 #include <axutil_env.h>
00026 #include <axutil_qname.h>
00027 #include <axiom_namespace.h>
00028 #include <axiom_output.h>
00029
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034
00042 typedef struct axiom_attribute axiom_attribute_t;
00043
00053 AXIS2_EXTERN axiom_attribute_t * AXIS2_CALL
00054 axiom_attribute_create(const axutil_env_t *env,
00055 const axis2_char_t *localname,
00056 const axis2_char_t *value,
00057 axiom_namespace_t *ns);
00063 AXIS2_EXTERN void AXIS2_CALL
00064 axiom_attribute_free_void_arg(
00065 void *om_attribute,
00066 const axutil_env_t *env);
00067
00076 AXIS2_EXTERN void AXIS2_CALL
00077 axiom_attribute_free(struct axiom_attribute *om_attribute,
00078 const axutil_env_t *env);
00079
00088 AXIS2_EXTERN axutil_qname_t * AXIS2_CALL
00089 axiom_attribute_get_qname(struct axiom_attribute *om_attribute,
00090 const axutil_env_t *env);
00091
00100 AXIS2_EXTERN int AXIS2_CALL
00101 axiom_attribute_serialize(struct axiom_attribute *om_attribute,
00102 const axutil_env_t *env,
00103 axiom_output_t *om_output);
00104
00110 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00111 axiom_attribute_get_localname(struct axiom_attribute *om_attribute,
00112 const axutil_env_t *env);
00119 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00120 axiom_attribute_get_value(struct axiom_attribute *om_attribute,
00121 const axutil_env_t *env);
00128 AXIS2_EXTERN axiom_namespace_t* AXIS2_CALL
00129 axiom_attribute_get_namespace(struct axiom_attribute *om_attribute,
00130 const axutil_env_t *env);
00131
00138 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00139 axiom_attribute_set_localname(struct axiom_attribute *om_attribute,
00140 const axutil_env_t *env,
00141 const axis2_char_t *localname);
00142
00150 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00151 axiom_attribute_set_value(struct axiom_attribute *om_attribute,
00152 const axutil_env_t *env,
00153 const axis2_char_t *value);
00154
00162 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00163 axiom_attribute_set_namespace(struct axiom_attribute *om_attribute,
00164 const axutil_env_t *env,
00165 axiom_namespace_t *om_namespace);
00166
00174 AXIS2_EXTERN struct axiom_attribute* AXIS2_CALL
00175 axiom_attribute_clone(struct axiom_attribute *om_attribute,
00176 const axutil_env_t *env);
00177
00178 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00179 axiom_attribute_increment_ref(struct axiom_attribute *om_attribute,
00180 const axutil_env_t *env);
00181
00182 AXIS2_EXTERN axiom_attribute_t* AXIS2_CALL
00183 axiom_attribute_create_str(const axutil_env_t *env,
00184 axutil_string_t * localname,
00185 axutil_string_t * value,
00186 axiom_namespace_t * ns);
00187
00188 AXIS2_EXTERN axutil_string_t* AXIS2_CALL
00189 axiom_attribute_get_localname_str(axiom_attribute_t *attribute,
00190 const axutil_env_t *env);
00191
00192 AXIS2_EXTERN axutil_string_t* AXIS2_CALL
00193 axiom_attribute_get_value_str(axiom_attribute_t *attribute,
00194 const axutil_env_t *env);
00195
00196 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00197 axiom_attribute_set_localname_str(axiom_attribute_t *attribute,
00198 const axutil_env_t *env,
00199 axutil_string_t *localname);
00200
00201 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00202 axiom_attribute_set_value_str(axiom_attribute_t *attribute,
00203 const axutil_env_t *env,
00204 axutil_string_t *value);
00205
00208 #ifdef __cplusplus
00209 }
00210 #endif
00211
00212 #endif