InstantKill.cpp
Go to the documentation of this file.
1
2
#include "
InstantKill.h
"
3
4
#include <chrono>
5
#include <cstdlib>
6
#include <thread>
7
#include "
RobotAPI/libraries/skills/core/SkillExecutionHandle.h
"
8
9
namespace
armarx::skills::provider
10
{
11
12
InstantKillSkill::InstantKillSkill
() :
SimpleSkill
(
GetSkillDescription
())
13
{
14
}
15
16
SkillDescription
17
InstantKillSkill::GetSkillDescription
()
18
{
19
return
SkillDescription
{.skillId =
armarx::skills::SkillID
{.skillName =
"InstantKill"
},
20
.description =
"This skill calls Timeout and instantly aboirts it."
,
21
.rootProfileDefaults =
armarx::aron::make_dict
(),
22
.timeout =
armarx::core::time::Duration::MilliSeconds
(50000)};
23
}
24
25
Skill::MainResult
26
InstantKillSkill::main
(
const
MainInput& in)
27
{
28
29
this->
throwIfSkillShouldTerminate
();
30
31
skills::SkillID
skillId{.providerId = *
getSkillId
().
providerId
, .skillName =
"Chaining"
};
32
33
for
(
unsigned
int
i = 0; i < 25; ++i)
34
{
35
auto
handle =
callSubskillAsync
(skillId);
36
handle->abortAsync();
37
}
38
return
{
TerminatedSkillStatus::Succeeded
,
nullptr
};
39
}
40
}
// namespace armarx::skills::provider
InstantKill.h
SkillExecutionHandle.h
armarx::core::time::Duration::MilliSeconds
static Duration MilliSeconds(std::int64_t milliSeconds)
Constructs a duration in milliseconds.
Definition
Duration.cpp:48
armarx::skills::SimpleSkill
Definition
SimpleSkill.h:10
armarx::skills::SkillID
Definition
SkillID.h:15
armarx::skills::SkillID::providerId
std::optional< ProviderID > providerId
Definition
SkillID.h:40
armarx::skills::Skill::main
virtual MainResult main()
Override this method with the actual implementation.
Definition
Skill.cpp:542
armarx::skills::Skill::throwIfSkillShouldTerminate
void throwIfSkillShouldTerminate(const std::string &abortedMessage="") const
Definition
Skill.cpp:389
armarx::skills::Skill::getSkillId
SkillID getSkillId() const
Get the id of the skill.
Definition
Skill.cpp:587
armarx::skills::Skill::callSubskillAsync
SkillExecutionHandlePtr callSubskillAsync(const SkillID &skillId, std::function< void(aron::data::DictPtr &)> parametersFunction)
Definition
Skill.cpp:148
armarx::skills::provider::InstantKillSkill::GetSkillDescription
static SkillDescription GetSkillDescription()
Definition
InstantKill.cpp:17
armarx::skills::provider::InstantKillSkill::InstantKillSkill
InstantKillSkill()
Definition
InstantKill.cpp:12
armarx::aron::make_dict
aron::data::DictPtr make_dict(_Args &&... args)
Definition
Dict.h:107
armarx::skills::provider
Definition
BusyWaiting.cpp:7
armarx::skills::TerminatedSkillStatus::Succeeded
@ Succeeded
Definition
SkillStatusUpdate.h:39
armarx::skills::SkillDescription
Definition
SkillDescription.h:18
armarx::skills::Skill::MainResult
A result struct for th main method of a skill.
Definition
Skill.h:62
RobotAPI
components
skills
SkillProviderExample
InstantKill.cpp
Generated by
1.13.2