00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIOM_CHILD_ELEMENT_ITERATOR_H
00019 #define AXIOM_CHILD_ELEMENT_ITERATOR_H
00020
00026 #include <axiom_node.h>
00027 #include <axiom_text.h>
00028
00029
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034
00035 typedef struct axiom_child_element_iterator axiom_child_element_iterator_t;
00036
00043 AXIS2_EXTERN void AXIS2_CALL
00044 axiom_child_element_iterator_free(void *iterator,
00045 const axutil_env_t *env);
00046
00054 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00055 axiom_child_element_iterator_remove(axiom_child_element_iterator_t *iterator,
00056 const axutil_env_t *env);
00057
00063 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00064 axiom_child_element_iterator_has_next(axiom_child_element_iterator_t *iterator,
00065 const axutil_env_t *env);
00066
00071 AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00072 axiom_child_element_iterator_next(axiom_child_element_iterator_t *iterator,
00073 const axutil_env_t *env);
00080 AXIS2_EXTERN axiom_child_element_iterator_t * AXIS2_CALL
00081 axiom_child_element_iterator_create(const axutil_env_t *env,
00082 axiom_node_t *current_child);
00083
00084 #define AXIOM_CHILD_ELEMENT_ITERATOR_FREE(iterator, env) \
00085 axiom_child_element_iterator_free(iterator, env)
00086
00087 #define AXIOM_CHILD_ELEMENT_ITERATOR_REMOVE(iterator, env) \
00088 axiom_child_element_iterator_remove(iterator, env)
00089
00090 #define AXIOM_CHILD_ELEMENT_ITERATOR_HAS_NEXT(iterator, env) \
00091 axiom_child_element_iterator_has_next(iterator, env)
00092
00093 #define AXIOM_CHILD_ELEMENT_ITERATOR_NEXT(iterator, env) \
00094 axiom_child_element_iterator_next(iterator, env)
00095
00098 #ifdef __cplusplus
00099 }
00100 #endif
00101
00102
00103 #endif