6 #include "ConfigurationFinder.h"
8 #include "exception/ConfigFileNotFound.h"
13 ConfigurationFinder::ConfigurationFinder()
17 std::string ConfigurationFinder::findConfig(std::string filename)
19 for (std::string dir : searchDirs) {
20 std::ifstream infile(dir + filename);
22 return dir + filename;
26 throw exception::ConfigFileNotFound();
30 * Gets path to system-wide settings directory
32 * @return directory of user settings
34 std::string ConfigurationFinder::getSystemConfigurationDir()
36 std::string dir(SYSCONFDIR);
38 dir += VLP_CONFIG_PATH_SEPARATOR;
40 dir += VLP_CONFIG_PATH_SEPARATOR;
46 void ConfigurationFinder::addSearchDir(std::string dir)
48 searchDirs.push_back(dir);
51 void ConfigurationFinder::initSearchDirs()
56 addSearchDir(getUserConfigurationDir());
57 addSearchDir(getSystemConfigurationDir());