E_API const char * e_util_mime_icon_get(const char *mime, unsigned int size) { char buf[1024]; const char *file = NULL; if (e_config->icon_theme_overrides) file = efreet_mime_type_icon_get(mime, e_config->icon_theme, e_util_icon_size_normalize(size)); if (file) return file; if (snprintf(buf, sizeof(buf), "e/icons/fileman/mime/%s", mime) >= (int)sizeof(buf)) return NULL; file = e_theme_edje_file_get("base/theme/icons", buf); if (file && file[0]) return file; return efreet_mime_type_icon_get(mime, e_config->icon_theme, e_util_icon_size_normalize(size)); }
int ef_mime_cb_get(void) { const char *mime = NULL, *icon; int misses = 0, i = 0; struct { char *file; char *mime; } files[] = { {"test_type.desktop", "application/x-desktop"}, {"entry.png", "image/png"}, {"entry", "image/png"}, {"sub", "inode/directory"}, { } }; double start; if (!efreet_mime_init()) { printf("Could not init efreet\n"); return 1; } for (i = 0; files[i].file; ++i) { mime = efreet_mime_type_get(ef_test_path_get(files[i].file)); if (!mime) { printf("Got %s as null instead of %s\n", files[i].file, files[i].mime); misses ++; } else if (strcmp(mime, files[i].mime)) { printf("Got %s as %s instead of %s\n", files[i].file, mime, files[i].mime); misses ++; } start = ecore_time_get(); icon = efreet_mime_type_icon_get(files[i].mime, THEME, SIZE); printf("mime icon: %s %s %f\n", files[i].mime, icon, ecore_time_get() - start); } efreet_mime_shutdown(); return !misses; }