X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_configuration.h;h=dbe3280cfd3b3221d968499cddfb8be90d22f59f;hb=dd6d9ec7e126e9ea84ffa0672959a4ca702df1cd;hp=fa702f71bc3db8888f2ce6967444d36885f3659f;hpb=cf270dd3c0201b2bb1ace5748e55d2300b782e38;p=vlc diff --git a/include/vlc_configuration.h b/include/vlc_configuration.h index fa702f71bc..dbe3280cfd 100644 --- a/include/vlc_configuration.h +++ b/include/vlc_configuration.h @@ -98,11 +98,11 @@ extern "C" { #define CAT_INPUT 4 #define SUBCAT_INPUT_GENERAL 401 #define SUBCAT_INPUT_ACCESS 402 - #define SUBCAT_INPUT_ACCESS_FILTER 403 - #define SUBCAT_INPUT_DEMUX 404 - #define SUBCAT_INPUT_VCODEC 405 - #define SUBCAT_INPUT_ACODEC 406 - #define SUBCAT_INPUT_SCODEC 407 + #define SUBCAT_INPUT_DEMUX 403 + #define SUBCAT_INPUT_VCODEC 404 + #define SUBCAT_INPUT_ACODEC 405 + #define SUBCAT_INPUT_SCODEC 406 + #define SUBCAT_INPUT_STREAM_FILTER 407 #define CAT_SOUT 5 #define SUBCAT_SOUT_GENERAL 501 @@ -178,7 +178,6 @@ struct module_config_t int i_action; /* actions list size */ /* Misc */ - vlc_mutex_t *p_lock; /* Lock to use when modifying the config */ bool b_dirty; /* Dirty flag to indicate a config change */ bool b_advanced; /* Flag to indicate an advanced option */ bool b_internal; /* Flag to indicate option is not to be shown */ @@ -214,13 +213,28 @@ VLC_EXPORT( int, __config_SaveConfigFile, ( vlc_object_t *, const char * ) ); VLC_EXPORT( void, __config_ResetAll, ( vlc_object_t * ) ); VLC_EXPORT( module_config_t *, config_FindConfig,( vlc_object_t *, const char * ) LIBVLC_USED ); - -VLC_EXPORT(const char *, config_GetDataDir, ( void ) LIBVLC_USED); +VLC_EXPORT(char *, __config_GetDataDir, ( vlc_object_t * ) LIBVLC_USED); +#define config_GetDataDir(a) __config_GetDataDir(VLC_OBJECT(a)) VLC_EXPORT(const char *, config_GetConfDir, ( void ) LIBVLC_USED); -VLC_EXPORT(const char *, config_GetHomeDir, ( void ) LIBVLC_USED); -VLC_EXPORT(char *, config_GetUserConfDir, ( void ) LIBVLC_USED); -VLC_EXPORT(char *, config_GetUserDataDir, ( void ) LIBVLC_USED); -VLC_EXPORT(char *, config_GetCacheDir, ( void ) LIBVLC_USED); + +typedef enum vlc_userdir +{ + VLC_HOME_DIR, /* User's home */ + VLC_CONFIG_DIR, /* VLC-specific configuration directory */ + VLC_DATA_DIR, /* VLC-specific data directory */ + VLC_CACHE_DIR, /* VLC-specific user cached data directory */ + /* Generic directories (same as XDG) */ + VLC_DESKTOP_DIR=0x80, + VLC_DOWNLOAD_DIR, + VLC_TEMPLATES_DIR, + VLC_PUBLICSHARE_DIR, + VLC_DOCUMENTS_DIR, + VLC_MUSIC_DIR, + VLC_PICTURES_DIR, + VLC_VIDEOS_DIR, +} vlc_userdir_t; + +VLC_EXPORT(char *, config_GetUserDir, ( vlc_userdir_t ) LIBVLC_USED); VLC_EXPORT( void, __config_AddIntf, ( vlc_object_t *, const char * ) ); VLC_EXPORT( void, __config_RemoveIntf, ( vlc_object_t *, const char * ) ); @@ -278,6 +292,11 @@ VLC_EXPORT( char *, config_ChainCreate, ( char **ppsz_name, config_chain_t **pp_ */ VLC_EXPORT( void, config_ChainDestroy, ( config_chain_t * ) ); +/** + * This function will duplicate a linked list of config_chain_t + */ +VLC_EXPORT( config_chain_t *, config_ChainDuplicate, ( const config_chain_t * ) ); + /** * This function will unescape a string in place and will return a pointer on * the given string.