From 84f0004cdf45f6fbad6461676897aa27f03cbb93 Mon Sep 17 00:00:00 2001 From: Andreas Stöckel Date: Tue, 27 Jan 2015 01:39:19 +0100 Subject: Removed dependency between "Project" model class and parser/resources. This reduces coupling and was stupid beforehand. --- test/core/StandaloneEnvironment.hpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'test/core/StandaloneEnvironment.hpp') diff --git a/test/core/StandaloneEnvironment.hpp b/test/core/StandaloneEnvironment.hpp index 23efbe0..eaaa9bf 100644 --- a/test/core/StandaloneEnvironment.hpp +++ b/test/core/StandaloneEnvironment.hpp @@ -26,6 +26,7 @@ #include #include #include +#include #include namespace ousia { @@ -34,23 +35,31 @@ struct StandaloneEnvironment { ConcreteLogger &logger; Manager manager; Registry registry; - Rooted project; + ResourceManager resourceManager; ParserScope scope; + Rooted project; ParserContext context; StandaloneEnvironment(ConcreteLogger &logger) - : logger(logger), project(new Project(manager, registry)), - context(project, scope, logger) + : logger(logger), project(new Project(manager)), + context(registry, resourceManager, scope, project, logger) { logger.reset(); logger.setSourceContextCallback( - project->getSourceContextCallback()); + resourceManager.getSourceContextCallback()); } ~StandaloneEnvironment() { logger.setSourceContextCallback(NullSourceContextCallback); } + + Rooted parse(const std::string &path, + const std::string mimetype, const std::string rel, + const RttiSet &supportedTypes) + { + return context.link(path, mimetype, rel, supportedTypes); + } }; } -- cgit v1.2.3