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
00050 AXIS2_EXTERN void AXIS2_CALL
00051 axiom_children_with_specific_attribute_iterator_free(
00052 axiom_children_with_specific_attribute_iterator_t * iterator,
00053 const axutil_env_t * env);
00054
00064 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00065 axiom_children_with_specific_attribute_iterator_remove(
00066 axiom_children_with_specific_attribute_iterator_t * iterator,
00067 const axutil_env_t * env);
00068
00077 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00078 axiom_children_with_specific_attribute_iterator_has_next(
00079 axiom_children_with_specific_attribute_iterator_t * iterator,
00080 const axutil_env_t * env);
00081
00088 AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00089 axiom_children_with_specific_attribute_iterator_next(
00090 axiom_children_with_specific_attribute_iterator_t * iterator,
00091 const axutil_env_t * env);
00092
00102 AXIS2_EXTERN axiom_children_with_specific_attribute_iterator_t *AXIS2_CALL
00103 axiom_children_with_specific_attribute_iterator_create(
00104 const axutil_env_t * env,
00105 axiom_node_t * current_child,
00106 axutil_qname_t * attr_qname,
00107 axis2_char_t * attr_value,
00108 axis2_bool_t detach);
00109
00110 #define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_FREE(iterator, env) \
00111 axiom_children_with_specific_attribute_iterator_free(iterator, env)
00112
00113 #define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_REMOVE(iterator, env) \
00114 axiom_children_with_specific_attribute_iterator_remove(iterator, env)
00115
00116 #define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_HAS_NEXT(iterator, env) \
00117 axiom_children_with_specific_attribute_iterator_has_next(iterator, env)
00118
00119 #define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_NEXT(iterator, env) \
00120 axiom_children_with_specific_attribute_iterator_next(iterator, env)
00121
00124 #ifdef __cplusplus
00125 }
00126 #endif
00127
00128 #endif