SimpleSpecializedSkill.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <string>
4
5
#include <
ArmarXCore/core/logging/LogSender.h
>
6
#include <
ArmarXCore/core/logging/Logging.h
>
7
#include <
ArmarXCore/core/util/StringHelpers.h
>
8
9
#include <
RobotAPI/libraries/skills/core/Skill.h
>
10
#include <
RobotAPI/libraries/skills/core/SkillStatusUpdate.h
>
11
#include <
RobotAPI/libraries/skills/provider/SpecializedSkill.h
>
12
13
namespace
armarx
14
{
15
namespace
skills
16
{
17
template
<
class
AronT>
18
class
SimpleSpecializedSkill
:
public
SpecializedSkill
<AronT>
19
{
20
public
:
21
using
Base
=
SpecializedSkill<AronT>
;
22
using
ParamType
= AronT;
23
24
using
Base::Base
;
25
26
struct
SpecializedInitInput
27
{
28
std::string
executorName
;
29
AronT
parameters
;
30
};
31
32
struct
SpecializedMainInput
33
{
34
std::string
executorName
;
35
AronT
parameters
;
36
Skill::CallbackT
callback
;
37
};
38
39
struct
SpecializedExitInput
40
{
41
std::string
executorName
;
42
AronT
parameters
;
43
};
44
45
protected
:
46
// legacy methods
47
virtual
Skill::InitResult
48
init
(
const
SpecializedInitInput&
/*in*/
)
49
{
50
return
Skill::InitResult
{.status =
TerminatedSkillStatus::Succeeded
};
51
}
52
53
virtual
Skill::MainResult
54
main
(
const
SpecializedMainInput&
/*in*/
)
55
{
56
ARMARX_IMPORTANT
<<
"Dummy executing skill '"
<< this->
description
.skillId
57
<<
"'. Please overwrite this method."
;
58
return
Skill::MainResult
{.status =
TerminatedSkillStatus::Succeeded
,
59
.data =
nullptr
};
60
}
61
62
virtual
Skill::ExitResult
63
exit
(
const
SpecializedExitInput&
/*in*/
)
64
{
65
return
Skill::ExitResult
{.status =
TerminatedSkillStatus::Succeeded
};
66
}
67
68
Skill::InitResult
69
init
() final
70
{
71
ARMARX_VERBOSE
<<
"Entered SimpleSpecializedSkill<T>::init()."
;
72
SpecializedInitInput i;
73
i.executorName = this->
executorName
;
74
i.parameters = this->
getParameters
();
75
auto
ret = this->
init
(i);
76
ARMARX_VERBOSE
<<
"Exiting SimpleSpecializedSkill<T>::init() ..."
;
77
return
ret;
78
}
79
80
Skill::MainResult
81
main
() final
82
{
83
ARMARX_VERBOSE
<<
"Entered SimpleSpecializedSkill<T>::main()."
;
84
SpecializedMainInput i;
85
i.executorName = this->
executorName
;
86
i.callback = this->
callback
;
87
i.parameters = this->
getParameters
();
88
auto
ret = this->
main
(i);
89
ARMARX_VERBOSE
<<
"Exiting SimpleSpecializedSkill<T>::main() ..."
;
90
return
ret;
91
}
92
93
Skill::ExitResult
94
exit
() final
95
{
96
ARMARX_VERBOSE
<<
"Entered SimpleSpecializedSkill<T>::exit()."
;
97
SpecializedExitInput i;
98
i.executorName = this->
executorName
;
99
i.parameters = this->
getParameters
();
100
auto
ret = this->
exit
(i);
101
ARMARX_VERBOSE
<<
"Exiting SimpleSpecializedSkill<T>::exit() ..."
;
102
return
ret;
103
}
104
};
105
}
// namespace skills
106
}
// namespace armarx
LogSender.h
Logging.h
SkillStatusUpdate.h
Skill.h
SpecializedSkill.h
StringHelpers.h
armarx::skills::SimpleSpecializedSkill
Definition
SimpleSpecializedSkill.h:19
armarx::skills::SimpleSpecializedSkill::main
Skill::MainResult main() final
Override this method with the actual implementation.
Definition
SimpleSpecializedSkill.h:81
armarx::skills::SimpleSpecializedSkill::exit
Skill::ExitResult exit() final
Override this method with the actual implementation.
Definition
SimpleSpecializedSkill.h:94
armarx::skills::SimpleSpecializedSkill::ParamType
AronT ParamType
Definition
SimpleSpecializedSkill.h:22
armarx::skills::SimpleSpecializedSkill::main
virtual Skill::MainResult main(const SpecializedMainInput &)
Definition
SimpleSpecializedSkill.h:54
armarx::skills::SimpleSpecializedSkill::exit
virtual Skill::ExitResult exit(const SpecializedExitInput &)
Definition
SimpleSpecializedSkill.h:63
armarx::skills::SimpleSpecializedSkill::Base
SpecializedSkill< AronT > Base
Definition
SimpleSpecializedSkill.h:21
armarx::skills::SimpleSpecializedSkill::init
virtual Skill::InitResult init(const SpecializedInitInput &)
Definition
SimpleSpecializedSkill.h:48
armarx::skills::SimpleSpecializedSkill::init
Skill::InitResult init() final
Override this method with the actual implementation.
Definition
SimpleSpecializedSkill.h:69
armarx::skills::Skill::callback
CallbackT callback
Definition
Skill.h:362
armarx::skills::Skill::description
SkillDescription description
Definition
Skill.h:372
armarx::skills::Skill::CallbackT
std::function< void(const SkillStatus s, const armarx::aron::data::DictPtr &)> CallbackT
Definition
Skill.h:45
armarx::skills::Skill::executorName
std::string executorName
Definition
Skill.h:364
armarx::skills::SpecializedSkill
Definition
SpecializedSkill.h:10
armarx::skills::SpecializedSkill::getParameters
AronT getParameters() const
Overwrite getter for parameters. Shadow Skill::getParameters()
Definition
SpecializedSkill.h:26
armarx::skills::SpecializedSkill::Base
Skill Base
Definition
SpecializedSkill.h:12
ARMARX_IMPORTANT
#define ARMARX_IMPORTANT
The logging level for always important information, but expected behaviour (in contrast to ARMARX_WAR...
Definition
Logging.h:190
ARMARX_VERBOSE
#define ARMARX_VERBOSE
The logging level for verbose information.
Definition
Logging.h:187
armarx::skills
This file is part of ArmarX.
Definition
PeriodicUpdateWidget.cpp:12
armarx::skills::TerminatedSkillStatus::Succeeded
@ Succeeded
Definition
SkillStatusUpdate.h:39
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition
ArmarXTimeserver.cpp:28
armarx::skills::SimpleSpecializedSkill::SpecializedExitInput
Definition
SimpleSpecializedSkill.h:40
armarx::skills::SimpleSpecializedSkill::SpecializedExitInput::parameters
AronT parameters
Definition
SimpleSpecializedSkill.h:42
armarx::skills::SimpleSpecializedSkill::SpecializedExitInput::executorName
std::string executorName
Definition
SimpleSpecializedSkill.h:41
armarx::skills::SimpleSpecializedSkill::SpecializedInitInput
Definition
SimpleSpecializedSkill.h:27
armarx::skills::SimpleSpecializedSkill::SpecializedInitInput::parameters
AronT parameters
Definition
SimpleSpecializedSkill.h:29
armarx::skills::SimpleSpecializedSkill::SpecializedInitInput::executorName
std::string executorName
Definition
SimpleSpecializedSkill.h:28
armarx::skills::SimpleSpecializedSkill::SpecializedMainInput
Definition
SimpleSpecializedSkill.h:33
armarx::skills::SimpleSpecializedSkill::SpecializedMainInput::parameters
AronT parameters
Definition
SimpleSpecializedSkill.h:35
armarx::skills::SimpleSpecializedSkill::SpecializedMainInput::callback
Skill::CallbackT callback
Definition
SimpleSpecializedSkill.h:36
armarx::skills::SimpleSpecializedSkill::SpecializedMainInput::executorName
std::string executorName
Definition
SimpleSpecializedSkill.h:34
armarx::skills::Skill::ExitResult
A result struct for skill exit function.
Definition
Skill.h:69
armarx::skills::Skill::InitResult
A result struct for skill initialization.
Definition
Skill.h:50
armarx::skills::Skill::MainResult
A result struct for th main method of a skill.
Definition
Skill.h:62
RobotAPI
libraries
skills
provider
SimpleSpecializedSkill.h
Generated by
1.13.2