00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXIOM_CHILD_ELEMENT_ITERATOR_H
00020 #define AXIOM_CHILD_ELEMENT_ITERATOR_H
00021
00027 #include <axiom_node.h>
00028 #include <axiom_text.h>
00029
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034
00035 typedef struct axiom_child_element_iterator
00036 axiom_child_element_iterator_t;
00037
00050 AXIS2_EXTERN void AXIS2_CALL
00051 axiom_child_element_iterator_free(
00052 void *iterator,
00053 const axutil_env_t * env);
00054
00065 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00066 axiom_child_element_iterator_remove(
00067 axiom_child_element_iterator_t * iterator,
00068 const axutil_env_t * env);
00069
00077 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00078
00079 axiom_child_element_iterator_has_next(
00080 axiom_child_element_iterator_t * iterator,
00081 const axutil_env_t * env);
00082
00089 AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00090 axiom_child_element_iterator_next(
00091 axiom_child_element_iterator_t * iterator,
00092 const axutil_env_t * env);
00093
00101 AXIS2_EXTERN axiom_child_element_iterator_t *AXIS2_CALL
00102 axiom_child_element_iterator_create(
00103 const axutil_env_t * env,
00104 axiom_node_t * current_child);
00105
00106 #define AXIOM_CHILD_ELEMENT_ITERATOR_FREE(iterator, env) \
00107 axiom_child_element_iterator_free(iterator, env)
00108
00109 #define AXIOM_CHILD_ELEMENT_ITERATOR_REMOVE(iterator, env) \
00110 axiom_child_element_iterator_remove(iterator, env)
00111
00112 #define AXIOM_CHILD_ELEMENT_ITERATOR_HAS_NEXT(iterator, env) \
00113 axiom_child_element_iterator_has_next(iterator, env)
00114
00115 #define AXIOM_CHILD_ELEMENT_ITERATOR_NEXT(iterator, env) \
00116 axiom_child_element_iterator_next(iterator, env)
00117
00120 #ifdef __cplusplus
00121 }
00122 #endif
00123
00124 #endif