summaryrefslogtreecommitdiffstats
path: root/base/linux_util.h
diff options
context:
space:
mode:
Diffstat (limited to 'base/linux_util.h')
-rw-r--r--base/linux_util.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/base/linux_util.h b/base/linux_util.h
index 1da519e..b62f7cc 100644
--- a/base/linux_util.h
+++ b/base/linux_util.h
@@ -10,6 +10,8 @@
#include <string>
+class FilePath;
+
namespace base {
static const char kFindInodeSwitch[] = "--find-inode";
@@ -35,6 +37,23 @@ class EnvironmentVariableGetter {
static EnvironmentVariableGetter* Create();
};
+// Get the home directory.
+FilePath GetHomeDir(EnvironmentVariableGetter* env);
+
+// Utility function for getting XDG directories.
+// |env_name| is the name of an environment variable that we want to use to get
+// a directory path. |fallback_dir| is the directory relative to $HOME that we
+// use if |env_name| cannot be found or is empty. |fallback_dir| may be NULL.
+// Examples of |env_name| are XDG_CONFIG_HOME and XDG_DATA_HOME.
+FilePath GetXDGDirectory(EnvironmentVariableGetter* env,
+ const char* env_name, const char* fallback_dir);
+
+// Wrapper around xdg_user_dir_lookup() from src/base/third_party/xdg-user-dirs
+// This looks up "well known" user directories like the desktop and music
+// folder. Examples of |dir_name| are DESKTOP and MUSIC.
+FilePath GetXDGUserDirectory(EnvironmentVariableGetter* env,
+ const char* dir_name, const char* fallback_dir);
+
enum DesktopEnvironment {
DESKTOP_ENVIRONMENT_OTHER,
DESKTOP_ENVIRONMENT_GNOME,