diff options
author | Max Kellermann <max@duempel.org> | 2014-03-01 22:50:11 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-03-01 22:51:51 +0100 |
commit | 36ca57a54ebcbdfb2fa4374378280867a089bb91 (patch) | |
tree | 02eca17f29c90d367d9c964f921961fa16f061c1 /src/fs | |
parent | efa6678bcc0cbd6679061809c464c91f06b552ec (diff) |
fs/StandardDirectory: add GetUserCacheDir()
Move code from CreateConfiguredDatabase() and add XDG support. This
implements an automatic Linux fallback for the setting "db_file" if
none was specified.
Diffstat (limited to 'src/fs')
-rw-r--r-- | src/fs/StandardDirectory.cxx | 14 | ||||
-rw-r--r-- | src/fs/StandardDirectory.hxx | 7 |
2 files changed, 21 insertions, 0 deletions
diff --git a/src/fs/StandardDirectory.cxx b/src/fs/StandardDirectory.cxx index 20d66bb10..6456c0254 100644 --- a/src/fs/StandardDirectory.cxx +++ b/src/fs/StandardDirectory.cxx @@ -50,6 +50,8 @@ #ifdef ANDROID #include "java/Global.hxx" #include "android/Environment.hxx" +#include "android/Context.hxx" +#include "Main.hxx" #endif #ifndef WIN32 @@ -252,6 +254,18 @@ AllocatedPath GetUserMusicDir() #endif } +AllocatedPath +GetUserCacheDir() +{ +#ifdef USE_XDG + return GetUserDir("XDG_CACHE_DIR"); +#elif defined(ANDROID) + return context->GetCacheDir(Java::GetEnv()); +#else + return AllocatedPath::Null(); +#endif +} + #ifdef WIN32 AllocatedPath GetSystemConfigDir() diff --git a/src/fs/StandardDirectory.hxx b/src/fs/StandardDirectory.hxx index dca35b486..e3fba375a 100644 --- a/src/fs/StandardDirectory.hxx +++ b/src/fs/StandardDirectory.hxx @@ -33,6 +33,13 @@ AllocatedPath GetUserConfigDir(); */ AllocatedPath GetUserMusicDir(); +/** + * Obtains cache directory for the current user. + */ +gcc_pure +AllocatedPath +GetUserCacheDir(); + #ifdef WIN32 /** |