Newer
Older

Fabian Tërnava
committed
#include "SkillProviderExample.h"
namespace armarx::skills::provider

Fabian Tërnava
committed
{
SkillProviderExample::SkillProviderExample() : SkillProviderComponentPluginUser()
{
}
armarx::PropertyDefinitionsPtr
SkillProviderExample::createPropertyDefinitions()

Fabian Tërnava
committed
{
armarx::PropertyDefinitionsPtr defs =
new ComponentPropertyDefinitions(getConfigIdentifier());

Fabian Tërnava
committed
return defs;
}
std::string
SkillProviderExample::getDefaultName() const

Fabian Tërnava
committed
{

Fabian Tërnava
committed
return "SkillProviderExample";

Fabian Tërnava
committed
}
void
SkillProviderExample::onInitComponent()

Fabian Tërnava
committed
{
ARMARX_INFO << "Adding skill HelloWorldSkill";
addSkillFactory<HelloWorldSkill>();
// Add another lambda example skill
{
skills::SkillDescription fooDesc{.skillId = SkillID{.skillName = "Foo"},
.description = "This skill does exactly nothing.",
.timeout =
armarx::core::time::Duration::MilliSeconds(1000)};

Fabian Tërnava
committed
addSkillFactory(fooDesc,
[]()
{
std::cout << "Hello from Foo." << std::endl;
return TerminatedSkillStatus::Succeeded;
});
}
// Add another example skill
ARMARX_INFO << "Adding skill CallbackSkill";
addSkillFactory<CallbackSkill>();
// Add timeout skill
ARMARX_INFO << "Adding skill TimeoutSkill";
addSkillFactory<TimeoutSkill>();
ARMARX_INFO << "Adding skill ChainingSkill";
addSkillFactory<ChainingSkill>();
// chainingAsync
ARMARX_INFO << "Adding skill ChainingAsyncSkill";
addSkillFactory<ChainingAsyncSkill>();
// incomplete and prepare
ARMARX_INFO << "Adding skill IncompleteSkill";
addSkillFactory<IncompleteSkill>();
ARMARX_INFO << "Adding skill SegfaultSkill";
addSkillFactory<SegfaultSkill>();
// random
ARMARX_INFO << "Adding skill RandomChainingSkill";
addSkillFactory<RandomChainingSkill>();
// insta kill
ARMARX_INFO << "Adding skill InstaKill";
addSkillFactory<InstantKillSkill>();
ARMARX_INFO << "Adding skill BusyWaiting";
addSkillFactory<BusyWaitingSkill>();
ARMARX_INFO << "Adding skill Recursive";
addSkillFactory<RecursiveSkill>();
void
SkillProviderExample::onConnectComponent()

Fabian Tërnava
committed
}
void
SkillProviderExample::onDisconnectComponent()

Fabian Tërnava
committed
{
}
void
SkillProviderExample::onExitComponent()
} // namespace armarx::skills::provider