From e8f21fa4ca283cca44c35f36482e9afa71146e49 Mon Sep 17 00:00:00 2001 From: Andreas Stöckel Date: Thu, 16 Apr 2015 01:08:50 +0200 Subject: Added ManagedVariant type which is a Managed object containing a variant. This functionality is used for storing Variants in the Managed data store. --- src/core/common/Variant.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/core/common/Variant.cpp') diff --git a/src/core/common/Variant.cpp b/src/core/common/Variant.cpp index 280cba5..e3be395 100644 --- a/src/core/common/Variant.cpp +++ b/src/core/common/Variant.cpp @@ -22,11 +22,12 @@ #include "Location.hpp" #include "Logger.hpp" +#include "Rtti.hpp" +#include "RttiBuilder.hpp" #include "Utils.hpp" #include "Variant.hpp" #include "VariantConverter.hpp" #include "VariantWriter.hpp" -#include "Rtti.hpp" namespace ousia { @@ -188,6 +189,11 @@ Variant::cardinalityType Variant::toCardinality() const return res.asCardinality(); } +Rooted Variant::toManaged(Manager &mgr) const +{ + return Rooted(new ManagedVariant(mgr, *this)); +} + /* Type management */ const Rtti *Variant::getRtti() const @@ -306,5 +312,10 @@ bool operator!=(const Variant &lhs, const Variant &rhs) { return !(lhs == rhs); } + +namespace RttiTypes { +const Rtti ManagedVariant = RttiBuilder("Variant"); +} + } -- cgit v1.2.3