SimpleSpecializedSkill.h
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4
8
12
13namespace armarx
14{
15 namespace skills
16 {
17 template <class AronT>
19 {
20 public:
22 using ParamType = AronT;
23
24 using Base::Base;
25
27 {
28 std::string executorName;
30 };
31
38
40 {
41 std::string executorName;
43 };
44
45 protected:
46 // legacy methods
47 virtual Skill::InitResult
48 init(const SpecializedInitInput& /*in*/)
49 {
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.";
59 .data = nullptr};
60 }
61
62 virtual Skill::ExitResult
63 exit(const SpecializedExitInput& /*in*/)
64 {
66 }
67
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
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
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
Skill::MainResult main() final
Override this method with the actual implementation.
Skill::ExitResult exit() final
Override this method with the actual implementation.
virtual Skill::MainResult main(const SpecializedMainInput &)
virtual Skill::ExitResult exit(const SpecializedExitInput &)
virtual Skill::InitResult init(const SpecializedInitInput &)
Skill::InitResult init() final
Override this method with the actual implementation.
CallbackT callback
Definition Skill.h:362
SkillDescription description
Definition Skill.h:372
std::function< void(const SkillStatus s, const armarx::aron::data::DictPtr &)> CallbackT
Definition Skill.h:45
std::string executorName
Definition Skill.h:364
AronT getParameters() const
Overwrite getter for parameters. Shadow Skill::getParameters()
#define ARMARX_IMPORTANT
The logging level for always important information, but expected behaviour (in contrast to ARMARX_WAR...
Definition Logging.h:190
#define ARMARX_VERBOSE
The logging level for verbose information.
Definition Logging.h:187
This file is part of ArmarX.
This file offers overloads of toIce() and fromIce() functions for STL container types.
A result struct for skill exit function.
Definition Skill.h:69
A result struct for skill initialization.
Definition Skill.h:50
A result struct for th main method of a skill.
Definition Skill.h:62