From c6be213db6769d5d7516d1459f984c14d8df0708 Mon Sep 17 00:00:00 2001
From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz>
Date: Wed, 22 Nov 2017 13:41:24 +0100
Subject: [PATCH] register common Object operations to abstraction

---
 .../src/abstraction/PrimitiveRegistrator.cpp       |  6 ++++++
 alib2data/src/common/PrimitiveRegistrator.cpp      | 14 ++++++++++----
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/alib2common/src/abstraction/PrimitiveRegistrator.cpp b/alib2common/src/abstraction/PrimitiveRegistrator.cpp
index 85238acd0d..7bec997aa6 100644
--- a/alib2common/src/abstraction/PrimitiveRegistrator.cpp
+++ b/alib2common/src/abstraction/PrimitiveRegistrator.cpp
@@ -18,6 +18,8 @@
 #include <primitive/UnsignedLong.h>
 #include <primitive/String.h>
 
+#include <object/Object.h>
+
 namespace {
 
 class PrimitiveRegistrator {
@@ -51,6 +53,10 @@ public:
 
 		abstraction::ImmediateRegistry::registerImmediate < int > ( );
 		abstraction::ImmediateRegistry::registerImmediate < std::string > ( );
+
+		abstraction::ValuePrinterRegistry::registerValuePrinter < alib::Object > ( );
+		abstraction::ValuePrinterRegistry::registerValuePrinter < ext::set < alib::Object > > ( );
+		abstraction::ContainerRegistry::registerSet < alib::Object > ( );
 	}
 };
 
diff --git a/alib2data/src/common/PrimitiveRegistrator.cpp b/alib2data/src/common/PrimitiveRegistrator.cpp
index f00bb241b8..22d68393be 100644
--- a/alib2data/src/common/PrimitiveRegistrator.cpp
+++ b/alib2data/src/common/PrimitiveRegistrator.cpp
@@ -46,15 +46,20 @@ class PrimitiveRegistrator {
 public:
 	PrimitiveRegistrator ( ) {
 		abstraction::ContainerRegistry::registerSet < common::ranked_symbol < DefaultSymbolType, DefaultRankType > > ( "ranked_symbol" );
+		abstraction::XmlContainerParserRegistry::registerSet < common::ranked_symbol < DefaultSymbolType, DefaultRankType > > ( "ranked_symbol" );
+		abstraction::XmlParserRegistry::registerXmlParser < common::ranked_symbol < DefaultSymbolType, DefaultRankType > > ( "ranked_symbol" );
 
 		abstraction::XmlComposerRegistry::registerXmlComposer < ext::map < DefaultSymbolType, size_t > > ( );
 		abstraction::XmlComposerRegistry::registerXmlComposer < ext::map < common::ranked_symbol < DefaultSymbolType, DefaultRankType >, size_t > > ( );
 
-		abstraction::XmlContainerParserRegistry::registerSet < common::ranked_symbol < DefaultSymbolType, DefaultRankType > > ( "ranked_symbol" );
-		abstraction::XmlParserRegistry::registerXmlParser < common::ranked_symbol < DefaultSymbolType, DefaultRankType > > ( "ranked_symbol" );
+		abstraction::XmlParserRegistry::registerXmlParser < alib::Object > ( "DefaultStateType" );
+
+		abstraction::ContainerRegistry::registerSet < alib::Object > ( "Object" );
+		abstraction::XmlContainerParserRegistry::registerSet < alib::Object > ( "Object" );
+		abstraction::XmlParserRegistry::registerXmlParser < alib::Object > ( "Object" );
+		abstraction::XmlComposerRegistry::registerXmlComposer < alib::Object > ( );
+		abstraction::XmlComposerRegistry::registerXmlComposer < ext::set < alib::Object > > ( );
 
-		abstraction::XmlParserRegistry::registerXmlParser < DefaultStateType > ( "DefaultStateType" );
-		abstraction::XmlComposerRegistry::registerXmlComposer < DefaultStateType > ( );
 		abstraction::XmlComposerRegistry::registerXmlComposer < ext::set < string::LinearString < > > > ( );
 
 		alib::xmlApi < alib::Object >::template registerXmlWriter < alib::AnyObject < ext::variant < alphabet::BottomOfTheStackSymbol, ext::set < common::ranked_symbol < alib::Object, primitive::Unsigned > > > > > ( );
@@ -66,6 +71,7 @@ public:
 		alib::xmlApi < alib::Object >::template registerXmlWriter < alib::AnyObject < common::ranked_symbol < alib::Object, primitive::Unsigned > > > ( );
 		alib::xmlApi < alib::Object >::template registerXmlWriter < alib::AnyObject < ext::pair < unsigned int, unsigned int > > > ( );
 		alib::xmlApi < alib::Object >::template registerXmlWriter < alib::AnyObject < ext::pair < alib::Object, alib::Object > > > ( );
+
 	}
 };
 
-- 
GitLab