diff options
-rw-r--r-- | src/core/model/Domain.cpp | 18 | ||||
-rw-r--r-- | src/core/model/Domain.hpp | 12 |
2 files changed, 22 insertions, 8 deletions
diff --git a/src/core/model/Domain.cpp b/src/core/model/Domain.cpp index fafe090..e9c2687 100644 --- a/src/core/model/Domain.cpp +++ b/src/core/model/Domain.cpp @@ -78,16 +78,18 @@ void Domain::doResolve(std::vector<Rooted<Managed>> &res, t->resolve(res, path, filter, filterData, idx, visited, nullptr); } } - +} /* Type registrations */ -const Rtti<FieldDescriptor> FieldDescriptor_Rtti{"FieldDescriptor"}; -const Rtti<Descriptor> Descriptor_Rtti{"Descriptor"}; -const Rtti<StructuredClass> StructuredClass_Rtti{"StructuredClass", - {&Descriptor_Rtti}}; -const Rtti<AnnotationClass> AnnotationClass_Rtti{"AnnotationClass", - {&Descriptor_Rtti}}; -const Rtti<Domain> Domain_Rtti{"Domain"}; +namespace RttiTypes { +const Rtti<model::FieldDescriptor> FieldDescriptor{"FieldDescriptor"}; +const Rtti<model::Descriptor> Descriptor{"Descriptor"}; +const Rtti<model::StructuredClass> StructuredClass{ + "StructuredClass", {&Descriptor}, {&FieldDescriptor}}; +const Rtti<model::AnnotationClass> AnnotationClass{"AnnotationClass", + {&Descriptor}}; +const Rtti<model::Domain> Domain{ + "Domain", {}, {&StructuredClass, &AnnotationClass}}; } } diff --git a/src/core/model/Domain.hpp b/src/core/model/Domain.hpp index 1ebe5c6..cd74a19 100644 --- a/src/core/model/Domain.hpp +++ b/src/core/model/Domain.hpp @@ -82,6 +82,7 @@ #ifndef _OUSIA_MODEL_DOMAIN_HPP_ #define _OUSIA_MODEL_DOMAIN_HPP_ +#include <core/common/Rtti.hpp> #include <core/managed/ManagedContainer.hpp> #include <core/RangeSet.hpp> @@ -488,6 +489,17 @@ public: const NodeVector<Typesystem> &getTypesystems() const { return typesystems; } }; } + +namespace RttiTypes { + +extern const Rtti<model::FieldDescriptor> FieldDescriptor; +extern const Rtti<model::Descriptor> Descriptor; +extern const Rtti<model::StructuredClass> StructuredClass; +extern const Rtti<model::AnnotationClass> AnnotationClass; +extern const Rtti<model::Domain> Domain; + +} + } #endif /* _OUSIA_MODEL_DOMAIN_HPP_ */ |