diff options
Diffstat (limited to 'src/plugins/boost/FileLocator.hpp')
-rw-r--r-- | src/plugins/boost/FileLocator.hpp | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/src/plugins/boost/FileLocator.hpp b/src/plugins/boost/FileLocator.hpp index 50a77db..9cb705c 100644 --- a/src/plugins/boost/FileLocator.hpp +++ b/src/plugins/boost/FileLocator.hpp @@ -19,10 +19,14 @@ #ifndef _OUSIA_FILE_LOCATOR_HPP_ #define _OUSIA_FILE_LOCATOR_HPP_ +#include <core/ResourceLocator.hpp> + #include <map> #include <set> +#include <vector> + +#include <boost/filesystem.hpp> -#include <core/ResourceLocator.hpp> namespace ousia { @@ -36,10 +40,10 @@ namespace ousia { */ class FileLocator : public ResourceLocator { private: - map<ResourceLocator::Type, std::vector<std::string>> searchPaths; + std::map<ResourceLocator::Type, std::vector<boost::filesystem::path>> searchPaths; public: - FileLocator() searchpaths() {} + FileLocator() : searchPaths() {} /** * Adds a search paths for the given types. @@ -49,9 +53,19 @@ public: * resources of the specified types at the given path in the * future. */ - void addSearchPath(const std::string &path, + void addSearchPath(const boost::filesystem::path &path, std::set<ResourceLocator::Type> types); + /** + * Returns the backing map containing all search paths for a given type. + * This is read-only. + */ + const std::map<ResourceLocator::Type, std::vector<boost::filesystem::path>> & + getSearchPaths() const + { + return searchPaths; + } + Location locate(const std::string &path, const std::string &relativeTo, const Type type) const override; |