diff options
author | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2014-03-06 00:11:17 +0000 |
---|---|---|
committer | andreas <andreas@daaaf23c-2e50-4459-9457-1e69db5a47bf> | 2014-03-06 00:11:17 +0000 |
commit | d99095f4a181357bf0c6d10846351eb0b58b1ccf (patch) | |
tree | 74daacc842023b14e27aa49403ee8d4aaa8bb172 /src/model | |
parent | f098dc45183d2b7a99e65b62448f59d12cc3c056 (diff) |
started to implement rudimentary XML reader (implemented expectOneOf function), changed some conventions in the used files (namespaces, include guards), moved anchor class from domain to document package, removed everything that does not work now from the CMakeLists.txt
git-svn-id: file:///var/local/svn/basicwriter@24 daaaf23c-2e50-4459-9457-1e69db5a47bf
Diffstat (limited to 'src/model')
-rw-r--r-- | src/model/GraphNode.cpp | 20 | ||||
-rw-r--r-- | src/model/GraphNode.hpp | 34 | ||||
-rw-r--r-- | src/model/document/Anchor.cpp (renamed from src/model/domain/Anchor.cpp) | 0 | ||||
-rw-r--r-- | src/model/document/Anchor.hpp (renamed from src/model/domain/Anchor.hpp) | 0 | ||||
-rw-r--r-- | src/model/domain/ClassSet.hpp | 33 | ||||
-rw-r--r-- | src/model/domain/Domain.hpp | 41 |
6 files changed, 86 insertions, 42 deletions
diff --git a/src/model/GraphNode.cpp b/src/model/GraphNode.cpp index affc3af..bfb8e63 100644 --- a/src/model/GraphNode.cpp +++ b/src/model/GraphNode.cpp @@ -22,21 +22,11 @@ #include <sstream> namespace ousia { +namespace model { -GraphNode::GraphNode() : - parent(nullptr) -{ - // Do nothing here -} - -GraphNode::GraphNode(std::shared_ptr<GraphNode> parent) : - parent(parent) -{ - // Do nothing here -} - -GraphNode::GraphNode(const std::string &name, std::shared_ptr<GraphNode> parent) : - name(name), parent(parent) +GraphNode::GraphNode(GraphNodeType type, std::shared_ptr<GraphNode> parent, + const std::string &name) : + type(type), parent(parent), name(name) { // Do nothing here } @@ -52,3 +42,5 @@ const std::string GraphNode::getFullyQualifiedName() } } +} + diff --git a/src/model/GraphNode.hpp b/src/model/GraphNode.hpp index 39770dd..8ce1a39 100644 --- a/src/model/GraphNode.hpp +++ b/src/model/GraphNode.hpp @@ -16,34 +16,39 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef _GRAPH_NODE_HPP_ -#define _GRAPH_NODE_HPP_ +#ifndef _OUSIA_MODEL_GRAPH_NODE_HPP_ +#define _OUSIA_MODEL_GRAPH_NODE_HPP_ #include <string> #include <memory> namespace ousia { +namespace model { + +enum class GraphNodeType { + None, Domain, Class, Annotation, Structure, ClassCategory, + AnnotationCategory +}; class GraphNode { private: - std::string name; + GraphNodeType type; std::shared_ptr<GraphNode> parent; + std::string name; -public: - GraphNode(); - - GraphNode(std::shared_ptr<GraphNode> parent); +protected: + GraphNode(GraphNodeType type, std::shared_ptr<GraphNode> parent = nullptr, + const std::string &name = ""); - GraphNode(const std::string &name, std::shared_ptr<GraphNode> parent = nullptr); +public: + const std::string getFullyQualifiedName(); const std::string& getName() { return name; } - const std::string getFullyQualifiedName(); - void setName(const std::string &name) { this->name = name; @@ -51,7 +56,7 @@ public: std::shared_ptr<GraphNode> getParent() { - return std::shared_ptr<GraphNode>(parent); + return parent; } void setParent(std::shared_ptr<GraphNode> parent) @@ -59,10 +64,15 @@ public: this->parent = parent; } + GraphNodeType getType() + { + return type; + } }; } +} -#endif /* _GRAPH_NODE_HPP_ */ +#endif /* _OUSIA_MODEL_GRAPH_NODE_HPP_ */ diff --git a/src/model/domain/Anchor.cpp b/src/model/document/Anchor.cpp index e153161..e153161 100644 --- a/src/model/domain/Anchor.cpp +++ b/src/model/document/Anchor.cpp diff --git a/src/model/domain/Anchor.hpp b/src/model/document/Anchor.hpp index 66ff8eb..66ff8eb 100644 --- a/src/model/domain/Anchor.hpp +++ b/src/model/document/Anchor.hpp diff --git a/src/model/domain/ClassSet.hpp b/src/model/domain/ClassSet.hpp new file mode 100644 index 0000000..ebfe508 --- /dev/null +++ b/src/model/domain/ClassSet.hpp @@ -0,0 +1,33 @@ +/* + Ousía + Copyright (C) 2014 Benjamin Paaßen, Andreas Stöckel + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +namespace ousia { +namespace domain { + +#include "Class.hpp"; + +class ClassSet { + +private: + std::vector<Class> classes; + +}; + +} +} + diff --git a/src/model/domain/Domain.hpp b/src/model/domain/Domain.hpp index dd5ee4d..957ae4a 100644 --- a/src/model/domain/Domain.hpp +++ b/src/model/domain/Domain.hpp @@ -16,34 +16,42 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef _DOMAIN_HPP_ -#define _DOMAIN_HPP_ +#ifndef _OUSIA_MODEL_DOMAIN_DOMAIN_HPP_ +#define _OUSIA_MODEL_DOMAIN_DOMAIN_HPP_ -#include <memory> -#include <string> -#include <vector> +//#include <memory> +//#include <string> +//#include <vector> #include <model/GraphNode.hpp> -#include "Class.hpp" -#include "Structure.hpp" -#include "Category.hpp" -#include "Layer.hpp" +//#include "Class.hpp" +//#include "Structure.hpp" +//#include "Category.hpp" +//#include "Layer.hpp" namespace ousia { +namespace model { namespace domain { class Domain : public GraphNode { private: - std::shared_ptr<Class> root; - std::vector<std::shared_ptr<Structure>> structures; - std::vector<std::shared_ptr<Category>> categories; - std::vector<std::shared_ptr<Layer>> layers; +// std::shared_ptr<Class> root; +// std::vector<std::shared_ptr<Structure>> structures; +// std::vector<std::shared_ptr<Category>> categories; +// std::vector<std::shared_ptr<Layer>> layers; public: - std::shared_ptr<Class>& getRoot() + Domain(std::shared_ptr<GraphNode> parent = nullptr, + const std::string &name = "") : + GraphNode(GraphNodeType::Domain, parent, name) + { + // Do nothing here + } + +/* std::shared_ptr<Class>& getRoot() { return root; } @@ -61,12 +69,13 @@ public: std::vector<std::shared_ptr<Layer>>& getLayers() { return layers; - } + }*/ }; } } +} -#endif /* _DOMAIN_HPP_ */ +#endif /* _OUSIA_MODEL_DOMAIN_DOMAIN_HPP_ */ |