SkillProviderExample.cpp
Go to the documentation of this file.
2
3#include <iostream>
4#include <ostream>
5#include <string>
6
11
32
34
36{
40
48
49 std::string
51 {
52 return "SkillProviderExample";
53 }
54
55 void
57 {
58 // Add example skill
59 ARMARX_INFO << "Adding skill HelloWorldSkill";
61
62 // Add another lambda example skill
63 {
65 .skillId = SkillID{.skillName = "Foo"},
66 .description = "This skill does exactly nothing.",
67 .rootProfileDefaults = armarx::aron::make_dict(),
69 };
70 addSkillFactory(fooDesc,
71 []()
72 {
73 std::cout << "Hello from Foo." << std::endl;
75 });
76 }
77
78 // Add another example skill
79 ARMARX_INFO << "Adding skill CallbackSkill";
81
82 // Add timeout skill
83 ARMARX_INFO << "Adding skill TimeoutSkill";
85
86 // chaining
87 ARMARX_INFO << "Adding skill ChainingSkill";
89
90 // chainingAsync
91 ARMARX_INFO << "Adding skill ChainingAsyncSkill";
93
94 // incomplete and prepare
95 ARMARX_INFO << "Adding skill IncompleteSkill";
97
98 // segfault
99 ARMARX_INFO << "Adding skill SegfaultSkill";
101
102 // random exit status
103 ARMARX_INFO << "Adding skill RandomExitStatus";
105
106 // random exit status
107 ARMARX_INFO << "Adding skill Sleep";
109 // random
110 ARMARX_INFO << "Adding skill RandomChainingSkill";
112
113 // insta kill
114 ARMARX_INFO << "Adding skill InstaKill";
116
117 ARMARX_INFO << "Adding skill BusyWaiting";
119
120 ARMARX_INFO << "Adding skill Recursive";
122
123 ARMARX_INFO << "Adding skill TimeoutSkill";
125
126 ARMARX_INFO << "Adding skill TimeoutSkill";
128 }
129
130 void
134
135 void
139
140 void
144
146} // namespace armarx::skills::provider
#define ARMARX_REGISTER_COMPONENT_EXECUTABLE(ComponentT, applicationName)
Definition Decoupled.h:29
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.