SpecializedProviderSegment.cpp
Go to the documentation of this file.
2 
5 
8 
10 {
13  const std::string& defaultProviderSegmentName,
14  const std::string& defaultCoreSegmentName,
15  aron::type::ObjectPtr providerSegmentAronType,
16  aron::type::ObjectPtr coreSegmentAronType,
17  int defaultMaxHistorySize,
18  const std::vector<PredictionEngine>& providerSegmentPredictionEngines,
19  const std::vector<PredictionEngine>& coreSegmentPredictionEngines) :
20  Base(iceMemory),
21  aronType(providerSegmentAronType),
22  predictionEngines(providerSegmentPredictionEngines),
23  coreSegment(iceMemory,
24  defaultCoreSegmentName,
25  coreSegmentAronType,
26  -1,
27  providerSegmentPredictionEngines),
28  properties({defaultProviderSegmentName, defaultMaxHistorySize})
29  {
30  Logging::setTag("armarx::armem::SpecializedProviderSegment");
31  }
32 
34  {
35  }
36 
37  void
39  const std::string& prefix)
40  {
42 
43  coreSegment.defineProperties(defs, prefix);
44 
45  defs->optional(properties.segmentName,
46  prefix + "seg.ProviderSegmentName",
47  "Name of the " + properties.segmentName + " provider segment.");
48 
49  defs->optional(properties.maxHistorySize,
50  prefix + "seg.ProviderMaxHistorySize",
51  "Maximal size of the " + properties.segmentName +
52  " entity histories (-1 for infinite).");
53  }
54 
55  void
57  {
59 
60  coreSegment.init();
61 
62  Logging::setTag(properties.segmentName + " Provider Segment");
63 
65  {
67  }
68  else
69  {
70  ARMARX_INFO << "Adding provider segment '" << properties.segmentName << "'";
72 
76  }
77  }
78 
79  void
81  const std::string& providerSegmentName)
82  {
83  this->properties.segmentName = providerSegmentName;
84  }
85 
86  void
88  {
89  this->properties.maxHistorySize = maxHistorySize;
90  }
91 
92  void
94  {
95  this->aronType = aronType;
96  }
97 
98  void
100  const std::vector<PredictionEngine>& predictionEngines)
101  {
102  this->predictionEngines = predictionEngines;
103  }
104 
107  {
109  return *segmentPtr;
110  }
111 
112  const wm::ProviderSegment&
114  {
116  return *segmentPtr;
117  }
118 
119 } // namespace armarx::armem::server::segment
armarx::armem::server::MemoryToIceAdapter::workingMemory
server::wm::Memory * workingMemory
Definition: MemoryToIceAdapter.h:65
armarx::armem::server::segment::SpecializedProviderSegment::Properties::maxHistorySize
int64_t maxHistorySize
Definition: SpecializedProviderSegment.h:57
armarx::armem::server::wm::detail::MaxHistorySizeParent::setMaxHistorySize
void setMaxHistorySize(long maxSize)
Sets the maximum history size of entities in this container.
Definition: MaxHistorySize.h:41
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::base::CoreSegmentBase::hasProviderSegment
bool hasProviderSegment(const std::string &name) const
Definition: CoreSegmentBase.h:116
ARMARX_CHECK_NOT_NULL
#define ARMARX_CHECK_NOT_NULL(ptr)
This macro evaluates whether ptr is not null and if it turns out to be false it will throw an Express...
Definition: ExpressionException.h:206
armarx::armem::base::detail::AronTyped::aronType
aron::type::ObjectPtr & aronType()
Definition: AronTyped.cpp:19
armarx::armem::server::segment::SpecializedProviderSegment::Properties::segmentName
std::string segmentName
Definition: SpecializedProviderSegment.h:56
armarx::armem::server::segment::SpecializedProviderSegment::setPredictionEngines
void setPredictionEngines(const std::vector< PredictionEngine > &predictionEngines)
Definition: SpecializedProviderSegment.cpp:99
armarx::armem::base::detail::Predictive::setPredictionEngines
void setPredictionEngines(const std::vector< PredictionEngine > &engines)
Definition: Predictive.h:58
armarx::armem::server::segment::SpecializedProviderSegment::setDefaultMaxHistorySize
void setDefaultMaxHistorySize(int64_t maxHistorySize)
Definition: SpecializedProviderSegment.cpp:87
armarx::armem::server::segment::SpecializedProviderSegment::~SpecializedProviderSegment
virtual ~SpecializedProviderSegment() override
Definition: SpecializedProviderSegment.cpp:33
Object.h
armarx::armem::server::segment::SpecializedProviderSegment::setDefaultProviderSegmentName
void setDefaultProviderSegmentName(const std::string &providerSegmentName)
Definition: SpecializedProviderSegment.cpp:80
armarx::armem::server::segment::detail::SegmentBase::segmentPtr
SegmentType * segmentPtr
Definition: SpecializedSegment.h:53
armarx::armem::server::segment::detail::SegmentBase< server::wm::ProviderSegment >
armarx::armem::server::segment::SpecializedCoreSegment::init
virtual void init() override
Definition: SpecializedCoreSegment.cpp:47
armarx::armem::server::segment::SpecializedProviderSegment::getProviderSegment
wm::ProviderSegment & getProviderSegment()
Definition: SpecializedProviderSegment.cpp:106
armarx::armem::base::CoreSegmentBase::getProviderSegment
ProviderSegmentT & getProviderSegment(const std::string &name)
Definition: CoreSegmentBase.h:143
armarx::armem::server::segment::SpecializedProviderSegment::aronType
aron::type::ObjectPtr aronType
Definition: SpecializedProviderSegment.h:50
PluginAll.h
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
MemoryToIceAdapter.h
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
ARMARX_INFO
#define ARMARX_INFO
Definition: Logging.h:181
PropertyDefinitionContainer.h
IceUtil::Handle< class PropertyDefinitionContainer >
SpecializedProviderSegment.h
armarx::aron::type::ObjectPtr
std::shared_ptr< Object > ObjectPtr
Definition: Object.h:36
armarx::Logging::setTag
void setTag(const LogTag &tag)
Definition: Logging.cpp:54
armarx::armem::server::wm::CoreSegment::addProviderSegment
ProviderSegment & addProviderSegment(const std::string &name, Args... args)
Definition: memory_definitions.h:91
armarx::armem::server::segment::SpecializedProviderSegment::predictionEngines
std::vector< PredictionEngine > predictionEngines
Definition: SpecializedProviderSegment.h:51
armarx::armem::server::segment::SpecializedProviderSegment::defineProperties
virtual void defineProperties(armarx::PropertyDefinitionsPtr defs, const std::string &prefix="") override
Definition: SpecializedProviderSegment.cpp:38
armarx::armem::server::segment::SpecializedCoreSegment::defineProperties
virtual void defineProperties(armarx::PropertyDefinitionsPtr defs, const std::string &prefix="") override
Definition: SpecializedCoreSegment.cpp:31