ProviderSegment.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <filesystem>
4 
5 // Base Class
6 #include "Entity.h"
10 
12 {
14  public detail::ProviderSegmentBase<Entity>,
17  {
18  public:
21  const std::string&,
22  const MemoryID& id,
23  const std::shared_ptr<Processors>&);
24 
25  bool forEachEntity(std::function<void(Entity&)> func) const override;
26  bool hasEntity(const std::string&) const override;
27  std::shared_ptr<Entity> findEntity(const std::string&) const override;
28 
29  protected:
31  void _loadLatestNReferences(int n, armem::wm::ProviderSegment& p) override;
32  void _resolve(armem::wm::ProviderSegment&) override;
33  void _store(const armem::wm::ProviderSegment&) override;
34 
35  private:
36  };
37 
38 } // namespace armarx::armem::server::ltm
MongoDBStorageMixin.h
armarx::armem::server::ltm::ProviderSegment
Definition: ProviderSegment.h:13
Entity.h
armarx::armem::wm::ProviderSegment
Client-side working memory provider segment.
Definition: memory_definitions.h:105
armarx::armem::server::ltm::ProviderSegment::_loadAllReferences
void _loadAllReferences(armem::wm::ProviderSegment &) override
Definition: ProviderSegment.cpp:84
armarx::armem::server::ltm::ProviderSegment::_loadLatestNReferences
void _loadLatestNReferences(int n, armem::wm::ProviderSegment &p) override
Definition: ProviderSegment.cpp:111
armarx::armem::server::ltm::ProviderSegment::_resolve
void _resolve(armem::wm::ProviderSegment &) override
Definition: ProviderSegment.cpp:138
armarx::armem::server::ltm::ProviderSegment::findEntity
std::shared_ptr< Entity > findEntity(const std::string &) const override
find entity segment
Definition: ProviderSegment.cpp:68
armarx::armem::server::ltm::Entity
A memory storing data in mongodb (needs 'armarx memory start' to start the mongod instance)
Definition: Entity.h:14
armarx::armem::server::ltm::ProviderSegment::ProviderSegment
ProviderSegment(const detail::mixin::Path &, const detail::mixin::MongoDBSettings &, const std::string &, const MemoryID &id, const std::shared_ptr< Processors > &)
Definition: ProviderSegment.cpp:12
armarx::armem::server::ltm::ProviderSegment::forEachEntity
bool forEachEntity(std::function< void(Entity &)> func) const override
iterate over all core segments of this ltm
Definition: ProviderSegment.cpp:25
armarx::armem::MemoryID
A memory ID.
Definition: MemoryID.h:47
armarx::armem::server::ltm::ProviderSegment::hasEntity
bool hasEntity(const std::string &) const override
check if entity segment exists
Definition: ProviderSegment.cpp:49
armarx::armem::server::ltm::ProviderSegment::_store
void _store(const armem::wm::ProviderSegment &) override
Definition: ProviderSegment.cpp:158
armarx::armem::server::ltm::detail::mixin::MongoDBStorageMixin
Definition: MongoDBStorageMixin.h:45
armarx::armem::server::ltm
Definition: forward_declarations.h:20
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::detail::ProviderSegmentBase
Interface functions for the longterm memory classes.
Definition: ProviderSegmentBase.h:16
ProviderSegmentBase.h
armarx::armem::server::ltm::detail::mixin::DiskMemoryItemMixin
Definition: DiskStorageMixin.h:19
DiskStorageMixin.h