SkillProviderExample.cpp
Go to the documentation of this file.
2
3#include <iostream>
4#include <ostream>
5#include <string>
6
11
32
34{
38
46
47 std::string
49 {
50 return "SkillProviderExample";
51 }
52
53 void
55 {
56 // Add example skill
57 ARMARX_INFO << "Adding skill HelloWorldSkill";
59
60 // Add another lambda example skill
61 {
63 .skillId = SkillID{.skillName = "Foo"},
64 .description = "This skill does exactly nothing.",
65 .rootProfileDefaults = armarx::aron::make_dict(),
67 };
68 addSkillFactory(fooDesc,
69 []()
70 {
71 std::cout << "Hello from Foo." << std::endl;
73 });
74 }
75
76 // Add another example skill
77 ARMARX_INFO << "Adding skill CallbackSkill";
79
80 // Add timeout skill
81 ARMARX_INFO << "Adding skill TimeoutSkill";
83
84 // chaining
85 ARMARX_INFO << "Adding skill ChainingSkill";
87
88 // chainingAsync
89 ARMARX_INFO << "Adding skill ChainingAsyncSkill";
91
92 // incomplete and prepare
93 ARMARX_INFO << "Adding skill IncompleteSkill";
95
96 // segfault
97 ARMARX_INFO << "Adding skill SegfaultSkill";
99
100 // random exit status
101 ARMARX_INFO << "Adding skill RandomExitStatus";
103
104 // random exit status
105 ARMARX_INFO << "Adding skill Sleep";
107 // random
108 ARMARX_INFO << "Adding skill RandomChainingSkill";
110
111 // insta kill
112 ARMARX_INFO << "Adding skill InstaKill";
114
115 ARMARX_INFO << "Adding skill BusyWaiting";
117
118 ARMARX_INFO << "Adding skill Recursive";
120
121 ARMARX_INFO << "Adding skill TimeoutSkill";
123
124 ARMARX_INFO << "Adding skill TimeoutSkill";
126 }
127
128 void
132
133 void
137
138 void
142} // namespace armarx::skills::provider
Default component property definition container.
Definition Component.h:70
std::string getConfigIdentifier()
Retrieve config identifier for this component as set in constructor.
Definition Component.cpp:90
skills::SkillBlueprint * addSkillFactory(const skills::SkillDescription &desc, const skills::LambdaSkill::FunctionType &f)
static Duration MilliSeconds(std::int64_t milliSeconds)
Constructs a duration in milliseconds.
Definition Duration.cpp:48
void onInitComponent() override
Pure virtual hook for the subclass.
void onDisconnectComponent() override
Hook for subclass.
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
void onConnectComponent() override
Pure virtual hook for the subclass.
#define ARMARX_INFO
The normal logging level.
Definition Logging.h:181
aron::data::DictPtr make_dict(_Args &&... args)
Definition Dict.h:107
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.