1 #ifdef E_TYPEDEFS
2 
3 #else
4 #ifndef E_FM_MIME_H
5 #define E_FM_MIME_H
6 
7 typedef struct _E_Fm2_Mime_Handler E_Fm2_Mime_Handler;
8 
9 struct _E_Fm2_Mime_Handler
10 {
11    const char *label, *icon_group;
12    void (*action_func) (void *data, Evas_Object *obj, const char *path);
13    int (*test_func) (void *data, Evas_Object *obj, const char *path);
14    void *action_data;
15    void *test_data;
16 };
17 
18 E_API const char *e_fm_mime_filename_get(const char *fname);
19 E_API const char *e_fm_mime_icon_get(const char *mime);
20 E_API void e_fm_mime_icon_cache_flush(void);
21 
22 E_API E_Fm2_Mime_Handler *e_fm2_mime_handler_new(const char *label, const char *icon_group, void (*action_func) (void *data, Evas_Object *obj, const char *path), void *action_data, int (test_func) (void *data, Evas_Object *obj, const char *path), void *test_data);
23 E_API void e_fm2_mime_handler_free(E_Fm2_Mime_Handler *handler);
24 E_API Eina_Bool e_fm2_mime_handler_mime_add(E_Fm2_Mime_Handler *handler, const char *mime);
25 E_API Eina_Bool e_fm2_mime_handler_glob_add(E_Fm2_Mime_Handler *handler, const char *glob);
26 E_API Eina_Bool e_fm2_mime_handler_call(E_Fm2_Mime_Handler *handler, Evas_Object *obj, const char *path);
27 E_API Eina_Bool e_fm2_mime_handler_test(E_Fm2_Mime_Handler *handler, Evas_Object *obj, const char *path);
28 E_API void e_fm2_mime_handler_mime_handlers_call_all(Evas_Object *obj, const char *path, const char *mime);
29 E_API void e_fm2_mime_handler_glob_handlers_call_all(Evas_Object *obj, const char *path, const char *glob);
30 E_API void e_fm2_mime_handler_mime_del(E_Fm2_Mime_Handler *handler, const char *mime);
31 E_API void e_fm2_mime_handler_glob_del(E_Fm2_Mime_Handler *handler, const char *glob);
32 E_API const Eina_List *e_fm2_mime_handler_mime_handlers_get(const char *mime);
33 E_API Eina_List *e_fm2_mime_handler_glob_handlers_get(const char *glob);
34 
35 #endif
36 #endif
37