summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/model/Domain.cpp18
-rw-r--r--src/core/model/Domain.hpp12
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_ */