SpecializedProviderSegment.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 
7 
11 
12 #include "SpecializedCoreSegment.h"
13 
15 {
16  /**
17  * @brief A base class for provider segments
18  */
19  class SpecializedProviderSegment : public detail::SegmentBase<server::wm::ProviderSegment>
20  {
22 
23  public:
26  const std::string& defaultProviderSegmentName = "",
27  const std::string& defaultCoreSegmentName = "",
28  aron::type::ObjectPtr providerSegmentAronType = nullptr,
29  aron::type::ObjectPtr coreSegmentAronType = nullptr,
30  int defaultMaxHistorySize = 10,
31  const std::vector<PredictionEngine>& providerSegmentPredictionEngines = {},
32  const std::vector<PredictionEngine>& coreSegmentPredictionEngines = {});
33 
34  virtual ~SpecializedProviderSegment() override;
35 
37  const std::string& prefix = "") override;
38  virtual void init() override;
39 
40  void setDefaultProviderSegmentName(const std::string& providerSegmentName);
41  void setDefaultMaxHistorySize(int64_t maxHistorySize);
43  void setPredictionEngines(const std::vector<PredictionEngine>& predictionEngines);
44 
47 
48 
49  public:
51  std::vector<PredictionEngine> predictionEngines;
53 
54  struct Properties
55  {
56  std::string segmentName;
57  int64_t maxHistorySize;
58  };
59 
61  };
62 } // namespace armarx::armem::server::segment
armarx::armem::server::segment::SpecializedProviderSegment::Properties::maxHistorySize
int64_t maxHistorySize
Definition: SpecializedProviderSegment.h:57
armarx::armem::server::segment::SpecializedCoreSegment
A base class for core segments.
Definition: SpecializedCoreSegment.h:19
armarx::armem::server::segment::SpecializedProviderSegment::coreSegment
SpecializedCoreSegment coreSegment
Definition: SpecializedProviderSegment.h:52
armarx::armem::server::segment::SpecializedProviderSegment::properties
Properties properties
Definition: SpecializedProviderSegment.h:60
armarx::armem::server::MemoryToIceAdapter
Helps connecting a Memory server to the Ice interface.
Definition: MemoryToIceAdapter.h:19
armarx::armem::server::segment::SpecializedProviderSegment::Properties::segmentName
std::string segmentName
Definition: SpecializedProviderSegment.h:56
armarx::armem::server::segment::SpecializedProviderSegment
A base class for provider segments.
Definition: SpecializedProviderSegment.h:19
armarx::armem::server::segment::SpecializedProviderSegment::setPredictionEngines
void setPredictionEngines(const std::vector< PredictionEngine > &predictionEngines)
Definition: SpecializedProviderSegment.cpp:99
armarx::armem::server::segment::SpecializedProviderSegment::setDefaultMaxHistorySize
void setDefaultMaxHistorySize(int64_t maxHistorySize)
Definition: SpecializedProviderSegment.cpp:87
memory_definitions.h
armarx::armem::server::segment::SpecializedProviderSegment::~SpecializedProviderSegment
virtual ~SpecializedProviderSegment() override
Definition: SpecializedProviderSegment.cpp:33
armarx::armem::server::segment::SpecializedProviderSegment::setDefaultProviderSegmentName
void setDefaultProviderSegmentName(const std::string &providerSegmentName)
Definition: SpecializedProviderSegment.cpp:80
armarx::armem::server::segment::detail::SegmentBase
A base class for memory servers to manage their segments.
Definition: SpecializedSegment.h:22
armarx::armem::server::segment::SpecializedProviderSegment::getProviderSegment
wm::ProviderSegment & getProviderSegment()
Definition: SpecializedProviderSegment.cpp:106
armarx::armem::server::segment::SpecializedProviderSegment::aronType
aron::type::ObjectPtr aronType
Definition: SpecializedProviderSegment.h:50
armarx::armem::server::wm::ProviderSegment
Definition: memory_definitions.h:52
armarx::armem::server::segment::SpecializedProviderSegment::setAronType
void setAronType(aron::type::ObjectPtr aronType)
Definition: SpecializedProviderSegment.cpp:93
armarx::armem::server::segment::SpecializedProviderSegment::init
virtual void init() override
Definition: SpecializedProviderSegment.cpp:56
forward_declarations.h
armarx::armem::server::segment::SpecializedProviderSegment::Properties
Definition: SpecializedProviderSegment.h:54
armarx::armem::server::segment
Definition: constants.h:1
armarx::armem::server::segment::SpecializedProviderSegment::SpecializedProviderSegment
SpecializedProviderSegment(MemoryToIceAdapter &iceMemory, const std::string &defaultProviderSegmentName="", const std::string &defaultCoreSegmentName="", aron::type::ObjectPtr providerSegmentAronType=nullptr, aron::type::ObjectPtr coreSegmentAronType=nullptr, int defaultMaxHistorySize=10, const std::vector< PredictionEngine > &providerSegmentPredictionEngines={}, const std::vector< PredictionEngine > &coreSegmentPredictionEngines={})
Definition: SpecializedProviderSegment.cpp:11
armarx::armem::server::segment::detail::SegmentBase< server::wm::ProviderSegment >::iceMemory
MemoryToIceAdapter & iceMemory
Definition: SpecializedSegment.h:58
forward_declarations.h
IceUtil::Handle< class PropertyDefinitionContainer >
forward_declarations.h
armarx::aron::type::ObjectPtr
std::shared_ptr< Object > ObjectPtr
Definition: Object.h:36
Logging.h
armarx::armem::server::segment::SpecializedProviderSegment::predictionEngines
std::vector< PredictionEngine > predictionEngines
Definition: SpecializedProviderSegment.h:51
SpecializedCoreSegment.h
armarx::armem::server::segment::SpecializedProviderSegment::defineProperties
virtual void defineProperties(armarx::PropertyDefinitionsPtr defs, const std::string &prefix="") override
Definition: SpecializedProviderSegment.cpp:38