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 protected:
24 // Implementation methods
25 bool _implForEachInstance(std::function<void(EntityInstance&)> func) const override;
26 bool _implHasInstance(const int entityInstanceIndex) const override;
27 std::shared_ptr<EntityInstance> _implFindInstance(const int entityInstanceIndex) const override;
28
29 void _loadAllReferences(armem::wm::EntitySnapshot& wmEntitySnapshot) const override;
30 void _resolve(armem::wm::EntitySnapshot& wmEntitySnapshot) const override;
31 void _store(const armem::wm::EntitySnapshot& wmEntitySnapshot) override;
32
33 private:
34 std::shared_ptr<persistence::MemoryPersistenceStrategy> persistenceStrategy_;
35 };
36
37} // namespace armarx::armem::server::ltm
void _store(const armem::wm::EntitySnapshot &wmEntitySnapshot) override
EntitySnapshot(const std::string &exportName, const MemoryID &memoryId, const std::shared_ptr< Processors > &filters, const std::shared_ptr< persistence::MemoryPersistenceStrategy > &persistenceStrategy)
bool _implForEachInstance(std::function< void(EntityInstance &)> func) const override
void _resolve(armem::wm::EntitySnapshot &wmEntitySnapshot) const override
bool _implHasInstance(const int entityInstanceIndex) const override
std::shared_ptr< EntityInstance > _implFindInstance(const int entityInstanceIndex) const override
void _loadAllReferences(armem::wm::EntitySnapshot &wmEntitySnapshot) const override
Interface functions for the longterm memory classes.
Client-side working memory entity snapshot.