summaryrefslogtreecommitdiff
path: root/src/core/Registry.hpp
diff options
context:
space:
mode:
authorAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2015-01-20 00:53:49 +0100
committerAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2015-01-20 00:53:49 +0100
commit47311cc8b211a7fef033d744d9eba9f308726ea8 (patch)
tree348726aef17297729233b93b6d7eef86f25c7a78 /src/core/Registry.hpp
parentd836d70ea2352dcf277c6fce91ba1ded3f074b44 (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.hpp21
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;
};
}