EntitySnapshot.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <memory>
4 
5 // Base Class
6 #include "EntityInstance.h"
8 
10 
12 {
13 
15  public detail::EntitySnapshotBase<EntityInstance>
16  {
17  public:
18  EntitySnapshot(const std::string& exportName,
19  const MemoryID& memoryId,
20  const std::shared_ptr<Processors>& filters,
21  const std::shared_ptr<persistence::MemoryPersistenceStrategy>& persistenceStrategy);
22 
23  bool forEachInstance(std::function<void(EntityInstance&)> func) const override;
24  bool hasInstance(const int entityInstanceIndex) const override;
25  std::shared_ptr<EntityInstance> findInstance(const int entityInstanceIndex) const override;
26 
27  protected:
28  void _loadAllReferences(armem::wm::EntitySnapshot& wmEntitySnapshot) const override;
29  void _resolve(armem::wm::EntitySnapshot& wmEntitySnapshot) const override;
30  void _store(const armem::wm::EntitySnapshot& wmEntitySnapshot) override;
31 
32  private:
33  std::shared_ptr<persistence::MemoryPersistenceStrategy> persistenceStrategy_;
34  };
35 
36 } // namespace armarx::armem::server::ltm
armarx::armem::server::ltm::EntitySnapshot::forEachInstance
bool forEachInstance(std::function< void(EntityInstance &)> func) const override
iterate over all Instance segments of this ltm
Definition: EntitySnapshot.cpp:22
MemoryPersistenceStrategy.h
EntitySnapshotBase.h
armarx::armem::server::ltm::detail::EntitySnapshotBase
Interface functions for the longterm memory classes.
Definition: EntitySnapshotBase.h:17
armarx::armem::MemoryID
A memory ID.
Definition: MemoryID.h:47
EntityInstance.h
armarx::armem::server::ltm::EntitySnapshot::EntitySnapshot
EntitySnapshot(const std::string &exportName, const MemoryID &memoryId, const std::shared_ptr< Processors > &filters, const std::shared_ptr< persistence::MemoryPersistenceStrategy > &persistenceStrategy)
Definition: EntitySnapshot.cpp:14
armarx::armem::server::ltm::EntitySnapshot::findInstance
std::shared_ptr< EntityInstance > findInstance(const int entityInstanceIndex) const override
find Instance segment
Definition: EntitySnapshot.cpp:56
armarx::armem::wm::EntitySnapshot
Client-side working memory entity snapshot.
Definition: memory_definitions.h:80
armarx::armem::server::ltm::EntitySnapshot::hasInstance
bool hasInstance(const int entityInstanceIndex) const override
check if Instance segment exists
Definition: EntitySnapshot.cpp:46
armarx::armem::server::ltm::EntitySnapshot::_resolve
void _resolve(armem::wm::EntitySnapshot &wmEntitySnapshot) const override
Definition: EntitySnapshot.cpp:86
armarx::armem::server::ltm
Definition: forward_declarations.h:20
armarx::armem::server::ltm::EntityInstance
Definition: EntityInstance.h:10
armarx::armem::server::ltm::EntitySnapshot::_store
void _store(const armem::wm::EntitySnapshot &wmEntitySnapshot) override
Definition: EntitySnapshot.cpp:112
armarx::armem::server::ltm::EntitySnapshot::_loadAllReferences
void _loadAllReferences(armem::wm::EntitySnapshot &wmEntitySnapshot) const override
Definition: EntitySnapshot.cpp:74
armarx::armem::server::ltm::EntitySnapshot
Definition: EntitySnapshot.h:14