00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_H
00020 #define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_H
00021
00027 #include <axiom_node.h>
00028 #include <axiom_text.h>
00029 #include <axutil_qname.h>
00030
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035
00036 typedef struct axiom_children_with_specific_attribute_iterator
00037 axiom_children_with_specific_attribute_iterator_t;
00038
00048 AXIS2_EXTERN void AXIS2_CALL
00049
00050 axiom_children_with_specific_attribute_iterator_free(
00051 axiom_children_with_specific_attribute_iterator_t * iterator,
00052 const axutil_env_t * env);
00053
00061 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00062
00063 axiom_children_with_specific_attribute_iterator_remove(
00064 axiom_children_with_specific_attribute_iterator_t * iterator,
00065 const axutil_env_t * env);
00066
00073 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00074
00075 axiom_children_with_specific_attribute_iterator_has_next(
00076 axiom_children_with_specific_attribute_iterator_t * iterator,
00077 const axutil_env_t * env);
00078
00083 AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00084
00085 axiom_children_with_specific_attribute_iterator_next(
00086 axiom_children_with_specific_attribute_iterator_t * iterator,
00087 const axutil_env_t * env);
00088
00095 AXIS2_EXTERN axiom_children_with_specific_attribute_iterator_t
00096 *AXIS2_CALL
00097 axiom_children_with_specific_attribute_iterator_create(
00098 const axutil_env_t * env,
00099 axiom_node_t * current_child,
00100 axutil_qname_t * attr_qname,
00101 axis2_char_t * attr_value,
00102 axis2_bool_t detach);
00103
00104 #define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_FREE(iterator, env) \
00105 axiom_children_with_specific_attribute_iterator_free(iterator, env)
00106
00107 #define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_REMOVE(iterator, env) \
00108 axiom_children_with_specific_attribute_iterator_remove(iterator, env)
00109
00110 #define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_HAS_NEXT(iterator, env) \
00111 axiom_children_with_specific_attribute_iterator_has_next(iterator, env)
00112
00113 #define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_NEXT(iterator, env) \
00114 axiom_children_with_specific_attribute_iterator_next(iterator, env)
00115
00118 #ifdef __cplusplus
00119 }
00120 #endif
00121
00122 #endif