32 #include <boost/filesystem.hpp>
40 inline std::string getUserConfigDirectory() {
41 namespace fs = boost::filesystem;
45 std::string configSubpath =
"config";
47 #if defined(OSVR_LINUX) && !defined(OSVR_ANDROID)
54 configDir = *xdg_cache_dir;
58 configDir = fs::path(*home_dir) /
".config";
60 configDir /= fs::path(
"osvr");
61 #elif defined(OSVR_MACOSX)
64 configDir = *home_dir;
66 configDir /=
"Library" / fs::path(
"Application Support") / fs::path(
"OSVR") / configSubpath;
67 #elif defined(OSVR_WINDOWS)
72 configDir = *local_app_dir;
77 configDir /= fs::path(
"OSVR") / configSubpath;
80 #if defined(OSVR_ANDROID)
81 configDir = fs::path(
"/sdcard/osvr");
83 auto ret = configDir.string();
88 namespace fs = boost::filesystem;
90 std::vector<std::string> names;
91 std::string configFileName = getDefaultConfigFilename();
93 auto userConfigDirectoryStr = getUserConfigDirectory();
94 fs::path userConfigDirectory(userConfigDirectoryStr);
96 auto userConfig = userConfigDirectory / configFileName;
98 names.push_back(userConfig.string());
99 names.push_back(configFileName);
Platform specific search paths for osvr server config files.
boost::optional< std::string > getEnvironmentVariable(std::string const &var)
Gets an environment variable's value. On systems that don't distinguish between having a variable def...
OSVR_SERVER_EXPORT std::vector< std::string > getDefaultConfigFilePaths()
this returns a vector of default server configuration file paths.