Adding missing Name entry in efreet_menu.
[framework/uifw/efreet.git] / src / lib / efreet_menu.h
1 /* vim: set sw=4 ts=4 sts=4 et: */
2 #ifndef EFREET_MENU_H
3 #define EFREET_MENU_H
4
5 /**
6  * @file efreet_menu.h
7  * @brief Contains the structures and methods to support the Desktop
8  * Menu Specification.
9  * @addtogroup Efreet_Menu Efreet_Menu: The FDO Desktop Menu Specification
10  * functions and structures
11  *
12  * @{
13  */
14
15 /**
16  * The type of entry
17  */
18 enum Efreet_Menu_Entry_Type
19 {
20     EFREET_MENU_ENTRY_MENU,
21     EFREET_MENU_ENTRY_DESKTOP,
22     EFREET_MENU_ENTRY_SEPARATOR,
23     EFREET_MENU_ENTRY_HEADER
24 };
25
26 /**
27  * Efreet_Menu_Entry_Type
28  */
29 typedef enum Efreet_Menu_Entry_Type Efreet_Menu_Entry_Type;
30
31 /**
32  * Efreet_Menu
33  */
34 typedef struct Efreet_Menu Efreet_Menu;
35
36 /**
37  * Efreet_Menu
38  * Stores information on a entry in the menu
39  */
40 struct Efreet_Menu
41 {
42     Efreet_Menu_Entry_Type type;
43     const char *id;   /**< File-id for desktop and relative name for menu */
44
45     const char *name; /**< Name this entry should show */
46     const char *icon; /**< Icon for this entry */
47
48     Efreet_Desktop *desktop;   /**< The desktop we refer too */
49     Ecore_List     *entries;   /**< The menu items */
50 };
51
52 EAPI int              efreet_menu_kde_legacy_init(void);
53
54 EAPI Efreet_Menu     *efreet_menu_new(const char *name);
55 EAPI void             efreet_menu_file_set(const char *file);
56 EAPI Efreet_Menu     *efreet_menu_get(void);
57 EAPI Efreet_Menu     *efreet_menu_parse(const char *path);
58 EAPI int              efreet_menu_save(Efreet_Menu *menu, const char *path);
59 EAPI void             efreet_menu_free(Efreet_Menu *menu);
60
61 EAPI int              efreet_menu_desktop_insert(Efreet_Menu *menu,
62                                                     Efreet_Desktop *desktop,
63                                                     int pos);
64 EAPI int              efreet_menu_desktop_remove(Efreet_Menu *menu,
65                                                     Efreet_Desktop *desktop);
66
67 EAPI void             efreet_menu_dump(Efreet_Menu *menu, const char *indent);
68
69 /**
70  * @}
71  */
72
73 #endif