diff options
author | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2015-01-20 00:53:49 +0100 |
---|---|---|
committer | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2015-01-20 00:53:49 +0100 |
commit | 47311cc8b211a7fef033d744d9eba9f308726ea8 (patch) | |
tree | 348726aef17297729233b93b6d7eef86f25c7a78 /src/core/Registry.hpp | |
parent | d836d70ea2352dcf277c6fce91ba1ded3f074b44 (diff) |
Refactored stuff surrounding the ResourceLocator class, implemented StaticResourceLocator which can be used for registering static resources (mainly for testing or if certain resources need to be available from the executable)
Diffstat (limited to 'src/core/Registry.hpp')
-rw-r--r-- | src/core/Registry.hpp | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/src/core/Registry.hpp b/src/core/Registry.hpp index 01d57e8..40eede1 100644 --- a/src/core/Registry.hpp +++ b/src/core/Registry.hpp @@ -22,37 +22,34 @@ #include <map> #include <vector> -#include "ResourceLocator.hpp" +#include <core/resource/Resource.hpp> namespace ousia { // TODO: Add support for ScriptEngine type -class Logger; - namespace parser { class Parser; } +class ResourceLocator; class Registry { private: - Logger &logger; std::vector<parser::Parser *> parsers; std::map<std::string, parser::Parser *> parserMimetypes; + std::vector<ResourceLocator *> locators; public: - Registry(Logger &logger) : logger(logger) {} - - void registerParser(parser::Parser *parser); + void registerParser(parser::Parser &parser); - parser::Parser *getParserForMimetype(const std::string& mimetype) const; + parser::Parser *getParserForMimetype(const std::string &mimetype) const; - void registerResourceLocator(ResourceLocator *locator); + void registerResourceLocator(ResourceLocator &locator); - ResourceLocator::Location locateResource(const std::string &path, - const std::string &relativeTo, - ResourceLocator::Type type) const; + bool locateResource(Resource &resource, const std::string &path, + ResourceType type = ResourceType::UNKNOWN, + const Resource &relativeTo = NullResource) const; }; } |