diff options
Diffstat (limited to 'src/tests/ef_cache.c')
-rw-r--r-- | src/tests/ef_cache.c | 199 |
1 files changed, 199 insertions, 0 deletions
diff --git a/src/tests/ef_cache.c b/src/tests/ef_cache.c new file mode 100644 index 0000000..3cbee9e --- /dev/null +++ b/src/tests/ef_cache.c @@ -0,0 +1,199 @@ +#include "Efreet.h" +#include <stdio.h> +#include <Ecore.h> +#include "ef_test.h" + +#if 0 +EAPI Efreet_Desktop *efreet_util_desktop_file_id_find(const char *file_id); + +EAPI Eina_List *efreet_util_desktop_generic_name_glob_list(const char *glob); +EAPI Eina_List *efreet_util_desktop_comment_glob_list(const char *glob); +#endif + +static Eina_Bool icon_cb = EINA_FALSE; +static Eina_Bool desktop_cb = EINA_FALSE; + +static void +check(void) +{ + Eina_List *list; + Efreet_Desktop *desktop, *desktop2; + double start; + const char *id; + + // EAPI char *efreet_util_path_to_file_id(const char *path); + start = ecore_time_get(); + id = efreet_util_path_to_file_id("/usr/share/applications/gnome-panel.desktop"); + if (id) + { + printf("efreet_util_path_to_file_id(/usr/share/applications/gnome-panel.desktop): %s %.6f\n", id, (ecore_time_get() - start)); + } + else + printf("efreet_util_path_to_file_id(/usr/share/applications/gnome-panel.desktop): NULL %.6f\n", (ecore_time_get() - start)); + + //EAPI Efreet_Desktop *efreet_util_desktop_name_find(const char *name); + start = ecore_time_get(); + desktop = efreet_util_desktop_name_find("Evolution"); + if (desktop) + printf("efreet_util_desktop_name_find(Evolution): %s %.6f\n", desktop->orig_path, (ecore_time_get() - start)); + else + printf("efreet_util_desktop_name_find(Evolution): NULL %.6f\n", (ecore_time_get() - start)); + efreet_desktop_free(desktop); + + //EAPI Efreet_Desktop *efreet_util_desktop_generic_name_find(const char *generic_name); + start = ecore_time_get(); + desktop = efreet_util_desktop_generic_name_find("Spreadsheet"); + if (desktop) + printf("efreet_util_desktop_generic_name_find(Spreadsheet): %s %.6f\n", desktop->orig_path, (ecore_time_get() - start)); + else + printf("efreet_util_desktop_generic_name_find(Spreadsheet): NULL %.6f\n", (ecore_time_get() - start)); + efreet_desktop_free(desktop); + + //EAPI Efreet_Desktop *efreet_util_desktop_wm_class_find(const char *wmname, const char *wmclass); + start = ecore_time_get(); + desktop = efreet_util_desktop_wm_class_find("Firefox", NULL); + if (desktop) + printf("efreet_util_desktop_wm_class_find(Firefox): %s %.6f\n", desktop->orig_path, (ecore_time_get() - start)); + else + printf("efreet_util_desktop_wm_class_find(Firefox): NULL %.6f\n", (ecore_time_get() - start)); + efreet_desktop_free(desktop); + + //EAPI Efreet_Desktop *efreet_util_desktop_exec_find(const char *exec); + start = ecore_time_get(); + desktop = efreet_util_desktop_exec_find("/usr/bin/update-manager"); + if (desktop) + printf("efreet_util_desktop_exec_find(update-manager): %s %.6f\n", desktop->orig_path, (ecore_time_get() - start)); + else + printf("efreet_util_desktop_exec_find(update-manager): NULL %.6f\n", (ecore_time_get() - start)); + efreet_desktop_free(desktop); + + //EAPI Eina_List *efreet_util_desktop_name_glob_list(const char *glob); + start = ecore_time_get(); + list = efreet_util_desktop_name_glob_list("Ubuntu*"); + if (list) + { + EINA_LIST_FREE(list, desktop) + { + printf("efreet_util_desktop_name_glob_list(Ubuntu*): %s\n", desktop->name); + efreet_desktop_free(desktop); + } + } + printf("time: %.6f\n", (ecore_time_get() - start)); + + //EAPI Eina_List *efreet_util_desktop_mime_list(const char *mime); + start = ecore_time_get(); + list = efreet_util_desktop_mime_list("application/ogg"); + if (list) + { + EINA_LIST_FREE(list, desktop) + { + printf("efreet_util_desktop_mime_list(application/ogg): %s\n", desktop->name); + efreet_desktop_free(desktop); + } + } + printf("time: %.6f\n", (ecore_time_get() - start)); + + //EAPI Eina_List *efreet_util_desktop_exec_glob_list(const char *glob); + start = ecore_time_get(); + list = efreet_util_desktop_exec_glob_list("*gnome*"); + if (list) + { + EINA_LIST_FREE(list, desktop) + { + printf("efreet_util_desktop_exec_glob_list(*gnome*): %s\n", desktop->exec); + efreet_desktop_free(desktop); + } + } + printf("time: %.6f\n", (ecore_time_get() - start)); + + //EAPI Eina_List *efreet_util_desktop_categories_list(void); + start = ecore_time_get(); + list = efreet_util_desktop_categories_list(); + if (list) + { + EINA_LIST_FREE(list, id) + { + printf("efreet_util_desktop_categories_list(): %s\n", id); + } + } + printf("time: %.6f\n", (ecore_time_get() - start)); + + //EAPI Eina_List *efreet_util_desktop_category_list(const char *category); + start = ecore_time_get(); + list = efreet_util_desktop_category_list("Graphics"); + if (list) + { + EINA_LIST_FREE(list, desktop) + { + printf("efreet_util_desktop_category_list(Graphics): %s\n", desktop->name); + efreet_desktop_free(desktop); + } + } + printf("time: %.6f\n", (ecore_time_get() - start)); + + desktop = efreet_desktop_get("/opt/google/chrome/google-chrome.desktop"); + if (desktop) + printf("%s: %d %d\n", desktop->orig_path, desktop->ref, desktop->eet); + desktop2 = efreet_desktop_new("/opt/google/chrome/google-chrome.desktop"); + if (desktop2) + { + printf("%s: %d %d\n", desktop2->orig_path, desktop2->ref, desktop2->eet); + efreet_desktop_free(desktop2); + } + if (desktop) + efreet_desktop_free(desktop); + + desktop = efreet_desktop_get("/usr/share/applications/firefox.desktop"); + if (desktop) + printf("%s: %d %d\n", desktop->orig_path, desktop->ref, desktop->eet); + desktop2 = efreet_desktop_new("/usr/share/applications/firefox.desktop"); + if (desktop2) + { + printf("%s: %d %d\n", desktop2->orig_path, desktop2->ref, desktop2->eet); + efreet_desktop_free(desktop2); + } + if (desktop) + efreet_desktop_free(desktop); + fflush(stdout); +} + +static Eina_Bool +icon_handler_cb(void *data __UNUSED__, int event_type __UNUSED__, void *event __UNUSED__) +{ + icon_cb = EINA_TRUE; + if (icon_cb && desktop_cb) + { + check(); + ecore_main_loop_quit(); + } + return ECORE_CALLBACK_PASS_ON; +} + +static Eina_Bool +desktop_handler_cb(void *data __UNUSED__, int event_type __UNUSED__, void *event __UNUSED__) +{ + desktop_cb = EINA_TRUE; + if (icon_cb && desktop_cb) + { + check(); + ecore_main_loop_quit(); + } + return ECORE_CALLBACK_PASS_ON; +} + +int +main(int argc __UNUSED__, char **argv __UNUSED__) +{ + Ecore_Event_Handler *icon_handler; + Ecore_Event_Handler *desktop_handler; + + if (!efreet_init()) return 1; + icon_handler = ecore_event_handler_add(EFREET_EVENT_ICON_CACHE_UPDATE, icon_handler_cb, NULL); + desktop_handler = ecore_event_handler_add(EFREET_EVENT_DESKTOP_CACHE_UPDATE, desktop_handler_cb, NULL); + check(); + ecore_main_loop_begin(); + ecore_event_handler_del(icon_handler); + ecore_event_handler_del(desktop_handler); + efreet_shutdown(); + return 0; +} |