#include "app_tracker.h"
#include "screen_reader_tts.h"
#include "screen_reader_vconf.h"
+#include "screen_reader_utils.h"
#include "logger.h"
#include <ctype.h>
#ifndef X11_ENABLED
typedef struct {
AppTrackerEventCB func;
AtspiAccessible *root;
- void *user_data;
+ Flat_Navi_Context *user_data;
} EventCallbackData;
#define APP_TRACKER_INVACTIVITY_TIMEOUT 200
#endif
};
-static int _is_descendant(AtspiAccessible * ancestor, AtspiAccessible * descendant)
+static int _is_descendant(AtspiAccessible *ancestor, AtspiAccessible *descendant)
{
return 1;
-
-#if 0
- do {
- if (ancestor == descendant)
- return 1;
- }
- while ((descendant = atspi_accessible_get_parent(descendant, NULL)) != NULL);
-
- return 0;
-#endif
}
-static Eina_Bool _object_has_modal_state(AtspiAccessible * obj)
+static Eina_Bool _object_has_modal_state(AtspiAccessible *obj)
{
- if (!obj)
- return EINA_FALSE;
-
- Eina_Bool ret = EINA_FALSE;
-
- AtspiStateSet *ss = atspi_accessible_get_state_set(obj);
-
- if (atspi_state_set_contains(ss, ATSPI_STATE_MODAL))
- ret = EINA_TRUE;
- g_object_unref(ss);
- return ret;
+ return widget_has_state(obj, ATSPI_STATE_MODAL);
}
-static Eina_Bool _object_has_showing_state(AtspiAccessible * obj)
+static Eina_Bool _object_has_showing_state(AtspiAccessible *obj)
{
- if (!obj)
- return EINA_FALSE;
-
- Eina_Bool ret = EINA_FALSE;
-
- AtspiStateSet *ss = atspi_accessible_get_state_set(obj);
-
- if (atspi_state_set_contains(ss, ATSPI_STATE_SHOWING))
- ret = EINA_TRUE;
- g_object_unref(ss);
- return ret;
+ return widget_has_state(obj, ATSPI_STATE_SHOWING);
}
-static Eina_Bool _object_has_highlighted_state(AtspiAccessible * obj)
+static Eina_Bool _object_has_highlighted_state(AtspiAccessible *obj)
{
- if (!obj)
- return EINA_FALSE;
-
- Eina_Bool ret = EINA_FALSE;
-
- AtspiStateSet *ss = atspi_accessible_get_state_set(obj);
-
- if (atspi_state_set_contains(ss, ATSPI_STATE_HIGHLIGHTED))
- ret = EINA_TRUE;
- g_object_unref(ss);
- return ret;
+ return widget_has_state(obj, ATSPI_STATE_HIGHLIGHTED);
}
static void _subtree_callbacks_call(SubTreeRootData * std)
g_free(std);
}
+App_Tracker_Data *app_tracker_create()
+{
+ return calloc(1, sizeof(App_Tracker_Data));
+}
+
+void app_tracker_destroy(App_Tracker_Data *app)
+{
+ free(app);
+}
+
void app_tracker_shutdown(App_Tracker_Data *app_tracker_ctx)
{
DEBUG("[START]");
g_list_free_full(app_tracker_ctx->_roots, _free_rootdata);
app_tracker_ctx->_roots = NULL;
- free(app_tracker_ctx);
+ app_tracker_destroy(app_tracker_ctx);
DEBUG("[END]");
}
App_Tracker_Data *app_tracker_init(void)
{
DEBUG("[START]");
- App_Tracker_Data *app_tracker_ctx = calloc(1, sizeof(App_Tracker_Data));
+ App_Tracker_Data *app_tracker_ctx = app_tracker_create();
if (app_tracker_ctx == NULL) {
ERROR("NULL context parameter");