Some times you still need to refer to the standard paths from outside.

SVN revision: 25498
This commit is contained in:
David Walter Seikel 2006-09-05 17:54:20 +00:00
parent f31676a93f
commit b14f90d3b1
2 changed files with 33 additions and 1 deletions

View File

@ -77,13 +77,24 @@ struct _Ecore_Desktop_Icon_Theme
};
typedef struct _Ecore_Desktop_Icon_Theme Ecore_Desktop_Icon_Theme;
enum _Ecore_Desktop_Paths_Type
{
ECORE_DESKTOP_PATHS_CONFIG = 0,
ECORE_DESKTOP_PATHS_MENUS = 1,
ECORE_DESKTOP_PATHS_DIRECTORIES = 2,
ECORE_DESKTOP_PATHS_DESKTOPS = 3,
ECORE_DESKTOP_PATHS_ICONS = 4,
ECORE_DESKTOP_PATHS_KDE_LEGACY = 5,
ECORE_DESKTOP_PATHS_XSESSIONS = 6
};
typedef enum _Ecore_Desktop_Paths_Type Ecore_Desktop_Paths_Type;
enum _Ecore_Desktop_Tree_Element_Type
{
ECORE_DESKTOP_TREE_ELEMENT_TYPE_NULL = 0,
ECORE_DESKTOP_TREE_ELEMENT_TYPE_STRING = 1,
ECORE_DESKTOP_TREE_ELEMENT_TYPE_TREE = 2,
ECORE_DESKTOP_TREE_ELEMENT_TYPE_HASH = 3,
ECORE_DESKTOP_TREE_ELEMENT_TYPE_HASH = 3
};
typedef enum _Ecore_Desktop_Tree_Element_Type Ecore_Desktop_Tree_Element_Type;
@ -118,6 +129,7 @@ extern "C"
const char
*path),
void *data);
EAPI int ecore_desktop_paths_for_each(Ecore_Desktop_Paths_Type type, Ecore_For_Each function, void *user_data);
char *ecore_desktop_paths_recursive_search(const char *path, const char *file, int sub,
int (*dir_func)
(void *data,

View File

@ -845,3 +845,23 @@ ecore_desktop_paths_to_list(const char *paths)
}
return result;
}
EAPI int
ecore_desktop_paths_for_each(Ecore_Desktop_Paths_Type type, Ecore_For_Each function, void *user_data)
{
Ecore_List *list = NULL;
switch (type)
{
case ECORE_DESKTOP_PATHS_CONFIG : list = ecore_desktop_paths_config;
case ECORE_DESKTOP_PATHS_MENUS : list = ecore_desktop_paths_menus;
case ECORE_DESKTOP_PATHS_DIRECTORIES : list = ecore_desktop_paths_directories;
case ECORE_DESKTOP_PATHS_DESKTOPS : list = ecore_desktop_paths_desktops;
case ECORE_DESKTOP_PATHS_ICONS : list = ecore_desktop_paths_icons;
case ECORE_DESKTOP_PATHS_KDE_LEGACY : list = ecore_desktop_paths_kde_legacy;
case ECORE_DESKTOP_PATHS_XSESSIONS : list = ecore_desktop_paths_xsessions;
}
if (list)
return ecore_list_for_each(list, function, user_data);
return 0;
}