ComposedSkillLibrarySegment.h
Go to the documentation of this file.
1#pragma once
2
3// Base Class
4#include <vector>
6
7// ArmarX
9#include <ArmarXCore/interface/core/Profiler.h>
11
12#include <RobotAPI/interface/skills/SkillManagerInterface.h>
13#include <RobotAPI/interface/skills/SkillProviderInterface.h>
14#include <RobotAPI/libraries/armem_skills/aron/Skill.aron.generated.h>
16#include <RobotAPI/libraries/skills/core/aron/FluxioSkill.aron.generated.h>
17
19{
21 {
23
24 public:
25 static constexpr const char* CoreSegmentName = "ComposedSkill";
26
28
29 void defineProperties(PropertyDefinitionsPtr defs, const std::string& prefix);
30 void init();
31
32 void addSkill(const skills::manager::arondto::FluxioSkill& skill);
33
34 std::optional<std::vector<skills::manager::arondto::FluxioSkill>> getSkills() const;
35 std::optional<std::vector<skills::manager::arondto::FluxioSkill>> getSkillsOfProvider(const std::string& providerId) const;
36
37 private:
38 static const int maxHistorySize = 7;
39 };
40} // namespace armarx::skills::segment
Helps connecting a Memory server to the Ice interface.
std::optional< std::vector< skills::manager::arondto::FluxioSkill > > getSkillsOfProvider(const std::string &providerId) const
ComposedSkillLibraryCoreSegment(armem::server::MemoryToIceAdapter &iceMemory)
void addSkill(const skills::manager::arondto::FluxioSkill &skill)
void defineProperties(PropertyDefinitionsPtr defs, const std::string &prefix)
std::optional< std::vector< skills::manager::arondto::FluxioSkill > > getSkills() const
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.