*/
AtspiAccessible* app_tracker_top_window_get(App_Tracker_Data *atd);
-/**
- * @brief Return next accessible window from current root
- *
- * @param atd internal data of app tracker module
- * @param current_root root of current window to start search with
- * @return accessible object of the next window
- */
-AtspiAccessible* app_tracker_next_window_get(App_Tracker_Data *atd, AtspiAccessible *current_root);
-
-/**
- * @brief Return previous accessible window from current root
- *
- * @param atd internal data of app tracker module
- * @param current_root root of current window to start search with
- * @return accessible object of the previous window
- */
-AtspiAccessible* app_tracker_prev_window_get(App_Tracker_Data *atd, AtspiAccessible *current_root);
-
/**
* @brief This function allows access to submodule functinality of app_tracker.
*
typedef struct _FlatNaviContext FlatNaviContext;
typedef enum { SEARCH_FORWARD = 1, SEARCH_BACKWARD = 2 } search_direction;
-typedef enum { CTX_SETUP_FAIL = -1, CTX_SETUP_SUCCESS = 0, CTX_SETUP_SUCCESS_HIGHLIGHT = 1 } context_setup_result;
typedef Eina_Bool(*StopConditionCb)(AtspiAccessible *);
/**
* @param ctx - an allocated FlatNaviContext. Should be created first with flat_navi_context_create().
* @param root - a node from AT-SPI2 accessibility tree that defines the root of flat navigation context, this means, navigation will be limited to the sub-tree of this node.
*
- * @return context_setup_result
+ * @return Initialized FlatNaviContext.
*
* @note Context will use heuristics to filter elements of UI which can be navigated.
* @note By default, current element is the first object in first line.
*/
-context_setup_result flat_navi_context_setup(FlatNaviContext *ctx, AtspiAccessible *root);
-
-/**
- * @brief Returns whether the context root is switched to next/prev window.
- *
- * @param ctx FlatNaviContext
- *
- * @return Eina_Bool true if flat_navi result requires root change.
- */
-Eina_Bool flat_navi_context_requires_root_change(FlatNaviContext *ctx);
-
-/**
- * @brief Falls back to strategy to loop in the same root.
- *
- * @note This is called if no valid next/prev window is found.
- */
-void flat_navi_fallback_to_loop_in_same_root(FlatNaviContext *ctx);
+int flat_navi_context_setup(FlatNaviContext *ctx, AtspiAccessible *root);
/**
* @brief Changes context root
// strlen() by a constant if it knows the length of the string.
eina_strbuf_append_length(buf, txt, strlen(txt));
}
-typedef enum {
- OBJECT_VALID, OBJECT_NOT_VALID, OBJECT_NOT_VISIBLE
-} object_state;
-
-object_state is_object_showing_and_not_defunct(AtspiAccessible *obj, char *object_name);
#endif /* UTILS_H_ */
*/
AtspiAccessible *window_tracker_top_window_get(WindowTrackerData *wtd);
-/**
- * @brief Return next accessible window from current root
- *
- * @param wtd internal data struct of window tracker
- * @param current_root root of current window to start search with
- * @return accessible object of the next window
- */
-AtspiAccessible *window_tracker_next_window_get(WindowTrackerData *wtd, AtspiAccessible *current_root);
-
-/**
- * @brief Return previous accessible window from current root
- *
- * @param wtd internal data struct of window tracker
- * @param current_root root of current window to start search with
- * @return accessible object of the previous window
- */
-AtspiAccessible *window_tracker_prev_window_get(WindowTrackerData *wtd, AtspiAccessible *current_root);
-
/*
* @brief Appends window from window list
*/
return atd ? window_tracker_top_window_get(atd->window_tracker_data) : NULL;
}
-AtspiAccessible* app_tracker_next_window_get(App_Tracker_Data *atd, AtspiAccessible *current_root)
-{
- return atd ? window_tracker_next_window_get(atd->window_tracker_data, current_root) : NULL;
-}
-
-AtspiAccessible* app_tracker_prev_window_get(App_Tracker_Data *atd, AtspiAccessible *current_root)
-{
- return atd ? window_tracker_prev_window_get(atd->window_tracker_data, current_root) : NULL;
-}
-
AtspiAccessible* app_tracker_at_point_window_get(App_Tracker_Data *atd, int x, int y)
{
return atd ? window_tracker_at_point_window_get(atd->window_tracker_data, x, y) : NULL;
typedef enum {
LAST_ENTRY_NONE,
LAST_ENTRY_FIRST,
- LAST_ENTRY_LAST,
- LAST_ENTRY_FIRST_NAV_NEXT,
- LAST_ENTRY_LAST_NAV_NEXT
+ LAST_ENTRY_LAST
} last_entry_mode;
struct _FlatNaviContext {
_on_chain_end_loop(ctx, direction);
}
-static Eina_Bool _should_navigate_to_next_win(FlatNaviContext *ctx)
-{
-#ifndef SCREEN_READER_TV
- AtspiRole role = atspi_accessible_get_role(ctx->root, NULL);
- return role == ATSPI_ROLE_COMBO_BOX ? EINA_FALSE : EINA_TRUE;
-#endif
- return EINA_FALSE;
-}
-
-static void _on_last_item_reached(FlatNaviContext *ctx, search_direction direction)
-{
- /* TODO Is it a proper place for sound generation? */
- if (vc_get_sound_feedback())
- smart_notification(FOCUS_CHAIN_END_NOTIFICATION_EVENT, 0, 0);
- ctx->last_entry = direction == SEARCH_FORWARD ? LAST_ENTRY_LAST : LAST_ENTRY_FIRST;
-}
-
static void _navigate_by_one(FlatNaviContext *ctx, search_direction direction)
{
if (direction != SEARCH_FORWARD && direction != SEARCH_BACKWARD) {
DEBUG("%s", direction == SEARCH_FORWARD ?
"Last item reached or failed" :
"first item reached or failed");
+
if (ctx->last_entry == (direction == SEARCH_FORWARD ? LAST_ENTRY_LAST : LAST_ENTRY_FIRST)) {
_on_chain_end(ctx, direction);
- } else if (_should_navigate_to_next_win(ctx)) {
- ctx->last_entry = direction == SEARCH_FORWARD ? LAST_ENTRY_LAST_NAV_NEXT : LAST_ENTRY_FIRST_NAV_NEXT;
- } else {
- _on_last_item_reached(ctx, direction);
+ }
+ else {
+ /* TODO Is it a proper place for sound generation? */
+ if (vc_get_sound_feedback())
+ smart_notification(FOCUS_CHAIN_END_NOTIFICATION_EVENT, 0, 0);
+
+ ctx->last_entry = direction == SEARCH_FORWARD ? LAST_ENTRY_LAST : LAST_ENTRY_FIRST;
}
if (ret) g_object_unref(ret);
- } else {
+ }
+ else {
if (ctx->current) g_object_unref(ctx->current);
ctx->current = ret;
ctx->last_entry = LAST_ENTRY_NONE;
return (role == ATSPI_ROLE_COMBO_BOX);
}
-context_setup_result flat_navi_context_setup(FlatNaviContext *ctx, AtspiAccessible *root)
+int flat_navi_context_setup(FlatNaviContext *ctx, AtspiAccessible *root)
{
AtspiAccessible *old_root;
DEBUG("START");
if (!ctx) {
DEBUG("END -- no context");
- return CTX_SETUP_FAIL;
+ return -1;
}
char *root_name = atspi_accessible_get_name(root, NULL);
gchar *id = atspi_accessible_get_unique_id(root, NULL);
ctx->current = old_root;
} else {
if (old_root) g_object_unref(old_root);
- if (ctx->last_entry == LAST_ENTRY_FIRST_NAV_NEXT) {
- ctx->current = _last(ctx);
- } else {
- ctx->current = _first(ctx);
- }
+ ctx->current = _first(ctx);
}
- Eina_Bool highlight_current =
- ctx->last_entry == LAST_ENTRY_FIRST_NAV_NEXT || ctx->last_entry == LAST_ENTRY_LAST_NAV_NEXT;
ctx->last_entry = LAST_ENTRY_NONE;
DEBUG("END");
- return highlight_current ? CTX_SETUP_SUCCESS_HIGHLIGHT : CTX_SETUP_SUCCESS;
-}
-
-Eina_Bool flat_navi_context_requires_root_change(FlatNaviContext *ctx)
-{
- return ctx->last_entry == LAST_ENTRY_FIRST_NAV_NEXT || ctx->last_entry == LAST_ENTRY_LAST_NAV_NEXT;
-}
-
-void flat_navi_fallback_to_loop_in_same_root(FlatNaviContext *ctx)
-{
- if (ctx->last_entry == LAST_ENTRY_FIRST_NAV_NEXT) {
- _on_last_item_reached(ctx, SEARCH_BACKWARD);
- } else if (ctx->last_entry == LAST_ENTRY_LAST_NAV_NEXT) {
- _on_last_item_reached(ctx, SEARCH_FORWARD);
- }
+ return 0;
}
void flat_navi_context_root_change(FlatNaviContext *ctx, AtspiAccessible *root)
return ret;
}
+typedef enum {
+ OBJECT_VALID, OBJECT_NOT_VALID, OBJECT_NOT_VISIBLE
+} object_state;
+
+static object_state is_object_showing_and_not_defunct(AtspiAccessible *obj, char *object_name)
+{
+ if (!obj) DEBUG("%s is null", object_name);
+ if (!obj)
+ return OBJECT_NOT_VALID;
+ AtspiStateSet *ss = atspi_accessible_get_state_set(obj);
+ if (!ss) {
+ ERROR("failed to get state set for %s", object_name);
+ return OBJECT_NOT_VALID;
+ }
+
+ Eina_Bool showing = atspi_state_set_contains(ss, ATSPI_STATE_SHOWING);
+ Eina_Bool defunct = atspi_state_set_contains(ss, ATSPI_STATE_DEFUNCT);
+ g_object_unref(ss);
+
+ if (defunct) {
+ gchar *id = atspi_accessible_get_unique_id(obj, NULL);
+ DEBUG("%s %s is defunct", object_name, id);
+ g_free(id);
+ } else if (!showing) {
+ gchar *id = atspi_accessible_get_unique_id(obj, NULL);
+ DEBUG("%s %s is not showing", object_name, id);
+ g_free(id);
+ }
+ if (defunct)
+ return OBJECT_NOT_VALID;
+ return showing ? OBJECT_VALID : OBJECT_NOT_VISIBLE;
+}
+
FlatNaviContextValidity flat_navi_is_valid(FlatNaviContext *context, AtspiAccessible *new_root)
{
if (!context)
return ret;
}
-static Eina_Bool _switch_to_next_root_if_valid(NavigatorData *nd, Eina_Bool is_forward)
-{
- DEBUG("START");
- if (flat_navi_context_requires_root_change(nd->flat_navi_context)) {
- AtspiAccessible *current_root = flat_navi_context_root_get(nd->flat_navi_context);
- if (current_root) {
- AtspiAccessible *new_root = NULL;
- if (is_forward)
- new_root = app_tracker_next_window_get(nd->app_tracker_data, current_root);
- else
- new_root = app_tracker_prev_window_get(nd->app_tracker_data, current_root);
-
- if (new_root && new_root != app_tracker_desktop_get(nd->app_tracker_data) && nd->context_switch_cb) {
- DEBUG("switching to new_root for flat_nav_context");
- nd->context_switch_cb(nd->context_switch_data, new_root);
- return EINA_TRUE;
- } else {
- flat_navi_fallback_to_loop_in_same_root(nd->flat_navi_context);
- }
- }
- }
-
- DEBUG("END");
- return EINA_FALSE;
-}
-
TIZEN_PROD_STATIC void _focus_next(NavigatorData *nd)
{
DEBUG("START");
return;
}
- if (_focus_next_prev_is_movable(obj)) { /* case: highlight_clear, set can_highlight of current to FALSE */
+ if (_focus_next_prev_is_movable(obj)) /* case: highlight_clear, set can_highlight of current to FALSE */
obj = flat_navi_context_next(nd->flat_navi_context);
- if (_switch_to_next_root_if_valid(nd, EINA_TRUE)) return;
- }
}
if (obj)
return;
}
- if (_focus_next_prev_is_movable(obj)) { /* case: highlight_clear, set can_highlight of current to FALSE */
+ if (_focus_next_prev_is_movable(obj)) /* case: highlight_clear, set can_highlight of current to FALSE */
obj = flat_navi_context_prev(nd->flat_navi_context);
- if (_switch_to_next_root_if_valid(nd, EINA_FALSE)) return;
- }
}
if (obj)
AtspiAccessible *old_root = NULL;
if (flat_navi_context_root_get(nd->flat_navi_context))
old_root = g_object_ref(flat_navi_context_root_get(nd->flat_navi_context));
- context_setup_result setup_result = flat_navi_context_setup(nd->flat_navi_context, root);
- if (setup_result == CTX_SETUP_FAIL) {
+ if (flat_navi_context_setup(nd->flat_navi_context, root)) {
DEBUG("END -- setup failed");
if (old_root) g_object_unref(old_root);
return;
}
-
AtspiAccessible *new_current = flat_navi_context_current_get(nd->flat_navi_context);
- if (setup_result == CTX_SETUP_SUCCESS_HIGHLIGHT || atspi_accessible_is_equal(old_root, new_current)) {
+ if (atspi_accessible_is_equal(old_root, new_current)) {
// when returning to old context root as current in new context we should highlight the current immediately without providing default label
default_label_enabled = EINA_FALSE;
}
return status;
}
-
-object_state is_object_showing_and_not_defunct(AtspiAccessible *obj, char *object_name)
-{
- if (!obj) DEBUG("%s is null", object_name);
- if (!obj)
- return OBJECT_NOT_VALID;
- AtspiStateSet *ss = atspi_accessible_get_state_set(obj);
- if (!ss) {
- ERROR("failed to get state set for %s", object_name);
- return OBJECT_NOT_VALID;
- }
-
- Eina_Bool showing = atspi_state_set_contains(ss, ATSPI_STATE_SHOWING);
- Eina_Bool defunct = atspi_state_set_contains(ss, ATSPI_STATE_DEFUNCT);
- g_object_unref(ss);
-
- if (defunct) {
- gchar *id = atspi_accessible_get_unique_id(obj, NULL);
- DEBUG("%s %s is defunct", object_name, id);
- g_free(id);
- } else if (!showing) {
- gchar *id = atspi_accessible_get_unique_id(obj, NULL);
- DEBUG("%s %s is not showing", object_name, id);
- g_free(id);
- }
- if (defunct)
- return OBJECT_NOT_VALID;
- return showing ? OBJECT_VALID : OBJECT_NOT_VISIBLE;
-}
return _top_window_get(wtd);
}
-static Eina_Bool _is_equal_window_to_root(WindowInfo *wi, AtspiAccessible *root)
-{
- AtspiAccessibleDefaultLabelInfo *dli = atspi_accessible_get_default_label_info(wi->window, NULL);
- Eina_Bool ret = EINA_FALSE;
- if (dli) {
- if (dli->obj) {
- if (atspi_accessible_is_equal(root, dli->obj)) {
- DEBUG("Found equal default label to root");
- ret = EINA_TRUE;
- }
- g_object_unref(dli->obj);
- }
-
- if (dli->attributes) {
- g_hash_table_unref(dli->attributes);
- }
-
- g_free(dli);
- } else if (atspi_accessible_is_equal(root, wi->window)) {
- DEBUG("Found equal window to root");
- ret = EINA_TRUE;
- }
-
- return ret;
-}
-
-Eina_Bool _has_navigable_object_in_window(AtspiAccessible *window)
-{
- Eina_Bool has_navigable = EINA_FALSE;
- AtspiAccessible *ret = atspi_accessible_get_neighbor(window, NULL, ATSPI_NEIGHBOR_SEARCH_FORWARD, NULL);
- if (ret) {
- has_navigable = EINA_TRUE;
- g_object_unref(ret);
- }
- return has_navigable;
-}
-
-Eina_Bool _is_next_valid_win(WindowInfo *wi, AtspiAccessible *current_root, AtspiAccessible *current_win, Eina_Bool *hit_current_win)
-{
- DEBUG("START");
- if (wi->window == current_win) {
- if (hit_current_win) *hit_current_win = EINA_TRUE;
- } else if (is_object_showing_and_not_defunct(wi->window, "root") == OBJECT_VALID
- && _has_navigable_object_in_window(wi->window)) {
- DEBUG("found valid next win");
- return EINA_TRUE;
- }
- return EINA_FALSE;
-}
-
-typedef enum { WIN_SEARCH_FORWARD = 0, WIN_SEARCH_BACKWARD = 1 } win_search_direction;
-
-Eina_Iterator *_alloc_iterator_by_search_direction(WindowTrackerData *wtd, win_search_direction direction)
-{
- if (direction == WIN_SEARCH_FORWARD) {
- return eina_list_iterator_new(wtd->window_infos);
- } else {
- return eina_list_iterator_reversed_new(wtd->window_infos);
- }
-}
-
-AtspiAccessible *_circular_search_next_valid_win(WindowTrackerData *wtd, AtspiAccessible *current_root, win_search_direction direction)
-{
- AtspiAccessible *current_win = NULL;
- AtspiAccessible *target_win = NULL;
- WindowInfo *wi;
- Eina_Iterator *iter;
-
- // 1st loop:
- // First, search equal win from curren_root which will become the starting point.
- // Example: [1, 2, 3, 4, 5] => 3 is current_win
- // From the current_win, iterate to the end of the list.
- // Example: [1, 2, 3, 4, 5] => Return first valid win from 4, 5. If both are invalid, go to 2nd iteration.
- iter = _alloc_iterator_by_search_direction(wtd, direction);
- if (iter == NULL) {
- ERROR("Unable allocate new iterator");
- return NULL;
- }
-
- EINA_ITERATOR_FOREACH(iter, wi) {
- if (!wi) continue;
- if (current_win == NULL) {
- if (_is_equal_window_to_root(wi, current_root)) {
- current_win = wi->window;
- }
- } else if (_is_next_valid_win(wi, current_root, current_win, NULL)) {
- target_win = wi->window;
- break;
- }
- }
- eina_iterator_free(iter);
-
- if (target_win) {
- DEBUG("Returning next valid window from 1st iteration");
- return target_win;
- }
-
- if (current_win == NULL) {
- ERROR("Unable to find current window");
- return NULL;
- }
-
-
- // 2nd loop:
- // If we didn't find a valid win from the first iteration, try searching from the first item of the list.
- // Example: [1, 2, 3, 4, 5] => Return first valid win from 1, 2. If both are invalid, return NULL.
- iter = _alloc_iterator_by_search_direction(wtd, direction);
- if (iter == NULL) {
- ERROR("Unable allocate new iterator");
- return NULL;
- }
- EINA_ITERATOR_FOREACH(iter, wi) {
- if (!wi) continue;
- Eina_Bool hit_current_win = EINA_FALSE;
- if (_is_next_valid_win(wi, current_root, current_win, &hit_current_win)) {
- target_win = wi->window;
- break;
- }
- if (hit_current_win) break;
- }
- eina_iterator_free(iter);
-
- if (target_win) {
- DEBUG("Returning next valid window from 2nd iteration");
- return target_win;
- }
-
- DEBUG("Unable to find valid next window");
- return NULL;
-}
-
-AtspiAccessible *_find_next_valid_win(WindowTrackerData *wtd, AtspiAccessible *current_root, win_search_direction direction)
-{
- if (current_root == NULL) {
- ERROR("passed root is NULL. Returing NULL");
- return NULL;
- }
-
- int count = eina_list_count(wtd->window_infos);
- DEBUG("window_count = %d", count);
- if (count < 2) {
- DEBUG("Only a single window exists in the list. Returning NULL");
- return NULL;
- }
-
- return _circular_search_next_valid_win(wtd, current_root, direction);
-}
-
-AtspiAccessible *window_tracker_next_window_get(WindowTrackerData *wtd, AtspiAccessible *current_root)
-{
- DEBUG("START");
- return _find_next_valid_win(wtd, current_root, WIN_SEARCH_FORWARD);
-}
-
-AtspiAccessible *window_tracker_prev_window_get(WindowTrackerData *wtd, AtspiAccessible *current_root)
-{
- DEBUG("START");
- return _find_next_valid_win(wtd, current_root, WIN_SEARCH_BACKWARD);
-}
-
void window_tracker_window_append(WindowTrackerData *wtd, AtspiAccessible *window)
{
if (atspi_accessible_is_equal(wtd->keyboard_window, window)) {
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK3(mock_generate_what_to_read_and_speak, generate_what_to_read_and_speak, void(NavigatorData *, AtspiAccessible *, Eina_Bool));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK3(mock_generate_what_to_read_and_speak, generate_what_to_read_and_speak, void(NavigatorData *, AtspiAccessible *, Eina_Bool));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK3(mock_generate_what_to_read_and_speak, generate_what_to_read_and_speak, void(NavigatorData *, AtspiAccessible *, Eina_Bool));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK3(mock_generate_what_to_read_and_speak, generate_what_to_read_and_speak, void(NavigatorData *, AtspiAccessible *, Eina_Bool));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK2(mock_get_accuracy, get_accuracy, int(double, int));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK2(mock_get_accuracy, get_accuracy, int(double, int));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK3(mock_generate_what_to_read_and_speak, generate_what_to_read_and_speak, void(NavigatorData *, AtspiAccessible *, Eina_Bool));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK3(mock_generate_what_to_read_and_speak, generate_what_to_read_and_speak, void(NavigatorData *, AtspiAccessible *, Eina_Bool));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK3(mock_generate_what_to_read_and_speak, generate_what_to_read_and_speak, void(NavigatorData *, AtspiAccessible *, Eina_Bool));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK3(mock_generate_what_to_read_and_speak, generate_what_to_read_and_speak, void(NavigatorData *, AtspiAccessible *, Eina_Bool));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK3(mock_generate_what_to_read_and_speak, generate_what_to_read_and_speak, void(NavigatorData *, AtspiAccessible *, Eina_Bool));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK3(mock_generate_what_to_read_and_speak, generate_what_to_read_and_speak, void(NavigatorData *, AtspiAccessible *, Eina_Bool));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK3(mock_generate_what_to_read_and_speak, generate_what_to_read_and_speak, void(NavigatorData *, AtspiAccessible *, Eina_Bool));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK3(mock_generate_what_to_read_and_speak, generate_what_to_read_and_speak, void(NavigatorData *, AtspiAccessible *, Eina_Bool));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK3(mock_generate_what_to_read_and_speak, generate_what_to_read_and_speak, void(NavigatorData *, AtspiAccessible *, Eina_Bool));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK3(mock_generate_what_to_read_and_speak, generate_what_to_read_and_speak, void(NavigatorData *, AtspiAccessible *, Eina_Bool));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK1(mock_free_shtd, free_shtd, void(SignalHandlingTimerData *));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK1(mock_free_shtd, free_shtd, void(SignalHandlingTimerData *));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK3(mock_generate_what_to_read_and_speak, generate_what_to_read_and_speak, void(NavigatorData *, AtspiAccessible *, Eina_Bool));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK3(mock_generate_what_to_read_and_speak, generate_what_to_read_and_speak, void(NavigatorData *, AtspiAccessible *, Eina_Bool));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK3(mock_generate_what_to_read_and_speak, generate_what_to_read_and_speak, void(NavigatorData *, AtspiAccessible *, Eina_Bool));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK3(mock_generate_what_to_read_and_speak, generate_what_to_read_and_speak, void(NavigatorData *, AtspiAccessible *, Eina_Bool));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK3(mock_generate_what_to_read_and_speak, generate_what_to_read_and_speak, void(NavigatorData *, AtspiAccessible *, Eina_Bool));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK3(mock_generate_what_to_read_and_speak, generate_what_to_read_and_speak, void(NavigatorData *, AtspiAccessible *, Eina_Bool));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
IMPLEMENT_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK3(mock_generate_what_to_read_and_speak, generate_what_to_read_and_speak, void(NavigatorData *, AtspiAccessible *, Eina_Bool));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_prev, flat_navi_context_prev, AtspiAccessible *(FlatNaviContext *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_root_change, flat_navi_context_root_change, void(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(FlatNaviContext *));
-DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, context_setup_result(FlatNaviContext *, AtspiAccessible *));
+DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, int(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType));
DECLARE_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, FlatNaviContextValidity(FlatNaviContext *, AtspiAccessible *));
DECLARE_FUNCTION_MOCK3(mock_generate_what_to_read_and_speak, generate_what_to_read_and_speak, void(NavigatorData *, AtspiAccessible *, Eina_Bool));