diff --git a/source/RobotAPI/libraries/armem/CMakeLists.txt b/source/RobotAPI/libraries/armem/CMakeLists.txt index f4f2f66c9d32c3404ef2dd08d17ca3422023cfa0..457c62565e215c4d76a686cc73647aeb71397190 100644 --- a/source/RobotAPI/libraries/armem/CMakeLists.txt +++ b/source/RobotAPI/libraries/armem/CMakeLists.txt @@ -119,6 +119,8 @@ set(LIB_FILES set(LIB_HEADERS core.h + core/forward_declarations.h + core/Commit.h core/DataMode.h core/MemoryID.h @@ -200,6 +202,8 @@ set(LIB_HEADERS client/util/SimpleWriterBase.h server.h + server/forward_declarations.h + server/ComponentPlugin.h server/MemoryToIceAdapter.h server/MemoryRemoteGui.h diff --git a/source/RobotAPI/libraries/armem/core/forward_declarations.h b/source/RobotAPI/libraries/armem/core/forward_declarations.h new file mode 100644 index 0000000000000000000000000000000000000000..761a8513111d55de8b81ade1af62a60ee18f1f3c --- /dev/null +++ b/source/RobotAPI/libraries/armem/core/forward_declarations.h @@ -0,0 +1,52 @@ +#pragma once + + +namespace armarx::armem +{ + // class Time; // Cannot be forward declared (it's a typedef) + + class MemoryID; + class Commit; + class EntityUpdate; + class CommitResult; + class EntityUpdateResult; +} + +namespace armarx::armem::base +{ + struct NoData; + struct EntityInstanceMetadata; + + template <class _DataT, class _MetadataT> + class EntityInstanceBase; + template <class _EntityInstanceT, class _Derived> + class EntitySnapshotBase; + template <class _EntitySnapshotT, class _Derived> + class EntityBase; + template <class _EntityT, class _Derived> + class ProviderSegmentBase; + template <class _ProviderSegmentT, class _Derived> + class CoreSegmentBase; + template <class _CoreSegmentT, class _Derived> + class MemoryBase; +} + +namespace armarx::armem::wm +{ + class EntityInstance; + class EntitySnapshot; + class Entity; + class ProviderSegment; + class CoreSegment; + class Memory; +} + +namespace armarx::armem::server::wm +{ + using EntityInstance = armem::wm::EntityInstance; + using EntitySnapshot = armem::wm::EntitySnapshot; + class Entity; + class ProviderSegment; + class CoreSegment; + class Memory; +} diff --git a/source/RobotAPI/libraries/armem/server/forward_declarations.h b/source/RobotAPI/libraries/armem/server/forward_declarations.h new file mode 100644 index 0000000000000000000000000000000000000000..6872e2584352195ca8e587043e275acfbffb3739 --- /dev/null +++ b/source/RobotAPI/libraries/armem/server/forward_declarations.h @@ -0,0 +1,18 @@ +#pragma once + +#include <RobotAPI/libraries/armem/core/forward_declarations.h> + + +namespace armarx::armem::server +{ + class MemoryToIceAdapter; +} +namespace armarx::armem::server::wm +{ + using EntityInstance = armem::wm::EntityInstance; + using EntitySnapshot = armem::wm::EntitySnapshot; + class Entity; + class ProviderSegment; + class CoreSegment; + class Memory; +} diff --git a/source/RobotAPI/libraries/armem/server/wm/memory_definitions.h b/source/RobotAPI/libraries/armem/server/wm/memory_definitions.h index cf54d95fe54913685c2bcb4d260d894898d52a34..4eb6fdbb3105b0ae2ce3148c8457b915040a170a 100644 --- a/source/RobotAPI/libraries/armem/server/wm/memory_definitions.h +++ b/source/RobotAPI/libraries/armem/server/wm/memory_definitions.h @@ -16,7 +16,6 @@ namespace armarx::armem::server::wm { - using EntityInstanceMetadata = base::EntityInstanceMetadata; using EntityInstanceData = armarx::aron::datanavigator::DictNavigator; using EntityInstanceDataPtr = armarx::aron::datanavigator::DictNavigatorPtr;