13
EAPI Efreet_Desktop *efreet_util_desktop_file_id_find(const char *file_id);
15
EAPI Eina_List *efreet_util_desktop_generic_name_glob_list(const char *glob);
16
EAPI Eina_List *efreet_util_desktop_comment_glob_list(const char *glob);
19
static Eina_Bool icon_cb = EINA_FALSE;
20
static Eina_Bool desktop_cb = EINA_FALSE;
26
Efreet_Desktop *desktop, *desktop2;
31
start = ecore_time_get();
32
id = efreet_util_path_to_file_id("/usr/share/applications/gnome-panel.desktop");
35
printf("efreet_util_path_to_file_id(/usr/share/applications/gnome-panel.desktop): %s %.6f\n", id, (ecore_time_get() - start));
38
printf("efreet_util_path_to_file_id(/usr/share/applications/gnome-panel.desktop): NULL %.6f\n", (ecore_time_get() - start));
41
start = ecore_time_get();
42
desktop = efreet_util_desktop_name_find("Evolution");
44
printf("efreet_util_desktop_name_find(Evolution): %s %.6f\n", desktop->orig_path, (ecore_time_get() - start));
46
printf("efreet_util_desktop_name_find(Evolution): NULL %.6f\n", (ecore_time_get() - start));
47
efreet_desktop_free(desktop);
50
start = ecore_time_get();
51
desktop = efreet_util_desktop_generic_name_find("Spreadsheet");
53
printf("efreet_util_desktop_generic_name_find(Spreadsheet): %s %.6f\n", desktop->orig_path, (ecore_time_get() - start));
55
printf("efreet_util_desktop_generic_name_find(Spreadsheet): NULL %.6f\n", (ecore_time_get() - start));
56
efreet_desktop_free(desktop);
59
start = ecore_time_get();
60
desktop = efreet_util_desktop_wm_class_find("Firefox", NULL);
62
printf("efreet_util_desktop_wm_class_find(Firefox): %s %.6f\n", desktop->orig_path, (ecore_time_get() - start));
64
printf("efreet_util_desktop_wm_class_find(Firefox): NULL %.6f\n", (ecore_time_get() - start));
65
efreet_desktop_free(desktop);
68
start = ecore_time_get();
69
desktop = efreet_util_desktop_exec_find("/usr/bin/update-manager");
71
printf("efreet_util_desktop_exec_find(update-manager): %s %.6f\n", desktop->orig_path, (ecore_time_get() - start));
73
printf("efreet_util_desktop_exec_find(update-manager): NULL %.6f\n", (ecore_time_get() - start));
74
efreet_desktop_free(desktop);
77
start = ecore_time_get();
78
list = efreet_util_desktop_name_glob_list("Ubuntu*");
81
EINA_LIST_FREE(list, desktop)
83
printf("efreet_util_desktop_name_glob_list(Ubuntu*): %s\n", desktop->name);
84
efreet_desktop_free(desktop);
87
printf("time: %.6f\n", (ecore_time_get() - start));
90
start = ecore_time_get();
91
list = efreet_util_desktop_mime_list("application/ogg");
94
EINA_LIST_FREE(list, desktop)
96
printf("efreet_util_desktop_mime_list(application/ogg): %s\n", desktop->name);
97
efreet_desktop_free(desktop);
100
printf("time: %.6f\n", (ecore_time_get() - start));
103
start = ecore_time_get();
104
list = efreet_util_desktop_exec_glob_list("*gnome*");
107
EINA_LIST_FREE(list, desktop)
109
printf("efreet_util_desktop_exec_glob_list(*gnome*): %s\n", desktop->exec);
110
efreet_desktop_free(desktop);
113
printf("time: %.6f\n", (ecore_time_get() - start));
116
start = ecore_time_get();
117
list = efreet_util_desktop_categories_list();
120
EINA_LIST_FREE(list, id)
122
printf("efreet_util_desktop_categories_list(): %s\n", id);
125
printf("time: %.6f\n", (ecore_time_get() - start));
128
start = ecore_time_get();
129
list = efreet_util_desktop_category_list("Graphics");
132
EINA_LIST_FREE(list, desktop)
134
printf("efreet_util_desktop_category_list(Graphics): %s\n", desktop->name);
135
efreet_desktop_free(desktop);
138
printf("time: %.6f\n", (ecore_time_get() - start));
140
desktop = efreet_desktop_get("/opt/google/chrome/google-chrome.desktop");
142
printf("%s: %d %d\n", desktop->orig_path, desktop->ref, desktop->eet);
143
desktop2 = efreet_desktop_new("/opt/google/chrome/google-chrome.desktop");
146
printf("%s: %d %d\n", desktop2->orig_path, desktop2->ref, desktop2->eet);
147
efreet_desktop_free(desktop2);
150
efreet_desktop_free(desktop);
152
desktop = efreet_desktop_get("/usr/share/applications/firefox.desktop");
154
printf("%s: %d %d\n", desktop->orig_path, desktop->ref, desktop->eet);
155
desktop2 = efreet_desktop_new("/usr/share/applications/firefox.desktop");
158
printf("%s: %d %d\n", desktop2->orig_path, desktop2->ref, desktop2->eet);
159
efreet_desktop_free(desktop2);
162
efreet_desktop_free(desktop);
167
icon_handler_cb(void *data EINA_UNUSED, int event_type EINA_UNUSED, void *event EINA_UNUSED)
170
if (icon_cb && desktop_cb)
173
ecore_main_loop_quit();
175
return ECORE_CALLBACK_PASS_ON;
179
desktop_handler_cb(void *data EINA_UNUSED, int event_type EINA_UNUSED, void *event EINA_UNUSED)
181
desktop_cb = EINA_TRUE;
182
if (icon_cb && desktop_cb)
185
ecore_main_loop_quit();
187
return ECORE_CALLBACK_PASS_ON;
191
main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
193
Ecore_Event_Handler *icon_handler;
194
Ecore_Event_Handler *desktop_handler;
196
if (!efreet_init()) return 1;
197
icon_handler = ecore_event_handler_add(EFREET_EVENT_ICON_CACHE_UPDATE, icon_handler_cb, NULL);
198
desktop_handler = ecore_event_handler_add(EFREET_EVENT_DESKTOP_CACHE_UPDATE, desktop_handler_cb, NULL);
200
ecore_main_loop_begin();
201
ecore_event_handler_del(icon_handler);
202
ecore_event_handler_del(desktop_handler);