ProviderSegment.h
Go to the documentation of this file.
1#pragma once
2
3// Base Class
4#include "Entity.h"
6
8
10{
12 public detail::ProviderSegmentBase<Entity>
13 {
14 public:
15 ProviderSegment(const std::string& exportName,
16 const MemoryID& memoryId,
17 const std::shared_ptr<Processors>& filters,
18 const std::shared_ptr<persistence::MemoryPersistenceStrategy>& persistenceStrategy);
19
20 protected:
21 // Implementation methods
22 bool _implForEachEntity(std::function<void(Entity&)> func) const override;
23 bool _implHasEntity(const std::string& entityName) const override;
24 std::shared_ptr<Entity> _implFindEntity(const std::string& entityName) const override;
25
26 void _loadAllReferences(armem::wm::ProviderSegment& wmProviderSegment) override;
27 void _loadLatestNReferences(int n, armem::wm::ProviderSegment& wmProviderSegment) override;
28 void _resolve(armem::wm::ProviderSegment& wmProviderSegment) override;
29 void _store(const armem::wm::ProviderSegment& wmProviderSegment, bool simulatedVersion) override;
30
31 private:
32 std::shared_ptr<persistence::MemoryPersistenceStrategy> persistenceStrategy_;
33 };
34
35} // namespace armarx::armem::server::ltm
A memory storing data in mongodb (needs 'armarx memory start' to start the mongod instance)
Definition Entity.h:16
ProviderSegment(const std::string &exportName, const MemoryID &memoryId, const std::shared_ptr< Processors > &filters, const std::shared_ptr< persistence::MemoryPersistenceStrategy > &persistenceStrategy)
void _store(const armem::wm::ProviderSegment &wmProviderSegment, bool simulatedVersion) override
std::shared_ptr< Entity > _implFindEntity(const std::string &entityName) const override
void _loadAllReferences(armem::wm::ProviderSegment &wmProviderSegment) override
void _loadLatestNReferences(int n, armem::wm::ProviderSegment &wmProviderSegment) override
bool _implForEachEntity(std::function< void(Entity &)> func) const override
bool _implHasEntity(const std::string &entityName) const override
void _resolve(armem::wm::ProviderSegment &wmProviderSegment) override
Interface functions for the longterm memory classes.
Client-side working memory provider segment.