From 23800c2c3f44f628ef9aeef017228742088eb5f1 Mon Sep 17 00:00:00 2001
From: Fabian Peller-Konrad <fabian.peller-konrad@kit.edu>
Date: Fri, 12 Nov 2021 10:51:26 +0100
Subject: [PATCH] aron allows members name "r", renamed motion segments, added
 color aron classes

---
 .../armem/server/MotionMemory/MotionMemory.h  |  2 +-
 .../libraries/armem_motions/CMakeLists.txt    |  9 +--
 .../Segment.cpp => MotionSegment.cpp}         | 14 ++---
 .../MDBMotions/Segment.h => MotionSegment.h}  |  4 +-
 ...otionConverter.cpp => mdb_conversions.cpp} |  2 +-
 .../MotionConverter.h => mdb_conversions.h}   |  0
 .../libraries/aron/common/CMakeLists.txt      |  1 +
 .../libraries/aron/common/aron/Color.xml      | 55 +++++++++++++++++++
 .../codewriter/cpp/generator/Generator.cpp    | 10 ++--
 .../cpp/generator/container/Dict.cpp          |  8 +--
 .../cpp/generator/container/List.cpp          |  8 +--
 .../cpp/generator/container/Object.cpp        |  6 +-
 .../cpp/generator/container/Pair.cpp          | 10 ++--
 .../cpp/generator/container/Tuple.cpp         |  8 +--
 .../cpp/generator/detail/PrimitiveGenerator.h |  4 +-
 .../codewriter/cpp/generator/enum/IntEnum.cpp |  6 +-
 .../cpp/generator/ndarray/Image.cpp           |  9 +--
 .../cpp/generator/ndarray/Matrix.cpp          |  6 +-
 .../cpp/generator/ndarray/Orientation.cpp     |  6 +-
 .../cpp/generator/ndarray/PointCloud.cpp      |  6 +-
 .../codewriter/cpp/generator/ndarray/Pose.cpp |  6 +-
 .../cpp/generator/ndarray/Position.cpp        |  6 +-
 .../cpp/generator/ndarray/Quaternion.cpp      |  6 +-
 .../cpp/generator/primitive/Bool.cpp          |  2 +-
 .../cpp/generator/primitive/Double.cpp        |  2 +-
 .../cpp/generator/primitive/Float.cpp         |  2 +-
 .../cpp/generator/primitive/Int.cpp           |  2 +-
 .../cpp/generator/primitive/Long.cpp          |  2 +-
 .../cpp/generator/primitive/String.cpp        |  2 +-
 .../cpp/generator/primitive/Time.cpp          |  6 +-
 .../cpp/generator/toplevel/IntEnumClass.cpp   |  6 +-
 .../cpp/generator/toplevel/ObjectClass.cpp    | 16 +++---
 32 files changed, 145 insertions(+), 87 deletions(-)
 rename source/RobotAPI/libraries/armem_motions/server/{MotionDatabase/MDBMotions/Segment.cpp => MotionSegment.cpp} (88%)
 rename source/RobotAPI/libraries/armem_motions/server/{MotionDatabase/MDBMotions/Segment.h => MotionSegment.h} (81%)
 rename source/RobotAPI/libraries/armem_motions/server/{MotionDatabase/MDBMotions/MotionConverter.cpp => mdb_conversions.cpp} (98%)
 rename source/RobotAPI/libraries/armem_motions/server/{MotionDatabase/MDBMotions/MotionConverter.h => mdb_conversions.h} (100%)
 create mode 100644 source/RobotAPI/libraries/aron/common/aron/Color.xml

diff --git a/source/RobotAPI/components/armem/server/MotionMemory/MotionMemory.h b/source/RobotAPI/components/armem/server/MotionMemory/MotionMemory.h
index 9e7ba4116..46ae55192 100644
--- a/source/RobotAPI/components/armem/server/MotionMemory/MotionMemory.h
+++ b/source/RobotAPI/components/armem/server/MotionMemory/MotionMemory.h
@@ -68,7 +68,7 @@ namespace armarx
 
     private:
 
-        armem::server::motions::mdb::Segment mdbMotions;
+        armem::server::motions::mdb::MotionSegment mdbMotions;
         armarx::armem::mps::MPSegment motionPrimitive;
         // TODO: mdt Segment
 
diff --git a/source/RobotAPI/libraries/armem_motions/CMakeLists.txt b/source/RobotAPI/libraries/armem_motions/CMakeLists.txt
index a72d610f0..bf222bcec 100644
--- a/source/RobotAPI/libraries/armem_motions/CMakeLists.txt
+++ b/source/RobotAPI/libraries/armem_motions/CMakeLists.txt
@@ -12,12 +12,13 @@ armarx_add_library(
         RobotAPI::Core
         RobotAPI::armem
         RobotAPI::PriorKnowledge::Motions
+        
     SOURCES
-        ./server/MotionDatabase/MDBMotions/MotionConverter.cpp
-        ./server/MotionDatabase/MDBMotions/Segment.cpp
+        ./server/mdb_conversions.cpp
+        ./server/MotionSegment.cpp
     HEADERS
-        ./server/MotionDatabase/MDBMotions/MotionConverter.h
-        ./server/MotionDatabase/MDBMotions/Segment.h
+        ./server/mdb_conversions.h
+        ./server/MotionSegment.h
     ARON_FILES
         ./aron/MDBReference.xml
 )
diff --git a/source/RobotAPI/libraries/armem_motions/server/MotionDatabase/MDBMotions/Segment.cpp b/source/RobotAPI/libraries/armem_motions/server/MotionSegment.cpp
similarity index 88%
rename from source/RobotAPI/libraries/armem_motions/server/MotionDatabase/MDBMotions/Segment.cpp
rename to source/RobotAPI/libraries/armem_motions/server/MotionSegment.cpp
index 5860b2f48..d4dd62d61 100644
--- a/source/RobotAPI/libraries/armem_motions/server/MotionDatabase/MDBMotions/Segment.cpp
+++ b/source/RobotAPI/libraries/armem_motions/server/MotionSegment.cpp
@@ -1,8 +1,8 @@
 // BaseClass
-#include "Segment.h"
+#include "MotionSegment.h"
 
 // ArmarX
-#include "MotionConverter.h"
+#include "mdb_conversions.h"
 
 #include <RobotAPI/libraries/PriorKnowledge/motions/MotionFinder.h>
 #include <RobotAPI/libraries/armem/core/wm/memory_definitions.h>
@@ -19,12 +19,12 @@
 
 namespace armarx::armem::server::motions::mdb
 {
-    Segment::Segment(armem::server::MemoryToIceAdapter& memoryToIceAdapter) :
+    MotionSegment::MotionSegment(armem::server::MemoryToIceAdapter& memoryToIceAdapter) :
         Base(memoryToIceAdapter)
     {
     }
 
-    void Segment::defineProperties(armarx::PropertyDefinitionsPtr defs, const std::string& prefix)
+    void MotionSegment::defineProperties(armarx::PropertyDefinitionsPtr defs, const std::string& prefix)
     {
         Base::defineProperties(defs, prefix);
 
@@ -32,7 +32,7 @@ namespace armarx::armem::server::motions::mdb
         defs->optional(p.loadFromMotionsPackage, prefix + "LoadFromMotionsPackage", "If true, load the motions from the motions package on startup.");
     }
 
-    void Segment::onInit()
+    void MotionSegment::onInit()
     {
         Base::onInit();
 
@@ -42,12 +42,12 @@ namespace armarx::armem::server::motions::mdb
         }
     }
 
-    void Segment::onConnect()
+    void MotionSegment::onConnect()
     {
 
     }
 
-    int Segment::loadByMotionFinder(const std::string& packageName)
+    int MotionSegment::loadByMotionFinder(const std::string& packageName)
     {
         priorknowledge::motions::MotionFinder motionFinder(packageName, "motions/");
         int loadedMotions = 0;
diff --git a/source/RobotAPI/libraries/armem_motions/server/MotionDatabase/MDBMotions/Segment.h b/source/RobotAPI/libraries/armem_motions/server/MotionSegment.h
similarity index 81%
rename from source/RobotAPI/libraries/armem_motions/server/MotionDatabase/MDBMotions/Segment.h
rename to source/RobotAPI/libraries/armem_motions/server/MotionSegment.h
index f0dc4d726..dfde9a95b 100644
--- a/source/RobotAPI/libraries/armem_motions/server/MotionDatabase/MDBMotions/Segment.h
+++ b/source/RobotAPI/libraries/armem_motions/server/MotionSegment.h
@@ -13,12 +13,12 @@
 
 namespace armarx::armem::server::motions::mdb
 {
-    class Segment : public armem::server::segment::wm::AronTypedProviderSegmentBase<armarx::armem::mdb::MDBReference>
+    class MotionSegment : public armem::server::segment::wm::AronTypedProviderSegmentBase<armarx::armem::mdb::MDBReference>
     {
         using Base = armem::server::segment::wm::AronTypedProviderSegmentBase<armarx::armem::mdb::MDBReference>;
 
     public:
-        Segment(armem::server::MemoryToIceAdapter& iceMemory);
+        MotionSegment(armem::server::MemoryToIceAdapter& iceMemory);
 
         virtual void defineProperties(armarx::PropertyDefinitionsPtr defs, const std::string& prefix = "") override;
         virtual void onInit() override;
diff --git a/source/RobotAPI/libraries/armem_motions/server/MotionDatabase/MDBMotions/MotionConverter.cpp b/source/RobotAPI/libraries/armem_motions/server/mdb_conversions.cpp
similarity index 98%
rename from source/RobotAPI/libraries/armem_motions/server/MotionDatabase/MDBMotions/MotionConverter.cpp
rename to source/RobotAPI/libraries/armem_motions/server/mdb_conversions.cpp
index f8019e8a8..a77031277 100644
--- a/source/RobotAPI/libraries/armem_motions/server/MotionDatabase/MDBMotions/MotionConverter.cpp
+++ b/source/RobotAPI/libraries/armem_motions/server/mdb_conversions.cpp
@@ -1,5 +1,5 @@
 // Header
-#include "MotionConverter.h"
+#include "mdb_conversions.h"
 
 #include <SimoxUtility/json/json.hpp>
 
diff --git a/source/RobotAPI/libraries/armem_motions/server/MotionDatabase/MDBMotions/MotionConverter.h b/source/RobotAPI/libraries/armem_motions/server/mdb_conversions.h
similarity index 100%
rename from source/RobotAPI/libraries/armem_motions/server/MotionDatabase/MDBMotions/MotionConverter.h
rename to source/RobotAPI/libraries/armem_motions/server/mdb_conversions.h
diff --git a/source/RobotAPI/libraries/aron/common/CMakeLists.txt b/source/RobotAPI/libraries/aron/common/CMakeLists.txt
index 4de720b5e..b35b5cca8 100644
--- a/source/RobotAPI/libraries/aron/common/CMakeLists.txt
+++ b/source/RobotAPI/libraries/aron/common/CMakeLists.txt
@@ -35,6 +35,7 @@ armarx_enable_aron_file_generation_for_target(
         #aron/SimplePosition.xml
         #aron/SimplePose.xml
         #aron/SimpleTrajectory.xml
+        aron/Color.xml
         aron/PackagePath.xml
         aron/AxisAlignedBoundingBox.xml
         aron/OrientedBox.xml
diff --git a/source/RobotAPI/libraries/aron/common/aron/Color.xml b/source/RobotAPI/libraries/aron/common/aron/Color.xml
new file mode 100644
index 000000000..f84c31bbe
--- /dev/null
+++ b/source/RobotAPI/libraries/aron/common/aron/Color.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<AronTypeDefinition>
+
+  <GenerateTypes>
+    <Object name='armarx::arondto::DrawColor'>
+        <ObjectChild key='r'>
+          <float />
+        </ObjectChild>
+
+        <ObjectChild key='g'>
+          <float />
+        </ObjectChild>
+
+        <ObjectChild key='b'>
+          <float />
+        </ObjectChild>
+
+        <ObjectChild key='a'>
+          <float />
+        </ObjectChild>
+    </Object>
+
+
+    <Object name='armarx::arondto::DrawColor24Bit'>
+        <ObjectChild key='r'>
+          <int />
+        </ObjectChild>
+
+        <ObjectChild key='g'>
+          <int />
+        </ObjectChild>
+
+        <ObjectChild key='b'>
+          <int />
+        </ObjectChild>
+    </Object>
+
+
+    <Object name='armarx::arondto::HsvColor'>
+        <ObjectChild key='h'>
+          <float />
+        </ObjectChild>
+
+        <ObjectChild key='s'>
+          <float />
+        </ObjectChild>
+
+        <ObjectChild key='v'>
+          <float />
+        </ObjectChild>
+    </Object>
+
+  </GenerateTypes>
+
+</AronTypeDefinition>
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/Generator.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/Generator.cpp
index 911555fea..c403e4734 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/Generator.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/Generator.cpp
@@ -163,7 +163,7 @@ namespace armarx::aron::codegenerator::cpp
         doc << "@brief writeType() - This method returns a new type from the class structure using a type writer implementation. This function is static. \n";
         doc << "@return - the result of the writer implementation";
 
-        CppMethodPtr m = CppMethodPtr(new CppMethod("template<class T>\nstatic T writeType(armarx::aron::type::WriterInterface<T>& w, armarx::aron::type::Maybe "+ ARON_MAYBE_TYPE_ACCESSOR +" = armarx::aron::type::Maybe::eNone)", doc.str()));
+        CppMethodPtr m = CppMethodPtr(new CppMethod("template<class T>\nstatic T writeType(armarx::aron::type::WriterInterface<T>& " + ARON_WRITER_ACCESSOR + ", armarx::aron::type::Maybe "+ ARON_MAYBE_TYPE_ACCESSOR +" = armarx::aron::type::Maybe::eNone)", doc.str()));
         std::string dummy;
         CppBlockPtr b = this->getWriteTypeBlock("", "", dummy);
         m->setBlock(b);
@@ -177,7 +177,7 @@ namespace armarx::aron::codegenerator::cpp
         doc << "@param w - The writer implementation\n";
         doc << "@return - the result of the writer implementation";
 
-        CppMethodPtr m = CppMethodPtr(new CppMethod("template<class T>\nT write(armarx::aron::data::WriterInterface<T>& w) const", doc.str()));
+        CppMethodPtr m = CppMethodPtr(new CppMethod("template<class T>\nT write(armarx::aron::data::WriterInterface<T>& " + ARON_WRITER_ACCESSOR + ") const", doc.str()));
         std::string dummy;
         CppBlockPtr b = std::make_shared<CppBlock>();
         b->appendBlock(this->getWriteBlock("", dummy));
@@ -192,11 +192,11 @@ namespace armarx::aron::codegenerator::cpp
         doc << "@param r - The reader implementation\n";
         doc << "@return - nothing";
 
-        CppMethodPtr m = CppMethodPtr(new CppMethod("template<class T>\nvoid read(armarx::aron::data::ReaderInterface<T>& r, T& input)", doc.str()));
+        CppMethodPtr m = CppMethodPtr(new CppMethod("template<class T>\nvoid read(armarx::aron::data::ReaderInterface<T>& " + ARON_READER_ACCESSOR + ", T& input)", doc.str()));
         CppBlockPtr b = std::make_shared<CppBlock>();
         b->addLine("using TNonConst = typename std::remove_const<T>::type;");
         b->addLine("this->resetSoft();");
-        b->addLine("if (r.readNull(input))");
+        b->addLine("if (" + ARON_READER_ACCESSOR + ".readNull(input))");
         b->addLineAsBlock("throw armarx::aron::error::AronException(__PRETTY_FUNCTION__, \"The input to the read method must not be null.\");");
         b->appendBlock(this->getReadBlock("", "input"));
         m->setBlock(b);
@@ -428,7 +428,7 @@ namespace armarx::aron::codegenerator::cpp
         if (type.getMaybe() == type::Maybe::eOptional || type.getMaybe() == type::Maybe::eRawPointer || type.getMaybe() == type::Maybe::eSharedPointer || type.getMaybe() == type::Maybe::eUniquePointer)
         {
             CppBlockPtr b = std::make_shared<CppBlock>();
-            b->addLine("if (not (r.readNull(" + variantAccessor + "))) // if aron contains data");
+            b->addLine("if (not (" + ARON_READER_ACCESSOR + ".readNull(" + variantAccessor + "))) // if aron contains data");
             {
                 CppBlockPtr ifb = std::make_shared<CppBlock>();
                 ifb->addLine(cppAccessor + " = " + getCoreCppTypename() + "();");
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/container/Dict.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/container/Dict.cpp
index 38e18fc70..96d978cb6 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/container/Dict.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/container/Dict.cpp
@@ -54,7 +54,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         b->appendBlock(type_s->getWriteTypeBlock(type_s->getCoreCppTypename(), cppAccessor + nextEl() + "accepted_type", nextVariantAccessor));
 
         //block_if_data->addLine("auto " + variantAccessor + )
-        b->addLine("auto " + variantAccessor + " = w.writeDict(" + conversion::Maybe2CppString.at(type.getMaybe()) + ", " + nextVariantAccessor + "); // of " + cppAccessor);
+        b->addLine("auto " + variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeDict(" + conversion::Maybe2CppString.at(type.getMaybe()) + ", " + nextVariantAccessor + "); // of " + cppAccessor);
 
         return b;
     }
@@ -78,12 +78,12 @@ namespace armarx::aron::codegenerator::cpp::generator
             CppBlockPtr for_loop = std::make_shared<CppBlock>();
             std::string nextVariantAccessor;
             auto child_b = type_s->getWriteBlock(accessor_iterator_val, nextVariantAccessor);
-            for_loop->addLine("auto " + nextVariantAccessor + " = w.writeNull();");
+            for_loop->addLine("auto " + nextVariantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeNull();");
             for_loop->appendBlock(child_b);
             for_loop->addLine(elementsAccessor + ".emplace(" + accessor_iterator_key + ", " + nextVariantAccessor + ");");
             block_if_data->addBlock(for_loop);
         }
-        block_if_data->addLine(variantAccessor + " = w.writeDict(" + elementsAccessor + "); // of " + cppAccessor);
+        block_if_data->addLine(variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeDict(" + elementsAccessor + "); // of " + cppAccessor);
 
         return resolveMaybeWriteBlock(block_if_data, cppAccessor);
     }
@@ -97,7 +97,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string accessor_iterator_key = ARON_VARIABLE_PREFIX + "_" + escaped_accessor + "_dictKey";
 
         block_if_data->addLine("std::map<std::string, TNonConst> " + elements_accessor + ";");
-        block_if_data->addLine("r.readDict(" + variantAccessor + ", " + elements_accessor + ");");
+        block_if_data->addLine("" + ARON_READER_ACCESSOR + ".readDict(" + variantAccessor + ", " + elements_accessor + ");");
         block_if_data->addLine("for (const auto& [" + accessor_iterator_key + ", " + accessor_iterator_value + "] : " + elements_accessor + ")");
         {
             auto type_s = FromAronType(*type.getAcceptedType());
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/container/List.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/container/List.cpp
index 991dc8d8d..36d5c73e9 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/container/List.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/container/List.cpp
@@ -53,7 +53,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         CppBlockPtr b2 = type_s->getWriteTypeBlock(type_s->getCoreCppTypename(), cppAccessor + nextEl() + "accepted_type", nextVariantAccessor);
         b->appendBlock(b2);
 
-        b->addLine("auto " + variantAccessor + " = w.writeList(" + conversion::Maybe2CppString.at(type.getMaybe()) + ", " + nextVariantAccessor + "); // of " + cppAccessor);
+        b->addLine("auto " + variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeList(" + conversion::Maybe2CppString.at(type.getMaybe()) + ", " + nextVariantAccessor + "); // of " + cppAccessor);
         return b;
     }
 
@@ -74,12 +74,12 @@ namespace armarx::aron::codegenerator::cpp::generator
             std::string nextVariantAccessor;
             auto for_loop = std::make_shared<CppBlock>();
             auto child_b = type_s->getWriteBlock(cppAccessor + nextEl() + "at(" + accessor_iterator + ")", nextVariantAccessor);
-            for_loop->addLine("auto " + nextVariantAccessor + " = w.writeNull();");
+            for_loop->addLine("auto " + nextVariantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeNull();");
             for_loop->appendBlock(child_b);
             for_loop->addLine(elementsAccessor + ".push_back(" + nextVariantAccessor + ");");
             block_if_data->addBlock(for_loop);
         }
-        block_if_data->addLine(variantAccessor + " = w.writeList(" + elementsAccessor + "); // of " + cppAccessor);
+        block_if_data->addLine(variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeList(" + elementsAccessor + "); // of " + cppAccessor);
 
         return resolveMaybeWriteBlock(block_if_data, cppAccessor);
     }
@@ -92,7 +92,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string accessor_iterator_value = ARON_VARIABLE_PREFIX + "_" + escaped_accessor + "_listValue";
 
         block_if_data->addLine("std::vector<TNonConst> " + elements_accessor + ";");
-        block_if_data->addLine("r.readList(" + variantAccessor + ", " + elements_accessor + ");");
+        block_if_data->addLine("" + ARON_READER_ACCESSOR + ".readList(" + variantAccessor + ", " + elements_accessor + ");");
         block_if_data->addLine("for (const auto& " + accessor_iterator_value + " : " + elements_accessor + ")");
         {
             CppBlockPtr for_loop = std::make_shared<CppBlock>();
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/container/Object.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/container/Object.cpp
index 91620ba98..2a2d784bd 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/container/Object.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/container/Object.cpp
@@ -49,7 +49,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string escaped_accessor = EscapeAccessor(cppAccessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-        b->addLine("auto " + variantAccessor + " = " + getCoreCppTypename() + "::writeType(w, " + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + cppAccessor);
+        b->addLine("auto " + variantAccessor + " = " + getCoreCppTypename() + "::writeType(" + ARON_WRITER_ACCESSOR + ", " + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + cppAccessor);
         return b;
     }
 
@@ -59,7 +59,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string escaped_accessor = EscapeAccessor(cppAccessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-        block_if_data->addLine(variantAccessor + " = " + cppAccessor + nextEl() + "write(w); // of " + cppAccessor);
+        block_if_data->addLine(variantAccessor + " = " + cppAccessor + nextEl() + "write(" + ARON_WRITER_ACCESSOR + "); // of " + cppAccessor);
         return resolveMaybeWriteBlock(block_if_data, cppAccessor);
     }
 
@@ -70,7 +70,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         {
             block_if_data->addLine(reset);
         }
-        block_if_data->addLine(cppAccessor + nextEl() + "read<T>(r, " + variantAccessor + "); // of " + cppAccessor);
+        block_if_data->addLine(cppAccessor + nextEl() + "read<T>(" + ARON_READER_ACCESSOR + ", " + variantAccessor + "); // of " + cppAccessor);
         return resolveMaybeReadBlock(block_if_data, cppAccessor, variantAccessor);
     }
 }
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/container/Pair.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/container/Pair.cpp
index cbcd26a0b..9ca8dab0d 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/container/Pair.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/container/Pair.cpp
@@ -67,7 +67,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         CppBlockPtr b22 = child_s2->getWriteTypeBlock(child_s2->getCoreCppTypename(), accessor_iterator2, secondVariantAccessor);
         block_if_data->appendBlock(b22);
 
-        block_if_data->addLine("auto " + variantAccessor + " = w.writePair("+conversion::Maybe2CppString.at(type.getMaybe())+", "+firstVariantAccessor+", "+secondVariantAccessor+"); // of " + cppAccessor);
+        block_if_data->addLine("auto " + variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writePair("+conversion::Maybe2CppString.at(type.getMaybe())+", "+firstVariantAccessor+", "+secondVariantAccessor+"); // of " + cppAccessor);
         return block_if_data;
     }
 
@@ -81,17 +81,17 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string accessor_iterator1 = cppAccessor + nextEl() + "first";
         std::string firstVariantAccessor;
         CppBlockPtr b21 = child_s1->getWriteBlock(accessor_iterator1, firstVariantAccessor);
-        block_if_data->addLine("auto " + firstVariantAccessor + " = w.writeNull();");
+        block_if_data->addLine("auto " + firstVariantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeNull();");
         block_if_data->appendBlock(b21);
 
         auto child_s2 = FromAronType(*type.getSecondAcceptedType());
         std::string accessor_iterator2 = cppAccessor + nextEl() + "second";
         std::string secondVariantAccessor;
         CppBlockPtr b22 = child_s2->getWriteBlock(accessor_iterator2, secondVariantAccessor);
-        block_if_data->addLine("auto " + secondVariantAccessor + " = w.writeNull();");
+        block_if_data->addLine("auto " + secondVariantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeNull();");
         block_if_data->appendBlock(b22);
 
-        block_if_data->addLine(variantAccessor + " = w.writePair("+firstVariantAccessor+", "+secondVariantAccessor+"); // of " + cppAccessor);
+        block_if_data->addLine(variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writePair("+firstVariantAccessor+", "+secondVariantAccessor+"); // of " + cppAccessor);
         return resolveMaybeWriteBlock(block_if_data, cppAccessor);
     }
 
@@ -102,7 +102,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string elements_accessor = ARON_VARIABLE_PREFIX + "_" + escaped_accessor + "_pairElements";
 
         block_if_data->addLine("std::vector<TNonConst> " + elements_accessor + ";");
-        block_if_data->addLine("r.readList("+elements_accessor+"); // of " + cppAccessor);
+        block_if_data->addLine("" + ARON_READER_ACCESSOR + ".readList("+elements_accessor+"); // of " + cppAccessor);
 
         auto child_s1 = FromAronType(*type.getFirstAcceptedType());
         CppBlockPtr b21 = child_s1->getReadBlock(cppAccessor + nextEl() + "first", elements_accessor+"[0]");
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/container/Tuple.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/container/Tuple.cpp
index ba08a5999..61f992774 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/container/Tuple.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/container/Tuple.cpp
@@ -68,7 +68,7 @@ namespace armarx::aron::codegenerator::cpp::generator
             block_if_data->appendBlock(b2);
             block_if_data->addLine(acceptedTypesAccessor + ".push_back(" + nextVariantAccessor + ");");
         }
-        block_if_data->addLine("auto " + variantAccessor + " = w.writeTuple("+conversion::Maybe2CppString.at(type.getMaybe())+", "+acceptedTypesAccessor+"); // of " + cppAccessor);
+        block_if_data->addLine("auto " + variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeTuple("+conversion::Maybe2CppString.at(type.getMaybe())+", "+acceptedTypesAccessor+"); // of " + cppAccessor);
         return block_if_data;
     }
 
@@ -89,11 +89,11 @@ namespace armarx::aron::codegenerator::cpp::generator
             auto type_s = FromAronType(*type);
             std::string nextVariantAccessor;
             CppBlockPtr b2 = type_s->getWriteBlock(accessor_iterator, nextVariantAccessor);
-            block_if_data->addLine("auto " + nextVariantAccessor + " = w.writeNull();");
+            block_if_data->addLine("auto " + nextVariantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeNull();");
             block_if_data->appendBlock(b2);
             block_if_data->addLine(elementsAccessor + ".push_back(" + nextVariantAccessor + ");");
         }
-        block_if_data->addLine(variantAccessor+ " = w.writeTuple("+elementsAccessor+"); // of " + cppAccessor);
+        block_if_data->addLine(variantAccessor+ " = " + ARON_WRITER_ACCESSOR + ".writeTuple("+elementsAccessor+"); // of " + cppAccessor);
         return resolveMaybeWriteBlock(block_if_data, cppAccessor);
     }
 
@@ -105,7 +105,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string elements_accessor = ARON_VARIABLE_PREFIX + "_" + escaped_accessor + "_tupleElements";
 
         block_if_data->addLine("std::vector<TNonConst> " + elements_accessor + ";");
-        block_if_data->addLine("r.readList("+elements_accessor+"); // of " + cppAccessor);
+        block_if_data->addLine("" + ARON_READER_ACCESSOR + ".readList("+elements_accessor+"); // of " + cppAccessor);
 
         unsigned int i = 0;
         for (const auto& type : type.getAcceptedTypes())
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/detail/PrimitiveGenerator.h b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/detail/PrimitiveGenerator.h
index 43e304508..b617536e1 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/detail/PrimitiveGenerator.h
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/detail/PrimitiveGenerator.h
@@ -45,7 +45,7 @@ namespace armarx::aron::codegenerator::cpp::generator::detail
             std::string escaped_accessor = this->EscapeAccessor(cppAccessor);
             variantAccessor = Generator::ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-            block_if_data->addLine(variantAccessor + " = w.writePrimitive(" + resolved_accessor + "); // of " + cppAccessor);
+            block_if_data->addLine(variantAccessor + " = " + this->ARON_WRITER_ACCESSOR + ".writePrimitive(" + resolved_accessor + "); // of " + cppAccessor);
 
             return this->resolveMaybeWriteBlock(block_if_data, cppAccessor);
         }
@@ -56,7 +56,7 @@ namespace armarx::aron::codegenerator::cpp::generator::detail
             std::string resolved_accessor = this->resolveMaybeAccessor(cppAccessor);
             std::string escaped_accessor = this->EscapeAccessor(cppAccessor);
 
-            block_if_data->addLine("r.readPrimitive("+variantAccessor+", " + resolved_accessor + "); // of " + cppAccessor);
+            block_if_data->addLine("" + this->ARON_READER_ACCESSOR + ".readPrimitive("+variantAccessor+", " + resolved_accessor + "); // of " + cppAccessor);
             return this->resolveMaybeReadBlock(block_if_data, cppAccessor, variantAccessor);
         }
     };
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/enum/IntEnum.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/enum/IntEnum.cpp
index c8df7c659..ee638f0ab 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/enum/IntEnum.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/enum/IntEnum.cpp
@@ -62,7 +62,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string escaped_accessor = EscapeAccessor(cppAccessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-        b->addLine("auto "+variantAccessor+" = " +getCoreCppTypename() + "::writeType(w, " + conversion::Maybe2CppString.at(type.getMaybe()) + ");");
+        b->addLine("auto "+variantAccessor+" = " +getCoreCppTypename() + "::writeType(" + ARON_WRITER_ACCESSOR + ", " + conversion::Maybe2CppString.at(type.getMaybe()) + ");");
         return b;
     }
 
@@ -72,7 +72,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string escaped_accessor = EscapeAccessor(cppAccessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-        block_if_data->addLine(variantAccessor+" = " + cppAccessor + nextEl() + "write(w);");
+        block_if_data->addLine(variantAccessor+" = " + cppAccessor + nextEl() + "write(" + ARON_WRITER_ACCESSOR + ");");
 
         return resolveMaybeWriteBlock(block_if_data, cppAccessor);
     }
@@ -84,7 +84,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         {
             block_if_data->addLine(reset);
         }
-        block_if_data->addLine(cppAccessor + nextEl() + "read<T>(r, " + variantAccessor + ");");
+        block_if_data->addLine(cppAccessor + nextEl() + "read<T>(" + ARON_READER_ACCESSOR + ", " + variantAccessor + ");");
         return resolveMaybeReadBlock(block_if_data, cppAccessor, variantAccessor);
     }
 }
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Image.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Image.cpp
index 7d1226e52..d0d5043c2 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Image.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Image.cpp
@@ -29,7 +29,6 @@
 
 namespace armarx::aron::codegenerator::cpp::generator
 {
-
     const std::map<type::image::PixelType, std::pair<std::string, int>> Image::PixelType2Cpp =
     {
         { type::image::PixelType::rgb24,   {"CV_8UC3", 3}},
@@ -43,6 +42,7 @@ namespace armarx::aron::codegenerator::cpp::generator
     {
     }
 
+
     CppBlockPtr Image::getResetHardBlock(const std::string& cppAccessor) const
     {
         CppBlockPtr block_if_data = detail::NDArrayGenerator<type::Image, Image>::getResetHardBlock(cppAccessor);
@@ -50,6 +50,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         return this->resolveMaybeResetSoftBlock(block_if_data, cppAccessor);
     }
 
+
     CppBlockPtr Image::getResetSoftBlock(const std::string& cppAccessor) const
     {
         CppBlockPtr block_if_data = std::make_shared<CppBlock>();
@@ -64,7 +65,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string escaped_accessor = EscapeAccessor(cppAccessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-        b->addLine("auto " + variantAccessor + " = w.writeImage(" + conversion::PixelType2CppString.at(type.getPixelType()) + ", " + conversion::Maybe2CppString.at(type.getMaybe()) + ");  // of " + cppAccessor);
+        b->addLine("auto " + variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeImage(" + conversion::PixelType2CppString.at(type.getPixelType()) + ", " + conversion::Maybe2CppString.at(type.getMaybe()) + ");  // of " + cppAccessor);
         return b;
     }
 
@@ -77,7 +78,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         const std::string shape_vec = ARON_VARIABLE_PREFIX + "_" + escaped_accessor + "_imageShape";
         block_if_data->addLine("std::vector<int> " + shape_vec + "(" + cppAccessor + nextEl() + "size.p, " + cppAccessor + nextEl() + "size.p + " + cppAccessor + nextEl() + "dims);");
         block_if_data->addLine(shape_vec+".push_back(" + cppAccessor + nextEl() + "elemSize());");
-        block_if_data->addLine(variantAccessor + " = w.writeNDArray(" + shape_vec + ", std::to_string(" + cppAccessor + nextEl() + "type()), reinterpret_cast<const unsigned char*>(" + cppAccessor + nextEl() + "data)); // of " + cppAccessor);
+        block_if_data->addLine(variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeNDArray(" + shape_vec + ", std::to_string(" + cppAccessor + nextEl() + "type()), reinterpret_cast<const unsigned char*>(" + cppAccessor + nextEl() + "data)); // of " + cppAccessor);
         return resolveMaybeWriteBlock(block_if_data, cppAccessor);
     }
 
@@ -93,7 +94,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         block_if_data->addLine("std::string " + type + ";");
         block_if_data->addLine("std::vector<int> " + dims + ";");
         block_if_data->addLine("std::vector<unsigned char> " + data + ";");
-        block_if_data->addLine("r.readNDArray("+variantAccessor+", "+dims+", "+type+", "+data+"); // of " + cppAccessor);
+        block_if_data->addLine("" + ARON_READER_ACCESSOR + ".readNDArray("+variantAccessor+", "+dims+", "+type+", "+data+"); // of " + cppAccessor);
         block_if_data->addLine(cppAccessor + " = " + getCoreCppTypename() + "(std::vector<int>({" + dims + ".begin(), std::prev(" + dims + ".end())}), std::stoi(" + type + "));");
         block_if_data->addLine("std::memcpy(reinterpret_cast<unsigned char*>(" + cppAccessor + nextEl() + "data), "+data+".data(), "+data+".size());");
         return resolveMaybeReadBlock(block_if_data, cppAccessor, variantAccessor);
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Matrix.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Matrix.cpp
index 825bf8dc7..547522026 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Matrix.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Matrix.cpp
@@ -57,7 +57,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         CppBlockPtr b = std::make_shared<CppBlock>();
         std::string escaped_accessor = EscapeAccessor(cppAccessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
-        const std::string line_if_data = "auto " + variantAccessor + " = w.writeMatrix((int) " + std::to_string(type.getRows()) + ", (int) " + std::to_string(type.getCols()) + ", " + conversion::MatrixElementType2CppString.at(type.getElementType()) + ", " + conversion::Maybe2CppString.at(type.getMaybe()) + ")";
+        const std::string line_if_data = "auto " + variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeMatrix((int) " + std::to_string(type.getRows()) + ", (int) " + std::to_string(type.getCols()) + ", " + conversion::MatrixElementType2CppString.at(type.getElementType()) + ", " + conversion::Maybe2CppString.at(type.getMaybe()) + ")";
 
         b->addLine(line_if_data + "; // of " + cppAccessor);
         return b;
@@ -68,7 +68,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         CppBlockPtr block_if_data = std::make_shared<CppBlock>();
         std::string escaped_accessor = EscapeAccessor(cppAccessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
-        const std::string line_if_data = "w.writeNDArray({(int) " + cppAccessor + nextEl() + "rows(), (int) " + cppAccessor + nextEl() +
+        const std::string line_if_data = "" + ARON_WRITER_ACCESSOR + ".writeNDArray({(int) " + cppAccessor + nextEl() + "rows(), (int) " + cppAccessor + nextEl() +
                 "cols(), " + std::to_string(ElementType2Cpp.at(type.getElementType()).second) + "}, \"" +
                 ElementType2Cpp.at(type.getElementType()).first + "\", reinterpret_cast<const unsigned char*>(" + cppAccessor + nextEl() +
                 "data()));";
@@ -88,7 +88,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         block_if_data->addLine("std::string " + type + ";");
         block_if_data->addLine("std::vector<int> " + dims + ";");
         block_if_data->addLine("std::vector<unsigned char> " + data + ";");
-        block_if_data->addLine("r.readNDArray("+variantAccessor+", "+dims+", "+type+", "+data+"); // of " + cppAccessor);
+        block_if_data->addLine("" + ARON_READER_ACCESSOR + ".readNDArray("+variantAccessor+", "+dims+", "+type+", "+data+"); // of " + cppAccessor);
         block_if_data->addLine("std::memcpy(reinterpret_cast<unsigned char*>(" + cppAccessor + nextEl() + "data()), "+data+".data(), "+data+".size());");
         return resolveMaybeReadBlock(block_if_data, cppAccessor, variantAccessor);
     }
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Orientation.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Orientation.cpp
index 5390f7830..47f8a30c2 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Orientation.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Orientation.cpp
@@ -48,7 +48,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string escaped_accessor = EscapeAccessor(cppAccessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-        b->addLine("auto " + variantAccessor + " = w.writeOrientation(" + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + cppAccessor);
+        b->addLine("auto " + variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeOrientation(" + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + cppAccessor);
         return b;
     }
 
@@ -58,7 +58,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string escaped_accessor = EscapeAccessor(cppAccessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-        block_if_data->addLine(variantAccessor + " = w.writeNDArray({1, 4, 4}, \"float\", reinterpret_cast<const unsigned char*>(" + cppAccessor + nextEl() + "coeffs().data())); // of " + cppAccessor);
+        block_if_data->addLine(variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeNDArray({1, 4, 4}, \"float\", reinterpret_cast<const unsigned char*>(" + cppAccessor + nextEl() + "coeffs().data())); // of " + cppAccessor);
 
         return resolveMaybeWriteBlock(block_if_data, cppAccessor);
     }
@@ -74,7 +74,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         block_if_data->addLine("std::string " + type + ";");
         block_if_data->addLine("std::vector<int> " + dims + ";");
         block_if_data->addLine("std::vector<unsigned char> " + data + ";");
-        block_if_data->addLine("r.readNDArray("+variantAccessor+", "+dims+", "+type+", "+data+"); // of " + cppAccessor);
+        block_if_data->addLine("" + ARON_READER_ACCESSOR + ".readNDArray("+variantAccessor+", "+dims+", "+type+", "+data+"); // of " + cppAccessor);
         block_if_data->addLine("std::memcpy(reinterpret_cast<unsigned char*>(" + cppAccessor + nextEl() + "coeffs().data()), "+data+".data(), "+data+".size());");
         return resolveMaybeReadBlock(block_if_data, cppAccessor, variantAccessor);
     }
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/PointCloud.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/PointCloud.cpp
index 4ee8b76e5..c0fbed112 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/PointCloud.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/PointCloud.cpp
@@ -65,7 +65,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string escaped_accessor = EscapeAccessor(cppAccessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-        b->addLine("auto " + variantAccessor + " = w.writePointCloud(" + conversion::VoxelType2CppString.at(type.getVoxelType()) + ", " + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + cppAccessor);
+        b->addLine("auto " + variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writePointCloud(" + conversion::VoxelType2CppString.at(type.getVoxelType()) + ", " + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + cppAccessor);
         return b;
     }
 
@@ -75,7 +75,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string escaped_accessor = EscapeAccessor(cppAccessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-        block_if_data->addLine(variantAccessor + " = w.writeNDArray({" + cppAccessor + nextEl() + "width, " + cppAccessor + nextEl() + "height, " + std::to_string(VoxelType2Cpp.at(type.getVoxelType()).second) + "}, \"" + VoxelType2Cpp.at(type.getVoxelType()).first + "\", reinterpret_cast<const unsigned char*>(" + cppAccessor + nextEl() + "points.data())); // of " + cppAccessor);
+        block_if_data->addLine(variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeNDArray({" + cppAccessor + nextEl() + "width, " + cppAccessor + nextEl() + "height, " + std::to_string(VoxelType2Cpp.at(type.getVoxelType()).second) + "}, \"" + VoxelType2Cpp.at(type.getVoxelType()).first + "\", reinterpret_cast<const unsigned char*>(" + cppAccessor + nextEl() + "points.data())); // of " + cppAccessor);
 
         return resolveMaybeWriteBlock(block_if_data, cppAccessor);
     }
@@ -91,7 +91,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         block_if_data->addLine("std::string " + type + ";");
         block_if_data->addLine("std::vector<int> " + dims + ";");
         block_if_data->addLine("std::vector<unsigned char> " + data + ";");
-        block_if_data->addLine("r.readNDArray("+variantAccessor+", "+dims+", "+type+", "+data+"); // of " + cppAccessor);
+        block_if_data->addLine("" + ARON_READER_ACCESSOR + ".readNDArray("+variantAccessor+", "+dims+", "+type+", "+data+"); // of " + cppAccessor);
         block_if_data->addLine(cppAccessor + " = " + getCoreCppTypename() + "(" + dims + "[0], " + dims + "[1]);");
         block_if_data->addLine("std::memcpy(reinterpret_cast<unsigned char*>(" + cppAccessor + nextEl() + "points.data()), "+data+".data(), "+data+".size());");
         return resolveMaybeReadBlock(block_if_data, cppAccessor, variantAccessor);
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Pose.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Pose.cpp
index 21ecd910e..d7292d0e0 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Pose.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Pose.cpp
@@ -52,7 +52,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string escaped_accessor = EscapeAccessor(cppAccessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-        b->addLine("auto " + variantAccessor + " = w.writePose(" + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + cppAccessor);
+        b->addLine("auto " + variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writePose(" + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + cppAccessor);
         return b;
     }
 
@@ -62,7 +62,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string escaped_accessor = EscapeAccessor(cppAccessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-        block_if_data->addLine(variantAccessor + " = w.writeNDArray({4, 4, 4}, \"float\", reinterpret_cast<const unsigned char*>(" + cppAccessor + nextEl() + "data())); // of " + cppAccessor);
+        block_if_data->addLine(variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeNDArray({4, 4, 4}, \"float\", reinterpret_cast<const unsigned char*>(" + cppAccessor + nextEl() + "data())); // of " + cppAccessor);
 
         return resolveMaybeWriteBlock(block_if_data, cppAccessor);
     }
@@ -78,7 +78,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         block_if_data->addLine("std::string " + type + ";");
         block_if_data->addLine("std::vector<int> " + dims + ";");
         block_if_data->addLine("std::vector<unsigned char> " + data + ";");
-        block_if_data->addLine("r.readNDArray("+variantAccessor+", "+dims+", "+type+", "+data+"); // of " + cppAccessor);
+        block_if_data->addLine("" + ARON_READER_ACCESSOR + ".readNDArray("+variantAccessor+", "+dims+", "+type+", "+data+"); // of " + cppAccessor);
         block_if_data->addLine("std::memcpy(reinterpret_cast<unsigned char*>(" + cppAccessor + nextEl() + "data()), "+data+".data(), "+data+".size());");
         return resolveMaybeReadBlock(block_if_data, cppAccessor, variantAccessor);
     }
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Position.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Position.cpp
index 6724244b9..37c38e8af 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Position.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Position.cpp
@@ -52,7 +52,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string escaped_accessor = EscapeAccessor(cppAccessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-        b->addLine("auto " + variantAccessor + " = w.writePosition(" + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + cppAccessor);
+        b->addLine("auto " + variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writePosition(" + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + cppAccessor);
         return b;
     }
 
@@ -62,7 +62,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string escaped_accessor = EscapeAccessor(cppAccessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-        block_if_data->addLine(variantAccessor + " = w.writeNDArray({3, 1, 4}, \"float\", reinterpret_cast<const unsigned char*>(" + cppAccessor + nextEl() + "data())); // of " + cppAccessor);
+        block_if_data->addLine(variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeNDArray({3, 1, 4}, \"float\", reinterpret_cast<const unsigned char*>(" + cppAccessor + nextEl() + "data())); // of " + cppAccessor);
 
         return resolveMaybeWriteBlock(block_if_data, cppAccessor);
     }
@@ -78,7 +78,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         block_if_data->addLine("std::string " + type + ";");
         block_if_data->addLine("std::vector<int> " + dims + ";");
         block_if_data->addLine("std::vector<unsigned char> " + data + ";");
-        block_if_data->addLine("r.readNDArray("+variantAccessor+", "+dims+", "+type+", "+data+"); // of " + cppAccessor);
+        block_if_data->addLine("" + ARON_READER_ACCESSOR + ".readNDArray("+variantAccessor+", "+dims+", "+type+", "+data+"); // of " + cppAccessor);
         block_if_data->addLine("std::memcpy(reinterpret_cast<unsigned char*>(" + cppAccessor + nextEl() + "data()), "+data+".data(), "+data+".size());");
         return resolveMaybeReadBlock(block_if_data, cppAccessor, variantAccessor);
     }
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Quaternion.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Quaternion.cpp
index 6e945e304..3a207ab39 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Quaternion.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Quaternion.cpp
@@ -59,7 +59,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string escaped_accessor = EscapeAccessor(cppAccessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-        b->addLine("auto " + variantAccessor + " = w.writeQuaternion(" + conversion::QuaternionElementType2Cpp.at(type.getElementType()) + ", " + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + cppAccessor);
+        b->addLine("auto " + variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeQuaternion(" + conversion::QuaternionElementType2Cpp.at(type.getElementType()) + ", " + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + cppAccessor);
         return b;
     }
 
@@ -69,7 +69,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string escaped_accessor = EscapeAccessor(cppAccessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-        block_if_data->addLine(variantAccessor + " = w.writeNDArray({1, 4, " + std::to_string(ElementType2Cpp.at(type.getElementType()).second) + "}, \"" + ElementType2Cpp.at(type.getElementType()).first + "\", reinterpret_cast<const unsigned char*>(" + cppAccessor + nextEl() + "coeffs().data())); // of " + cppAccessor);
+        block_if_data->addLine(variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeNDArray({1, 4, " + std::to_string(ElementType2Cpp.at(type.getElementType()).second) + "}, \"" + ElementType2Cpp.at(type.getElementType()).first + "\", reinterpret_cast<const unsigned char*>(" + cppAccessor + nextEl() + "coeffs().data())); // of " + cppAccessor);
 
         return resolveMaybeWriteBlock(block_if_data, cppAccessor);
     }
@@ -85,7 +85,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         block_if_data->addLine("std::string " + type + ";");
         block_if_data->addLine("std::vector<int> " + dims + ";");
         block_if_data->addLine("std::vector<unsigned char> " + data + ";");
-        block_if_data->addLine("r.readNDArray("+variantAccessor+", "+dims+", "+type+", "+data+"); // of " + cppAccessor);
+        block_if_data->addLine("" + ARON_READER_ACCESSOR + ".readNDArray("+variantAccessor+", "+dims+", "+type+", "+data+"); // of " + cppAccessor);
         block_if_data->addLine("std::memcpy(reinterpret_cast<unsigned char*>(" + cppAccessor + nextEl() + "coeffs().data()), "+data+".data(), "+data+".size());");
         return resolveMaybeReadBlock(block_if_data, cppAccessor, variantAccessor);
     }
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Bool.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Bool.cpp
index f4e669faf..ccd49acd0 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Bool.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Bool.cpp
@@ -41,7 +41,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string escaped_accessor = EscapeAccessor(accessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-        b->addLine("auto " + variantAccessor + " = w.writeBool(" + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + accessor);
+        b->addLine("auto " + variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeBool(" + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + accessor);
         return b;
     }
 }
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Double.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Double.cpp
index efc7fce95..72f7a79c1 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Double.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Double.cpp
@@ -45,7 +45,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string escaped_accessor = EscapeAccessor(accessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-        b->addLine("auto " + variantAccessor + " = w.writeDouble(" + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + accessor);
+        b->addLine("auto " + variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeDouble(" + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + accessor);
         return b;
     }
 }
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Float.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Float.cpp
index c82c4ec16..7b7667321 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Float.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Float.cpp
@@ -45,7 +45,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string escaped_accessor = EscapeAccessor(accessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-        b->addLine("auto " + variantAccessor + " = w.writeFloat(" + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + accessor);
+        b->addLine("auto " + variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeFloat(" + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + accessor);
         return b;
     }
 }
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Int.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Int.cpp
index 0b7409bd3..4688a18cc 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Int.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Int.cpp
@@ -45,7 +45,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string escaped_accessor = EscapeAccessor(accessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-        b->addLine("auto " + variantAccessor + " = w.writeInt(" + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + accessor);
+        b->addLine("auto " + variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeInt(" + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + accessor);
         return b;
     }
 }
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Long.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Long.cpp
index 78e2e24fd..a2463ffa6 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Long.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Long.cpp
@@ -45,7 +45,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string escaped_accessor = EscapeAccessor(accessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-        b->addLine("auto " + variantAccessor + " = w.writeLong(" + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + accessor);
+        b->addLine("auto " + variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeLong(" + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + accessor);
         return b;
     }
 }
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/String.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/String.cpp
index c656875f3..75e3314fa 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/String.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/String.cpp
@@ -45,7 +45,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string escaped_accessor = EscapeAccessor(accessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-        b->addLine("auto " + variantAccessor + " = w.writeString(" + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + accessor);
+        b->addLine("auto " + variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeString(" + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + accessor);
         return b;
     }
 }
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Time.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Time.cpp
index 37601a62d..befc258ee 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Time.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/primitive/Time.cpp
@@ -45,7 +45,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string escaped_accessor = EscapeAccessor(accessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-        b->addLine("auto " + variantAccessor + " = w.writeTime(" + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + accessor);
+        b->addLine("auto " + variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writeTime(" + conversion::Maybe2CppString.at(type.getMaybe()) + "); // of " + accessor);
         return b;
     }
 
@@ -55,7 +55,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string escaped_accessor = EscapeAccessor(cppAccessor);
         variantAccessor = ARON_VARIANT_RETURN_ACCESSOR + "_" + escaped_accessor;
 
-        block_if_data->addLine(variantAccessor + " = w.writePrimitive(" + cppAccessor + nextEl() + "toMicroSeconds()); // of " + cppAccessor);
+        block_if_data->addLine(variantAccessor + " = " + ARON_WRITER_ACCESSOR + ".writePrimitive(" + cppAccessor + nextEl() + "toMicroSeconds()); // of " + cppAccessor);
 
         return resolveMaybeWriteBlock(block_if_data, cppAccessor);
     }
@@ -68,7 +68,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         std::string tmp = ARON_VARIABLE_PREFIX + "_" + escaped_accessor + "_timeTmp";
 
         block_if_data->addLine("long " + tmp + ";");
-        block_if_data->addLine("r.readPrimitive("+variantAccessor+", " + tmp + "); // of " + cppAccessor);
+        block_if_data->addLine("" + ARON_READER_ACCESSOR + ".readPrimitive("+variantAccessor+", " + tmp + "); // of " + cppAccessor);
         block_if_data->addLine(resolved_accessor + " = IceUtil::Time::microSeconds(" + tmp + ");");
         return resolveMaybeReadBlock(block_if_data, cppAccessor, cppAccessor);
     }
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/toplevel/IntEnumClass.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/toplevel/IntEnumClass.cpp
index f7f8d836f..7c2bfead4 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/toplevel/IntEnumClass.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/toplevel/IntEnumClass.cpp
@@ -104,7 +104,7 @@ namespace armarx::aron::codegenerator::cpp::generator
 
         b->addLine("//TODO: ");
         b->addLine("std::map<std::string, int> " + INT_ENUM_VALUE_MAP + ";");
-        b->addLine("return w.writeIntEnum(\"" + type.getEnumName() + "\", "+INT_ENUM_VALUE_MAP+", "+ ARON_MAYBE_TYPE_ACCESSOR + ");");
+        b->addLine("return " + ARON_WRITER_ACCESSOR + ".writeIntEnum(\"" + type.getEnumName() + "\", "+INT_ENUM_VALUE_MAP+", "+ ARON_MAYBE_TYPE_ACCESSOR + ");");
         return b;
 
         return b;
@@ -113,7 +113,7 @@ namespace armarx::aron::codegenerator::cpp::generator
     CppBlockPtr IntEnumClass::getWriteBlock(const std::string&, std::string&) const
     {
         CppBlockPtr block_if_data = std::make_shared<CppBlock>();
-        block_if_data->addLine("return w.writePrimitive(EnumToValueMap.at(value)); // of top level enum " + getCoreCppTypename());
+        block_if_data->addLine("return " + ARON_WRITER_ACCESSOR + ".writePrimitive(EnumToValueMap.at(value)); // of top level enum " + getCoreCppTypename());
         return block_if_data;
     }
 
@@ -123,7 +123,7 @@ namespace armarx::aron::codegenerator::cpp::generator
 
         CppBlockPtr block_if_data = std::make_shared<CppBlock>();
         block_if_data->addLine("int " + INT_ENUM_TMP_VALUE + ";");
-        block_if_data->addLine("r.readPrimitive("+variantAccessor+", "+INT_ENUM_TMP_VALUE+"); // of top level enum " + getCoreCppTypename());
+        block_if_data->addLine("" + ARON_READER_ACCESSOR + ".readPrimitive("+variantAccessor+", "+INT_ENUM_TMP_VALUE+"); // of top level enum " + getCoreCppTypename());
         block_if_data->addLine("value = ValueToEnumMap.at("+INT_ENUM_TMP_VALUE+");");
         return block_if_data;
     }
diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/toplevel/ObjectClass.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/toplevel/ObjectClass.cpp
index c99e7ef91..e46d4272f 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/toplevel/ObjectClass.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/toplevel/ObjectClass.cpp
@@ -99,7 +99,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         {
             const auto extends_s = FromAronType(*type.getExtends());
             b->addLine("// get base class of " + this->getFullCppTypename());
-            b->addLine("auto " + OBJECT_EXTENDS_ACCESSOR + " = " + extends_s->getFullCppTypename() + "::writeType(w, ::armarx::aron::type::Maybe::eNone);");
+            b->addLine("auto " + OBJECT_EXTENDS_ACCESSOR + " = " + extends_s->getFullCppTypename() + "::writeType(" + ARON_WRITER_ACCESSOR + ", ::armarx::aron::type::Maybe::eNone);");
         }
 
         b->addLine("// members of " + this->getFullCppTypename());
@@ -114,11 +114,11 @@ namespace armarx::aron::codegenerator::cpp::generator
 
         if (type.getExtends() != nullptr)
         {
-            b->addLine("return w.writeObject(\"" + type.getObjectName() + "\", "+ARON_MAYBE_TYPE_ACCESSOR+", " + OBJECT_MEMBERS_ACCESSOR + ", " + OBJECT_EXTENDS_ACCESSOR + ");");
+            b->addLine("return " + ARON_WRITER_ACCESSOR + ".writeObject(\"" + type.getObjectName() + "\", "+ARON_MAYBE_TYPE_ACCESSOR+", " + OBJECT_MEMBERS_ACCESSOR + ", " + OBJECT_EXTENDS_ACCESSOR + ");");
         }
         else
         {
-            b->addLine("return w.writeObject(\"" + type.getObjectName() + "\", "+ARON_MAYBE_TYPE_ACCESSOR+", " + OBJECT_MEMBERS_ACCESSOR + ", std::nullopt);");
+            b->addLine("return " + ARON_WRITER_ACCESSOR + ".writeObject(\"" + type.getObjectName() + "\", "+ARON_MAYBE_TYPE_ACCESSOR+", " + OBJECT_MEMBERS_ACCESSOR + ", std::nullopt);");
         }
 
         return b;
@@ -138,7 +138,7 @@ namespace armarx::aron::codegenerator::cpp::generator
         {
             const auto extends_s = FromAronType(*type.getExtends());
             block_if_data->addLine("// write base class of " + this->getFullCppTypename());
-            block_if_data->addLine(OBJECT_EXTENDS_ACCESSOR + " = " + extends_s->getFullCppTypename() + "::write(w);");
+            block_if_data->addLine(OBJECT_EXTENDS_ACCESSOR + " = " + extends_s->getFullCppTypename() + "::write(" + ARON_WRITER_ACCESSOR + ");");
         }
 
         block_if_data->addLine("// members of " + this->getFullCppTypename());
@@ -147,12 +147,12 @@ namespace armarx::aron::codegenerator::cpp::generator
             const auto child_s = FromAronType(*child);
             std::string child_return_variant;
             CppBlockPtr child_b = child_s->getWriteBlock(key, child_return_variant);
-            block_if_data->addLine("auto " + child_return_variant + " = w.writeNull();");
+            block_if_data->addLine("auto " + child_return_variant + " = " + ARON_WRITER_ACCESSOR + ".writeNull();");
             block_if_data->appendBlock(child_b);
             block_if_data->addLine(OBJECT_MEMBERS_ACCESSOR + ".emplace(\"" + key + "\", " + child_return_variant + ");");
         }
 
-        block_if_data->addLine("return w.writeDict("+OBJECT_MEMBERS_ACCESSOR+", " + OBJECT_EXTENDS_ACCESSOR + "); // of top level object " + getCoreCppTypename());
+        block_if_data->addLine("return " + ARON_WRITER_ACCESSOR + ".writeDict("+OBJECT_MEMBERS_ACCESSOR+", " + OBJECT_EXTENDS_ACCESSOR + "); // of top level object " + getCoreCppTypename());
         return block_if_data;
     }
 
@@ -167,10 +167,10 @@ namespace armarx::aron::codegenerator::cpp::generator
         if (type.getExtends() != nullptr)
         {
             const auto extends_s = FromAronType(*type.getExtends());
-            block_if_data->addLine(extends_s->getFullCppTypename() + "::read(r, "+variantAccessor+");");
+            block_if_data->addLine(extends_s->getFullCppTypename() + "::read(" + ARON_READER_ACCESSOR + ", "+variantAccessor+");");
         }
 
-        block_if_data->addLine("r.readDict("+variantAccessor+", "+OBJECT_MEMBERS_ACCESSOR+"); // of top level object " + getCoreCppTypename());
+        block_if_data->addLine("" + ARON_READER_ACCESSOR + ".readDict("+variantAccessor+", "+OBJECT_MEMBERS_ACCESSOR+"); // of top level object " + getCoreCppTypename());
 
         for (const auto& [key, child] : type.getMemberTypes())
         {
-- 
GitLab