00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIOM_NAVIGATOR_H
00019 #define AXIOM_NAVIGATOR_H
00020
00021 #include <axutil_utils.h>
00022 #include <axutil_env.h>
00023 #include <axiom_node.h>
00024
00025 #ifdef __cplusplus
00026 extern "C"
00027 {
00028 #endif
00029
00036 typedef struct axiom_navigator axiom_navigator_t;
00037
00045 AXIS2_EXTERN axiom_navigator_t *AXIS2_CALL
00046 axiom_navigator_create(const axutil_env_t *env,
00047 axiom_node_t *node);
00048
00055 AXIS2_EXTERN void AXIS2_CALL
00056 axiom_navigator_free(axiom_navigator_t *om_navigator,
00057 const axutil_env_t *env);
00058
00066 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00067 axiom_navigator_is_navigable(axiom_navigator_t *om_navigator,
00068 const axutil_env_t *env);
00069
00079 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00080 axiom_navigator_is_completed(axiom_navigator_t *om_navigator,
00081 const axutil_env_t *env);
00082
00093 AXIS2_EXTERN axiom_node_t* AXIS2_CALL
00094 axiom_navigator_next(axiom_navigator_t *om_navigator,
00095 const axutil_env_t *env);
00096
00104 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00105 axiom_navigator_visited(axiom_navigator_t *om_navigator,
00106 const axutil_env_t *env);
00107
00110 #ifdef __cplusplus
00111 }
00112 #endif
00113
00114 #endif