]> git.sesse.net Git - vlc/blobdiff - include/vlc_configuration.h
Add --data-path option. Access the src share directory now works from build tree.
[vlc] / include / vlc_configuration.h
index 5b8f69df47d691047d3351424ab509c3154d531e..2c7345e963e6a3ddd895763b215b82ee38355f4a 100644 (file)
@@ -98,12 +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_STREAM_FILTER 408
+   #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
@@ -215,13 +214,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 * ) );
@@ -279,6 +293,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.