SpecializedCoreSegment.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 
7 
11 
13 
15 {
16  /**
17  * @brief A base class for core segments
18  */
19  class SpecializedCoreSegment : public detail::SegmentBase<server::wm::CoreSegment>
20  {
22 
23  public:
25  const std::string& defaultCoreSegmentName = "",
26  aron::type::ObjectPtr coreSegmentAronType = nullptr,
27  int defaultMaxHistorySize = 10,
28  const std::vector<PredictionEngine>& predictionEngines = {});
29 
30  virtual ~SpecializedCoreSegment() override;
31 
33  const std::string& prefix = "") override;
34  virtual void init() override;
35 
36  template <class FunctionT>
37  auto
38  doLocked(FunctionT&& function) const
39  {
40  return segmentPtr->doLocked(function);
41  }
42 
43  void setDefaultCoreSegmentName(const std::string& coreSegmentName);
44  void setDefaultMaxHistorySize(int64_t maxHistorySize);
46  void setPredictionEngines(const std::vector<PredictionEngine>& predictionEngines);
47 
49  const wm::CoreSegment& getCoreSegment() const;
50 
51 
52  public:
54  std::vector<PredictionEngine> predictionEngines;
55 
56  struct Properties
57  {
58  std::string segmentName;
59  int64_t maxHistorySize;
60  };
61 
63  };
64 } // namespace armarx::armem::server::segment
armarx::armem::server::segment::SpecializedCoreSegment::Properties::segmentName
std::string segmentName
Definition: SpecializedCoreSegment.h:58
armarx::armem::server::segment::SpecializedCoreSegment
A base class for core segments.
Definition: SpecializedCoreSegment.h:19
armarx::armem::server::MemoryToIceAdapter
Helps connecting a Memory server to the Ice interface.
Definition: MemoryToIceAdapter.h:19
armarx::armem::server::segment::SpecializedCoreSegment::SpecializedCoreSegment
SpecializedCoreSegment(MemoryToIceAdapter &iceMemory, const std::string &defaultCoreSegmentName="", aron::type::ObjectPtr coreSegmentAronType=nullptr, int defaultMaxHistorySize=10, const std::vector< PredictionEngine > &predictionEngines={})
Definition: SpecializedCoreSegment.cpp:12
armarx::armem::server::segment::SpecializedCoreSegment::setAronType
void setAronType(aron::type::ObjectPtr aronType)
Definition: SpecializedCoreSegment.cpp:80
memory_definitions.h
armarx::armem::server::segment::detail::SegmentBase< server::wm::CoreSegment >::segmentPtr
server::wm::CoreSegment * segmentPtr
Definition: SpecializedSegment.h:53
armarx::armem::server::segment::SpecializedCoreSegment::predictionEngines
std::vector< PredictionEngine > predictionEngines
Definition: SpecializedCoreSegment.h:54
armarx::armem::server::segment::SpecializedCoreSegment::getCoreSegment
wm::CoreSegment & getCoreSegment()
Definition: SpecializedCoreSegment.cpp:93
SpecializedSegment.h
armarx::armem::server::segment::detail::SegmentBase
A base class for memory servers to manage their segments.
Definition: SpecializedSegment.h:22
armarx::armem::server::segment::SpecializedCoreSegment::init
virtual void init() override
Definition: SpecializedCoreSegment.cpp:47
armarx::armem::server::segment::SpecializedCoreSegment::doLocked
auto doLocked(FunctionT &&function) const
Definition: SpecializedCoreSegment.h:38
armarx::armem::server::segment::SpecializedCoreSegment::setDefaultCoreSegmentName
void setDefaultCoreSegmentName(const std::string &coreSegmentName)
Definition: SpecializedCoreSegment.cpp:68
armarx::armem::server::segment::SpecializedCoreSegment::Properties
Definition: SpecializedCoreSegment.h:56
armarx::armem::server::wm::CoreSegment::doLocked
auto doLocked(FunctionT &&function) const
Definition: memory_definitions.h:110
forward_declarations.h
armarx::armem::server::segment
Definition: constants.h:1
armarx::armem::server::wm::CoreSegment
base::CoreSegmentBase
Definition: memory_definitions.h:75
armarx::armem::server::segment::SpecializedCoreSegment::Properties::maxHistorySize
int64_t maxHistorySize
Definition: SpecializedCoreSegment.h:59
armarx::armem::server::segment::detail::SegmentBase< server::wm::CoreSegment >::iceMemory
MemoryToIceAdapter & iceMemory
Definition: SpecializedSegment.h:58
armarx::armem::server::segment::SpecializedCoreSegment::setDefaultMaxHistorySize
void setDefaultMaxHistorySize(int64_t maxHistorySize)
Definition: SpecializedCoreSegment.cpp:74
forward_declarations.h
IceUtil::Handle< class PropertyDefinitionContainer >
forward_declarations.h
armarx::aron::type::ObjectPtr
std::shared_ptr< Object > ObjectPtr
Definition: Object.h:36
armarx::armem::server::segment::SpecializedCoreSegment::setPredictionEngines
void setPredictionEngines(const std::vector< PredictionEngine > &predictionEngines)
Definition: SpecializedCoreSegment.cpp:86
Logging.h
armarx::armem::server::segment::SpecializedCoreSegment::~SpecializedCoreSegment
virtual ~SpecializedCoreSegment() override
Definition: SpecializedCoreSegment.cpp:26
armarx::armem::server::segment::SpecializedCoreSegment::aronType
aron::type::ObjectPtr aronType
Definition: SpecializedCoreSegment.h:53
armarx::armem::server::segment::SpecializedCoreSegment::properties
Properties properties
Definition: SpecializedCoreSegment.h:62
armarx::armem::server::segment::SpecializedCoreSegment::defineProperties
virtual void defineProperties(armarx::PropertyDefinitionsPtr defs, const std::string &prefix="") override
Definition: SpecializedCoreSegment.cpp:31