2005-02-07 05:51:09 -08:00
/*
* vim : ts = 8 : sw = 3 : sts = 8 : noexpandtab : cino = > 5 n - 3f 0 ^ - 2 { 2
*/
2005-01-12 08:03:09 -08:00
# ifdef E_TYPEDEFS
2004-11-24 19:37:45 -08:00
typedef struct _E_Path E_Path ;
2005-05-19 20:09:44 -07:00
typedef struct _E_Path_Dir E_Path_Dir ;
2005-01-12 08:03:09 -08:00
# else
# ifndef E_PATH_H
# define E_PATH_H
2005-01-21 22:58:34 -08:00
# define E_PATH_TYPE 0xE0b0100c
2005-05-19 20:09:44 -07:00
struct _E_Path_Dir
{
char * dir ;
} ;
2004-11-24 19:37:45 -08:00
struct _E_Path
{
E_Object e_obj_inherit ;
2005-05-19 20:09:44 -07:00
2004-11-24 19:37:45 -08:00
Evas_Hash * hash ;
2005-05-19 20:09:44 -07:00
Evas_List * default_dir_list ;
/* keep track of the associated e_config path */
Evas_List * * user_dir_list ;
2004-11-24 19:37:45 -08:00
} ;
2005-05-19 20:09:44 -07:00
/* init and setup */
2004-11-24 21:31:21 -08:00
EAPI E_Path * e_path_new ( void ) ;
2005-05-19 20:09:44 -07:00
EAPI void e_path_user_path_set ( E_Path * ep , Evas_List * * user_dir_list ) ;
EAPI void e_path_inherit_path_set ( E_Path * ep , E_Path * path_inherit ) ;
/* append a hardcoded path */
EAPI void e_path_default_path_append ( E_Path * ep , const char * path ) ;
/* e_config path manipulation */
EAPI void e_path_user_path_append ( E_Path * ep , const char * path ) ;
EAPI void e_path_user_path_prepend ( E_Path * ep , const char * path ) ;
EAPI void e_path_user_path_remove ( E_Path * ep , const char * path ) ;
EAPI char * e_path_find ( E_Path * ep , const char * file ) ; /* for conveience this doesnt return a malloc'd string. it's a static buffer, so a new call will replace this buffer, but thsi means there is no need to free the return */
2004-11-24 21:31:21 -08:00
EAPI void e_path_evas_append ( E_Path * ep , Evas * evas ) ;
2005-05-19 20:09:44 -07:00
EAPI Evas_List * e_path_dir_list_get ( E_Path * ep ) ;
EAPI void e_path_dir_list_free ( Evas_List * dir_list ) ;
2005-01-12 08:03:09 -08:00
# endif
2004-11-24 19:37:45 -08:00
# endif