From 67c3618e593f88eb8177404475586735902d693f Mon Sep 17 00:00:00 2001 From: Andreas Stöckel Date: Sun, 25 Jan 2015 18:57:19 +0100 Subject: Restructures parser classes a little, removed Registry from ParserContext, gave a ResourceManager instance to the Project, using ResourceRequest when including or linking files, thought through how "including" and "linking" are handled --- src/core/model/Project.hpp | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'src/core/model/Project.hpp') diff --git a/src/core/model/Project.hpp b/src/core/model/Project.hpp index 642059c..2c50f49 100644 --- a/src/core/model/Project.hpp +++ b/src/core/model/Project.hpp @@ -28,6 +28,8 @@ #ifndef _OUSIA_PROJECT_HPP_ #define _OUSIA_PROJECT_HPP_ +#include + #include "Node.hpp" namespace ousia { @@ -35,8 +37,8 @@ namespace ousia { // Forward declarations class Logger; class Rtti; - - +class Registry; +class ParserContext; class SystemTypesystem; class Typesystem; class Document; @@ -49,6 +51,11 @@ class Domain; */ class Project : public Node { private: + /** + * Reference at the internally used Registry instance. + */ + Registry ®istry; + /** * Private instance of the system typesystem which is distributed as a * reference to all child typesystems. @@ -60,6 +67,11 @@ private: */ NodeVector documents; + /** + * ResourceManager used to manage all resources used by the project. + */ + ResourceManager resourceManager; + protected: /** * Validates the project and all parts it consists of. @@ -73,8 +85,10 @@ public: * Constructor of the Project class. * * @param mgr is the manager instance used for managing this Node. + * @param registry is the registry instance that should be used for locating + * files and finding parsers for these files. */ - Project(Manager &mgr); + Project(Manager &mgr, Registry ®istry); /** * Returns a reference to the internal system typesystem. -- cgit v1.2.3