EntitySnapshot.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <filesystem>
4
5
// Base Class
6
#include "
EntityInstance.h
"
7
#include "
detail/EntitySnapshotBase.h
"
8
#include "
detail/mixins/DiskStorageMixin.h
"
9
#include "
detail/mixins/MongoDBStorageMixin.h
"
10
11
namespace
armarx::armem::server::ltm
12
{
13
14
class
EntitySnapshot
:
15
public
detail::EntitySnapshotBase
<EntityInstance>,
16
public
detail::mixin::DiskMemoryItemMixin
,
17
public
detail::mixin::MongoDBStorageMixin
18
{
19
public
:
20
EntitySnapshot
(
const
detail::mixin::Path
&,
21
const
detail::mixin::MongoDBSettings
&,
22
const
std::string&,
23
const
MemoryID
&
id
,
24
const
std::shared_ptr<Processors>& p);
25
26
bool
forEachInstance
(std::function<
void
(
EntityInstance
&)> func)
const override
;
27
bool
hasInstance
(
const
int
)
const override
;
28
std::shared_ptr<EntityInstance>
findInstance
(
const
int
)
const override
;
29
30
protected
:
31
void
_loadAllReferences
(
armem::wm::EntitySnapshot
&)
const override
;
32
void
_resolve
(
armem::wm::EntitySnapshot
&)
const override
;
33
void
_store
(
const
armem::wm::EntitySnapshot
&)
override
;
34
35
private
:
36
};
37
38
}
// namespace armarx::armem::server::ltm
MongoDBStorageMixin.h
armarx::armem::server::ltm::EntitySnapshot::hasInstance
bool hasInstance(const int) const override
check if Instance segment exists
Definition:
EntitySnapshot.cpp:68
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:30
armarx::armem::server::ltm::EntitySnapshot::EntitySnapshot
EntitySnapshot(const detail::mixin::Path &, const detail::mixin::MongoDBSettings &, const std::string &, const MemoryID &id, const std::shared_ptr< Processors > &p)
Definition:
EntitySnapshot.cpp:16
armarx::armem::server::ltm::EntitySnapshot::findInstance
std::shared_ptr< EntityInstance > findInstance(const int) const override
find Instance segment
Definition:
EntitySnapshot.cpp:96
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::wm::EntitySnapshot
Client-side working memory entity snapshot.
Definition:
memory_definitions.h:80
armarx::armem::server::ltm::detail::mixin::MongoDBStorageMixin
Definition:
MongoDBStorageMixin.h:45
armarx::armem::server::ltm
Definition:
forward_declarations.h:20
armarx::armem::server::ltm::EntityInstance
Definition:
EntityInstance.h:13
armarx::armem::server::ltm::EntitySnapshot::_store
void _store(const armem::wm::EntitySnapshot &) override
Definition:
EntitySnapshot.cpp:144
armarx::armem::server::ltm::detail::mixin::MongoDBSettings
Definition:
MongoDBStorageMixin.h:15
armarx::armem::server::ltm::detail::mixin::Path
std::filesystem::path Path
Definition:
DiskStorageMixin.h:17
armarx::armem::server::ltm::EntitySnapshot::_loadAllReferences
void _loadAllReferences(armem::wm::EntitySnapshot &) const override
Definition:
EntitySnapshot.cpp:112
armarx::armem::server::ltm::EntitySnapshot::_resolve
void _resolve(armem::wm::EntitySnapshot &) const override
Definition:
EntitySnapshot.cpp:124
armarx::armem::server::ltm::EntitySnapshot
Definition:
EntitySnapshot.h:14
armarx::armem::server::ltm::detail::mixin::DiskMemoryItemMixin
Definition:
DiskStorageMixin.h:19
DiskStorageMixin.h
RobotAPI
libraries
armem
server
ltm
EntitySnapshot.h
Generated on Sat Oct 12 2024 09:14:08 for armarx_documentation by
1.8.17