diff --git a/source/RobotAPI/libraries/armem/core/base/CoreSegmentBase.h b/source/RobotAPI/libraries/armem/core/base/CoreSegmentBase.h index feffe7c5f1227741135fef15350ef8a3910d57b7..03e3835fad49a951ded49f990358ff3b87c06ce4 100644 --- a/source/RobotAPI/libraries/armem/core/base/CoreSegmentBase.h +++ b/source/RobotAPI/libraries/armem/core/base/CoreSegmentBase.h @@ -116,13 +116,13 @@ namespace armarx::armem::base } using Base::getEntity; - const EntityT& getEntity(const MemoryID& id) const override + const EntityT& getEntity(const MemoryID& id) const { this->_checkContainerName(id.coreSegmentName, this->getKeyString()); return getProviderSegment(id.providerSegmentName).getEntity(id); } - const EntityT* findEntity(const MemoryID& id) const override + const EntityT* findEntity(const MemoryID& id) const { this->_checkContainerName(id.coreSegmentName, this->getKeyString()); if (id.hasProviderSegmentName()) @@ -186,7 +186,7 @@ namespace armarx::armem::base * * Missing entity entries are added before updating. */ - virtual UpdateResult update(const EntityUpdate& update) + UpdateResult update(const EntityUpdate& update) { this->_checkContainerName(update.entityID.coreSegmentName, this->name()); @@ -233,7 +233,7 @@ namespace armarx::armem::base void append(const _Derived& m) { - ARMARX_INFO << "CoreSegment: Merge name '" << m.name() << "' into '" << name() << "'"; + // ARMARX_INFO << "CoreSegment: Merge name '" << m.name() << "' into '" << name() << "'"; m.forEachProviderSegment([this](const ProviderSegmentT & provSeg) { @@ -271,7 +271,7 @@ namespace armarx::armem::base if (hasProviderSegment(providerSegment.name())) { throw armem::error::ContainerEntryAlreadyExists( - providerSegment.getLevelName(), providerSegment.name(), getLevelName(), this->getKeyString()); + ProviderSegmentT::getLevelName(), providerSegment.name(), getLevelName(), this->getKeyString()); } auto it = this->_container.emplace(providerSegment.name(), std::move(providerSegment)).first; @@ -286,19 +286,20 @@ namespace armarx::armem::base * This affects all current entities as well as new ones. * @see Entity::setMaxHistorySize() */ - void setMaxHistorySize(long maxSize) override + void setMaxHistorySize(long maxSize) { MaxHistorySize::setMaxHistorySize(maxSize); - for (auto& [name, seg] : this->_container) + this->forEachChild([maxSize](auto & child) { - seg.setMaxHistorySize(maxSize); - } + child.setMaxHistorySize(maxSize); + return true; + }); } // MISC - virtual bool equalsDeep(const CoreSegmentBase& other) const + bool equalsDeep(const DerivedT& other) const { //std::cout << "CoreSegment::equalsDeep" << std::endl; if (this->size() != other.size()) @@ -319,7 +320,7 @@ namespace armarx::armem::base return true; } - std::string getLevelName() const + static std::string getLevelName() { return "core segment"; } diff --git a/source/RobotAPI/libraries/armem/core/base/EntityBase.h b/source/RobotAPI/libraries/armem/core/base/EntityBase.h index b480d09c03b7f262691f5a829539780979722693..1a02d65c7f5e79c26cb087fcf70c26387863f312 100644 --- a/source/RobotAPI/libraries/armem/core/base/EntityBase.h +++ b/source/RobotAPI/libraries/armem/core/base/EntityBase.h @@ -105,7 +105,7 @@ namespace armarx::armem::base { return const_cast<const EntityBase*>(this)->hasSnapshot(time); } - virtual bool hasSnapshot(const Time& time) const + bool hasSnapshot(const Time& time) const { return this->_container.count(time) > 0; } @@ -127,7 +127,7 @@ namespace armarx::armem::base /** * @brief Get all timestamps in the history. */ - virtual std::vector<Time> getTimestamps() const + std::vector<Time> getTimestamps() const { return simox::alg::get_keys(this->_container); } @@ -145,7 +145,7 @@ namespace armarx::armem::base return const_cast<EntitySnapshotT&>(const_cast<const EntityBase*>(this)->getSnapshot(time)); } - virtual const EntitySnapshotT& getSnapshot(const Time& time) const + const EntitySnapshotT& getSnapshot(const Time& time) const { auto it = this->_container.find(time); if (it != this->_container.end()) @@ -480,7 +480,7 @@ namespace armarx::armem::base * * The current history is truncated if necessary. */ - void setMaxHistorySize(long maxSize) override + void setMaxHistorySize(long maxSize) { MaxHistorySize::setMaxHistorySize(maxSize); truncate(); @@ -489,7 +489,7 @@ namespace armarx::armem::base // MISC - bool equalsDeep(const EntityBase& other) const + bool equalsDeep(const DerivedT& other) const { //std::cout << "Entity::equalsDeep" << std::endl; if (this->size() != other.size()) @@ -514,7 +514,7 @@ namespace armarx::armem::base { return this->id().entityName; } - std::string getLevelName() const + static std::string getLevelName() { return "entity"; } @@ -543,7 +543,6 @@ namespace armarx::armem::base * @return The latest snapshot. * @throw `armem::error::EntityHistoryEmpty` If the history is empty. */ - virtual const typename ContainerT::value_type& getLatestItem() const { @@ -559,7 +558,6 @@ namespace armarx::armem::base * @return The first snapshot. * @throw `armem::error::EntityHistoryEmpty` If the history is empty. */ - virtual const typename ContainerT::value_type& getFirstItem() const { diff --git a/source/RobotAPI/libraries/armem/core/base/EntitySnapshotBase.h b/source/RobotAPI/libraries/armem/core/base/EntitySnapshotBase.h index 288da3947b6b2c502c8371d2bc62dff196cb7ac1..36d7274acedb92271587e3ba941345254033d840 100644 --- a/source/RobotAPI/libraries/armem/core/base/EntitySnapshotBase.h +++ b/source/RobotAPI/libraries/armem/core/base/EntitySnapshotBase.h @@ -1,6 +1,5 @@ #pragma once -#include <memory> #include <vector> #include "../MemoryID.h" @@ -219,7 +218,7 @@ namespace armarx::armem::base // MISC - bool equalsDeep(const EntitySnapshotBase& other) const + bool equalsDeep(const DerivedT& other) const { //std::cout << "EntitySnapshot::equalsDeep" << std::endl; if (this->size() != other.size()) @@ -244,7 +243,7 @@ namespace armarx::armem::base return toDateTimeMilliSeconds(this->time()); } - std::string getLevelName() const + static std::string getLevelName() { return "entity snapshot"; } diff --git a/source/RobotAPI/libraries/armem/core/base/MemoryBase.h b/source/RobotAPI/libraries/armem/core/base/MemoryBase.h index 6b7b006cc4aa3a97c9e555045478afabb1780cc4..a02beda13e3859386a9eed7c3722c987386cd7e7 100644 --- a/source/RobotAPI/libraries/armem/core/base/MemoryBase.h +++ b/source/RobotAPI/libraries/armem/core/base/MemoryBase.h @@ -138,13 +138,13 @@ namespace armarx::armem::base using Base::getEntity; - const EntityT& getEntity(const MemoryID& id) const override + const EntityT& getEntity(const MemoryID& id) const { this->_checkContainerName(id.memoryName, this->name()); return getCoreSegment(id.coreSegmentName).getEntity(id); } - const EntityT* findEntity(const MemoryID& id) const override + const EntityT* findEntity(const MemoryID& id) const { this->_checkContainerName(id.memoryName, this->name()); if (id.hasCoreSegmentName()) @@ -224,7 +224,7 @@ namespace armarx::armem::base { if (this->_container.count(coreSegment.name()) > 0) { - throw armem::error::ContainerEntryAlreadyExists(coreSegment.getLevelName(), coreSegment.name(), + throw armem::error::ContainerEntryAlreadyExists(CoreSegmentT::getLevelName(), coreSegment.name(), this->getLevelName(), this->name()); } auto it = this->_container.emplace(coreSegment.name(), std::move(coreSegment)).first; @@ -260,7 +260,7 @@ namespace armarx::armem::base * @param commit The commit. * @return The resulting memory IDs. */ - virtual std::vector<UpdateResult> update(const Commit& commit) + std::vector<UpdateResult> update(const Commit& commit) { std::vector<UpdateResult> results; for (const EntityUpdate& update : commit.updates) @@ -275,7 +275,7 @@ namespace armarx::armem::base * @param update The update. * @return The resulting entity snapshot's ID. */ - virtual UpdateResult update(const EntityUpdate& update) + UpdateResult update(const EntityUpdate& update) { this->_checkContainerName(update.entityID.memoryName, this->name()); @@ -339,7 +339,7 @@ namespace armarx::armem::base }); } - virtual bool equalsDeep(const MemoryBase& other) const + bool equalsDeep(const MemoryBase& other) const { //std::cout << "Memory::equalsDeep" << std::endl; if (this->size() != other.size()) @@ -360,7 +360,7 @@ namespace armarx::armem::base return true; } - std::string getLevelName() const + static std::string getLevelName() { return "memory"; } diff --git a/source/RobotAPI/libraries/armem/core/base/ProviderSegmentBase.h b/source/RobotAPI/libraries/armem/core/base/ProviderSegmentBase.h index af94a5da164223593a27776b031fa92eda3a6c36..0c54ae2b202cf485bcb0cdf52ac53622475c917b 100644 --- a/source/RobotAPI/libraries/armem/core/base/ProviderSegmentBase.h +++ b/source/RobotAPI/libraries/armem/core/base/ProviderSegmentBase.h @@ -94,7 +94,7 @@ namespace armarx::armem::base } using Base::getEntity; - const EntityT& getEntity(const MemoryID& id) const override + const EntityT& getEntity(const MemoryID& id) const { this->_checkContainerName(id.providerSegmentName, this->getKeyString()); return getEntity(id.entityName); @@ -118,7 +118,7 @@ namespace armarx::armem::base } } - const EntityT* findEntity(const MemoryID& id) const override + const EntityT* findEntity(const MemoryID& id) const { this->_checkContainerName(id.providerSegmentName, this->getKeyString()); auto it = this->_container.find(id.entityName); @@ -205,7 +205,7 @@ namespace armarx::armem::base void append(const _Derived& m) { - ARMARX_INFO << "ProviderSegment: Merge name '" << m.name() << "' into '" << name() << "'"; + // ARMARX_INFO << "ProviderSegment: Merge name '" << m.name() << "' into '" << name() << "'"; m.forEachEntity([this](const EntityT & entity) { @@ -243,19 +243,20 @@ namespace armarx::armem::base * This affects all current container as well as new ones. * @see Entity::setMaxHistorySize() */ - void setMaxHistorySize(long maxSize) override + void setMaxHistorySize(long maxSize) { MaxHistorySize::setMaxHistorySize(maxSize); - for (auto& [name, entity] : this->_container) + this->forEachChild([maxSize](auto & child) { - entity.setMaxHistorySize(maxSize); - } + child.setMaxHistorySize(maxSize); + return true; + }); } // MISC - virtual bool equalsDeep(const ProviderSegmentBase& other) const + bool equalsDeep(const DerivedT& other) const { //std::cout << "ProviderSegment::equalsDeep" << std::endl; if (this->size() != other.size()) @@ -278,7 +279,7 @@ namespace armarx::armem::base } - std::string getLevelName() const + static std::string getLevelName() { return "provider segment"; } diff --git a/source/RobotAPI/libraries/armem/core/base/detail/AronTyped.cpp b/source/RobotAPI/libraries/armem/core/base/detail/AronTyped.cpp index ec7ca0402ad128dc6d342aa28279929c376df557..48147758528cb5ac46baa8a952272ee831ed1e01 100644 --- a/source/RobotAPI/libraries/armem/core/base/detail/AronTyped.cpp +++ b/source/RobotAPI/libraries/armem/core/base/detail/AronTyped.cpp @@ -1,5 +1,8 @@ #include "AronTyped.h" +#include <RobotAPI/libraries/aron/core/navigator/type/container/Object.h> + + namespace armarx::armem::base::detail { diff --git a/source/RobotAPI/libraries/armem/core/base/detail/AronTyped.h b/source/RobotAPI/libraries/armem/core/base/detail/AronTyped.h index 37c0e13aa486a8fca645359e1c4e07b189c6c28d..16233556c83f8febb732824a7001c9b2e8d1e2ac 100644 --- a/source/RobotAPI/libraries/armem/core/base/detail/AronTyped.h +++ b/source/RobotAPI/libraries/armem/core/base/detail/AronTyped.h @@ -1,6 +1,6 @@ #pragma once -#include <RobotAPI/libraries/aron/core/navigator/type/container/Object.h> +#include <RobotAPI/libraries/aron/core/navigator/type/forward_declarations.h> namespace armarx::armem::base::detail diff --git a/source/RobotAPI/libraries/armem/core/base/detail/EntityContainerBase.h b/source/RobotAPI/libraries/armem/core/base/detail/EntityContainerBase.h index 96d1512df5535a8dd8798d6992f37b3fa69946d5..53cddfff656cdf0fb000323afc4aefcc18c2f50f 100644 --- a/source/RobotAPI/libraries/armem/core/base/detail/EntityContainerBase.h +++ b/source/RobotAPI/libraries/armem/core/base/detail/EntityContainerBase.h @@ -44,11 +44,11 @@ namespace armarx::armem::base::detail * @return The entity. * @throw An exception deriving from `armem::error::ArMemError` if the entity is missing. */ + // const EntityT& getEntity(const MemoryID& id) const; EntityT& getEntity(const MemoryID& id) { - return const_cast<EntityT&>(const_cast<const EntityContainerBase*>(this)->getEntity(id)); + return const_cast<EntityT&>(const_cast<const EntityContainerBase*>(this)->_derived().getEntity(id)); } - virtual const EntityT& getEntity(const MemoryID& id) const = 0; /** * @brief Find an entity. @@ -62,7 +62,11 @@ namespace armarx::armem::base::detail * @param id The entities ID. * @return A pointer to the first matching entity or `nullptr` if none was found. */ - virtual const EntityT* findEntity(const MemoryID& id) const = 0; + // const EntityT* findEntity(const MemoryID& id) const; + EntityT* findEntity(const MemoryID& id) + { + return const_cast<EntityT*>(const_cast<const EntityContainerBase*>(this)->_derived().findEntity(id)); + } /** @@ -76,12 +80,12 @@ namespace armarx::armem::base::detail */ EntitySnapshotT& getEntitySnapshot(const MemoryID& id) { - return const_cast<EntitySnapshotT&>(const_cast<const EntityContainerBase*>(this)->getEntitySnapshot(id)); + return const_cast<EntitySnapshotT&>(const_cast<const EntityContainerBase*>(this)->_derived().getEntitySnapshot(id)); } const EntitySnapshotT& getEntitySnapshot(const MemoryID& id) const { - const EntityT& entity = getEntity(id); + const EntityT& entity = _derived().getEntity(id); if (id.hasTimestamp()) { @@ -102,6 +106,19 @@ namespace armarx::armem::base::detail { return getEntitySnapshot(id).getInstance(id); } + + + private: + + DerivedT& _derived() + { + return static_cast<DerivedT&>(*this); + } + const DerivedT& _derived() const + { + return static_cast<const DerivedT&>(*this); + } + }; } diff --git a/source/RobotAPI/libraries/armem/core/base/detail/MaxHistorySize.cpp b/source/RobotAPI/libraries/armem/core/base/detail/MaxHistorySize.cpp index 2c3b0554c65523826db0a7709599ed8e5140e0a1..f1a308f0764a8cb8067f3403ef5427d904fa93dc 100644 --- a/source/RobotAPI/libraries/armem/core/base/detail/MaxHistorySize.cpp +++ b/source/RobotAPI/libraries/armem/core/base/detail/MaxHistorySize.cpp @@ -3,10 +3,6 @@ namespace armarx::armem::base::detail { - MaxHistorySize::~MaxHistorySize() - { - } - void MaxHistorySize::setMaxHistorySize(long maxSize) { this->_maxHistorySize = maxSize; diff --git a/source/RobotAPI/libraries/armem/core/base/detail/MaxHistorySize.h b/source/RobotAPI/libraries/armem/core/base/detail/MaxHistorySize.h index 1fc07ed85e54716d24d2447fa17cb95b291f2766..c46fde11fb83d4580863aaf70aaafab4ba7f60e6 100644 --- a/source/RobotAPI/libraries/armem/core/base/detail/MaxHistorySize.h +++ b/source/RobotAPI/libraries/armem/core/base/detail/MaxHistorySize.h @@ -9,15 +9,13 @@ namespace armarx::armem::base::detail { public: - virtual ~MaxHistorySize(); - /** * @brief Sets the maximum history size of entities in this segment. * This affects all current entities as well as new ones. * @see Entity::setMaxHistorySize() */ - virtual void setMaxHistorySize(long maxSize); - virtual long getMaxHistorySize() const; + void setMaxHistorySize(long maxSize); + long getMaxHistorySize() const; protected: diff --git a/source/RobotAPI/libraries/armem/core/base/detail/MemoryContainerBase.h b/source/RobotAPI/libraries/armem/core/base/detail/MemoryContainerBase.h index 9c5a03f347494b1c834f8ecd3defcd1109222327..4d7cbec1877176f511e854eeefa60a9d6159aded 100644 --- a/source/RobotAPI/libraries/armem/core/base/detail/MemoryContainerBase.h +++ b/source/RobotAPI/libraries/armem/core/base/detail/MemoryContainerBase.h @@ -118,7 +118,7 @@ namespace armarx::armem::base::detail if (!((emptyOk && gottenName.empty()) || gottenName == actualName)) { throw armem::error::ContainerNameMismatch( - gottenName, static_cast<DerivedT const*>(this)->getLevelName(), actualName); + gottenName, DerivedT::getLevelName(), actualName); } } diff --git a/source/RobotAPI/libraries/armem/core/diskmemory/EntityInstance.h b/source/RobotAPI/libraries/armem/core/diskmemory/EntityInstance.h index f8c14159eb488b5e80e25e868b2f9d700cb3572f..c27f49951e8d672590a961c05c8713290a31db52 100644 --- a/source/RobotAPI/libraries/armem/core/diskmemory/EntityInstance.h +++ b/source/RobotAPI/libraries/armem/core/diskmemory/EntityInstance.h @@ -14,9 +14,9 @@ namespace armarx::armem::d_ltm * @brief Data of a single entity instance. */ class EntityInstance : - public base::EntityInstanceBase<EntityInstance> + public base::EntityInstanceBase<base::NoData, base::NoData> { - using Base = base::EntityInstanceBase<EntityInstance>; + using Base = base::EntityInstanceBase<base::NoData, base::NoData>; public: @@ -33,9 +33,9 @@ namespace armarx::armem::d_ltm * @param update The update. * @param index The instances index. */ - virtual void update(const EntityUpdate& update) override; + void update(const EntityUpdate& update); - virtual bool equalsDeep(const EntityInstance& other) const override; + bool equalsDeep(const EntityInstance& other) const; // Conversion diff --git a/source/RobotAPI/libraries/armem/core/error/ArMemError.h b/source/RobotAPI/libraries/armem/core/error/ArMemError.h index e6843d13be5bc07e71d90b00cf6a911ca717e524..219d489fad038da1098d724bddd9e2bc74b0a5d7 100644 --- a/source/RobotAPI/libraries/armem/core/error/ArMemError.h +++ b/source/RobotAPI/libraries/armem/core/error/ArMemError.h @@ -84,8 +84,8 @@ namespace armarx::armem::error template <class MissingT, class ContainerT> static MissingEntry create(const std::string& missingKey, const ContainerT& container) { - return MissingEntry(MissingT().getLevelName(), missingKey, - container.getLevelName(), container.getKeyString(), container.size()); + return MissingEntry(MissingT::getLevelName(), missingKey, + ContainerT::getLevelName(), container.getKeyString(), container.size()); } diff --git a/source/RobotAPI/libraries/armem/core/longtermmemory/Entity.h b/source/RobotAPI/libraries/armem/core/longtermmemory/Entity.h index c17e10208aa3bcf8fe97fe43c58d67c5de34770b..c564e60b6471b02c32e08ab366a8047e5b6c9d3c 100644 --- a/source/RobotAPI/libraries/armem/core/longtermmemory/Entity.h +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/Entity.h @@ -51,15 +51,15 @@ namespace armarx::armem::ltm void reload(); void append(const wm::Entity&); - // virtual overrides for LTM lookups - virtual bool hasSnapshot(const Time& time) const override; - virtual std::vector<Time> getTimestamps() const override; - virtual const EntitySnapshot& getSnapshot(const Time& time) const override; + // overrides for LTM lookups + bool hasSnapshot(const Time& time) const; + std::vector<Time> getTimestamps() const; + const EntitySnapshot& getSnapshot(const Time& time) const; protected: - // virtual overrides for LTM storage - virtual const ContainerT::value_type& getLatestItem() const override; + // overrides for LTM storage + const ContainerT::value_type& getLatestItem() const; public: MongoDBConnectionManager::MongoDBSettings dbsettings; diff --git a/source/RobotAPI/libraries/armem/core/longtermmemory/EntityInstance.h b/source/RobotAPI/libraries/armem/core/longtermmemory/EntityInstance.h index 5fa23431ba399a1850158496415a8bd21d4eab6a..c8d28b8e59136f04f38cb6795b5d06f2bfbf104a 100644 --- a/source/RobotAPI/libraries/armem/core/longtermmemory/EntityInstance.h +++ b/source/RobotAPI/libraries/armem/core/longtermmemory/EntityInstance.h @@ -62,11 +62,9 @@ namespace armarx::armem::ltm * @param update The update. * @param index The instances index. */ - virtual void update(const EntityUpdate& update) override; - - virtual bool equalsDeep(const EntityInstance& other) const override; - + void update(const EntityUpdate& update); + bool equalsDeep(const EntityInstance& other) const; private: /// The metadata. diff --git a/source/RobotAPI/libraries/armem/core/workingmemory/CoreSegment.cpp b/source/RobotAPI/libraries/armem/core/workingmemory/CoreSegment.cpp index 7a3ef7efe1d9b7b980331c42d7254a4fd69a2a66..9e87538e0ed513ccab7feaa34592869b7fc694b1 100644 --- a/source/RobotAPI/libraries/armem/core/workingmemory/CoreSegment.cpp +++ b/source/RobotAPI/libraries/armem/core/workingmemory/CoreSegment.cpp @@ -39,11 +39,6 @@ namespace armarx::armem::wm } - CoreSegment::~CoreSegment() - { - } - - Commit CoreSegment::toCommit() const { Commit c; diff --git a/source/RobotAPI/libraries/armem/core/workingmemory/CoreSegment.h b/source/RobotAPI/libraries/armem/core/workingmemory/CoreSegment.h index 7dff9a9ad1afa3bf819ef943e0c18179b56f80e0..341c065a01ea6daa52ced48b5fff6363bc7793d0 100644 --- a/source/RobotAPI/libraries/armem/core/workingmemory/CoreSegment.h +++ b/source/RobotAPI/libraries/armem/core/workingmemory/CoreSegment.h @@ -22,7 +22,6 @@ namespace armarx::armem::wm public: using Base::CoreSegmentBase; - virtual ~CoreSegment() override; CoreSegment(const CoreSegment& other); CoreSegment(CoreSegment&& other); diff --git a/source/RobotAPI/libraries/armem/core/workingmemory/ice_conversions.cpp b/source/RobotAPI/libraries/armem/core/workingmemory/ice_conversions.cpp index 3150feff1c779e463d9d9c6ff16939419b7b4c00..58db49b16deda95182a9307d8866b3d9f2326b40 100644 --- a/source/RobotAPI/libraries/armem/core/workingmemory/ice_conversions.cpp +++ b/source/RobotAPI/libraries/armem/core/workingmemory/ice_conversions.cpp @@ -1,6 +1,7 @@ #include "ice_conversions.h" #include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h> +#include <RobotAPI/libraries/aron/core/navigator/type/container/Object.h> namespace armarx::armem diff --git a/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp b/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp index 13aea87b259d2b2905ce330e22a2e09d92abb7b7..b61a3ba136e1bc015886983589e6d43d7d9c1665 100644 --- a/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp +++ b/source/RobotAPI/libraries/armem/server/MemoryToIceAdapter.cpp @@ -1,13 +1,16 @@ #include "MemoryToIceAdapter.h" -#include "ArmarXCore/core/logging/Logging.h" -#include <ArmarXCore/core/exceptions/local/ExpressionException.h> -#include "../error.h" -#include "../core/workingmemory/ice_conversions.h" #include "query_proc/workingmemory/MemoryQueryProcessor.h" #include "query_proc/longtermmemory/MemoryQueryProcessor.h" +#include <RobotAPI/libraries/armem/core/error.h> +#include <RobotAPI/libraries/armem/core/workingmemory/ice_conversions.h> +#include <RobotAPI/libraries/aron/core/Exception.h> + +#include <ArmarXCore/core/logging/Logging.h> +#include <ArmarXCore/core/exceptions/local/ExpressionException.h> + namespace armarx::armem::server { diff --git a/source/RobotAPI/libraries/armem/test/ArMemForEachTest.cpp b/source/RobotAPI/libraries/armem/test/ArMemForEachTest.cpp index 8fc5e70996cde9e222f3192bc1bb59be0788f5fa..1aa9e3cfd4eac4d165d15d2420484964769fdc68 100644 --- a/source/RobotAPI/libraries/armem/test/ArMemForEachTest.cpp +++ b/source/RobotAPI/libraries/armem/test/ArMemForEachTest.cpp @@ -102,7 +102,7 @@ BOOST_AUTO_TEST_CASE(test_forEach) memory.forEachInstance([&](const wm::EntityInstance & i) -> bool { - BOOST_TEST_CONTEXT(i.getLevelName() << " " << i.id()) + BOOST_TEST_CONTEXT(wm::EntityInstance::getLevelName() << " " << i.id()) { BOOST_TEST_INFO(toVector(iids)); BOOST_CHECK_EQUAL(iids.count(i.id()), 1); @@ -117,7 +117,7 @@ BOOST_AUTO_TEST_CASE(test_forEach) memory.forEachSnapshot([&](const wm::EntitySnapshot & s) -> bool { - BOOST_TEST_CONTEXT(s.getLevelName() << " " << s.id()) + BOOST_TEST_CONTEXT(wm::EntitySnapshot::getLevelName() << " " << s.id()) { BOOST_TEST_INFO(toVector(sids)); BOOST_CHECK_EQUAL(sids.count(s.id()), 1); @@ -130,7 +130,7 @@ BOOST_AUTO_TEST_CASE(test_forEach) memory.forEachEntity([&](const wm::Entity & e) -> bool { - BOOST_TEST_CONTEXT(e.getLevelName() << " " << e.id()) + BOOST_TEST_CONTEXT(wm::Entity::getLevelName() << " " << e.id()) { BOOST_TEST_INFO(toVector(eids)); BOOST_CHECK_EQUAL(eids.count(e.id()), 1); @@ -143,7 +143,7 @@ BOOST_AUTO_TEST_CASE(test_forEach) memory.forEachProviderSegment([&](const wm::ProviderSegment & p) // -> bool { - BOOST_TEST_CONTEXT(p.getLevelName() << " " << p.id()) + BOOST_TEST_CONTEXT(wm::ProviderSegment::getLevelName() << " " << p.id()) { BOOST_TEST_INFO(toVector(pids)); BOOST_CHECK_EQUAL(pids.count(p.id()), 1); @@ -156,7 +156,7 @@ BOOST_AUTO_TEST_CASE(test_forEach) memory.forEachCoreSegment([&](const wm::CoreSegment & c) // -> bool { - BOOST_TEST_CONTEXT(c.getLevelName() << " " << c.id()) + BOOST_TEST_CONTEXT(wm::CoreSegment::getLevelName() << " " << c.id()) { BOOST_TEST_INFO(toVector(cids)); BOOST_CHECK_EQUAL(cids.count(c.id()), 1); diff --git a/source/RobotAPI/libraries/armem/test/ArMemMemoryTest.cpp b/source/RobotAPI/libraries/armem/test/ArMemMemoryTest.cpp index f7aebf000b77c500cd22f757425eb853d3798b44..022df2fc35848a9f011213d120be39fb8e3ccfd9 100644 --- a/source/RobotAPI/libraries/armem/test/ArMemMemoryTest.cpp +++ b/source/RobotAPI/libraries/armem/test/ArMemMemoryTest.cpp @@ -34,6 +34,7 @@ #include <iostream> #include <SimoxUtility/meta/type_name.h> #include <RobotAPI/libraries/aron/core/navigator/data/container/Dict.h> +#include <RobotAPI/libraries/aron/core/navigator/type/container/Object.h> namespace armem = armarx::armem; diff --git a/source/RobotAPI/libraries/armem_gui/memory/TreeWidget.cpp b/source/RobotAPI/libraries/armem_gui/memory/TreeWidget.cpp index 5c6f363cfd4cdefbfba5ed7c74e2180076fb1e97..29c137093ac9c75f0c904c6745c72473c205f1ec 100644 --- a/source/RobotAPI/libraries/armem_gui/memory/TreeWidget.cpp +++ b/source/RobotAPI/libraries/armem_gui/memory/TreeWidget.cpp @@ -189,27 +189,27 @@ namespace armarx::armem::gui::memory _selectedID = id; const std::string levelName = item->data(int(Columns::LEVEL), Qt::UserRole).toString().toStdString(); - if (levelName == wm::Memory().getLevelName()) + if (levelName == wm::Memory::getLevelName()) { emit memorySelected(*_selectedID); } - else if (levelName == wm::CoreSegment().getLevelName()) + else if (levelName == wm::CoreSegment::getLevelName()) { emit coreSegmentSelected(*_selectedID); } - else if (levelName == wm::ProviderSegment().getLevelName()) + else if (levelName == wm::ProviderSegment::getLevelName()) { emit providerSegmentSelected(*_selectedID); } - else if (levelName == wm::Entity().getLevelName()) + else if (levelName == wm::Entity::getLevelName()) { emit entitySelected(*_selectedID); } - else if (levelName == wm::EntitySnapshot().getLevelName()) + else if (levelName == wm::EntitySnapshot::getLevelName()) { emit snapshotSelected(*_selectedID); } - else if (levelName == wm::EntityInstance().getLevelName()) + else if (levelName == wm::EntityInstance::getLevelName()) { emit instanceSelected(*_selectedID); } @@ -275,7 +275,7 @@ namespace armarx::armem::gui::memory QTreeWidgetItem* TreeWidget::makeItem(const std::string& key, const MemoryItemT& memoryItem) { (void) key; - return makeItem(memoryItem.getKeyString(), memoryItem.getLevelName(), memoryItem.id()); + return makeItem(memoryItem.getKeyString(), MemoryItemT::getLevelName(), memoryItem.id()); } QTreeWidgetItem* TreeWidget::makeItem(const std::string& key, const std::string& levelName, const MemoryID& id)