SkillImplementationWrapper.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <shared_mutex>
4
5
#include "../SkillDescription.h"
6
#include "../SkillStatusUpdate.h"
7
#include "../Skill.h"
8
9
#include <RobotAPI/interface/skills/SkillManagerInterface.h>
10
11
namespace
armarx
12
{
13
namespace
skills
14
{
15
namespace
detail
16
{
17
class
SkillImplementationWrapper
18
{
19
public
:
20
// fixed values. Do not change after skill instantiation
21
const
std::unique_ptr<Skill>
skill
;
22
23
// Current execution status. Changes during execution
24
// The status also holds the used parameterization
25
// skillName and providerName are const after registering the skill in a provider
26
mutable
std::shared_mutex
skillStatusMutex
;
27
SkillStatusUpdate
statusUpdate
;
28
29
// Task information
30
mutable
std::shared_mutex
executingMutex
;
31
32
// ctor
33
SkillImplementationWrapper
(std::unique_ptr<skills::Skill>&&
skill
);
34
35
// execute a skill. The parameterization is copied. T
36
// the return type additionally contains the input configuration (similar to the status updates used in callbacks)
37
TerminatedSkillStatusUpdate
setupAndExecuteSkill
(
const
std::string& executorName,
const
skills::SkillParameterization
);
38
};
39
}
40
}
41
}
armarx::skills::detail::SkillImplementationWrapper::statusUpdate
SkillStatusUpdate statusUpdate
Definition:
SkillImplementationWrapper.h:27
skills
This file is part of ArmarX.
armarx::skills::detail::SkillImplementationWrapper::setupAndExecuteSkill
TerminatedSkillStatusUpdate setupAndExecuteSkill(const std::string &executorName, const skills::SkillParameterization)
Definition:
SkillImplementationWrapper.cpp:13
detail
Definition:
OpenCVUtil.cpp:127
armarx::skills::detail::SkillImplementationWrapper::executingMutex
std::shared_mutex executingMutex
Definition:
SkillImplementationWrapper.h:30
armarx::skills::detail::SkillImplementationWrapper::skill
const std::unique_ptr< Skill > skill
Definition:
SkillImplementationWrapper.h:21
armarx::skills::SkillStatusUpdate
Definition:
SkillStatusUpdate.h:82
armarx::skills::detail::SkillImplementationWrapper::skillStatusMutex
std::shared_mutex skillStatusMutex
Definition:
SkillImplementationWrapper.h:26
armarx::skills::detail::SkillImplementationWrapper::SkillImplementationWrapper
SkillImplementationWrapper(std::unique_ptr< skills::Skill > &&skill)
Definition:
SkillImplementationWrapper.cpp:7
armarx::skills::TerminatedSkillStatusUpdate
Definition:
SkillStatusUpdate.h:64
armarx::skills::SkillParameterization
Definition:
SkillParameterization.h:13
armarx::skills::detail::SkillImplementationWrapper
Definition:
SkillImplementationWrapper.h:17
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition:
ArmarXTimeserver.cpp:28
RobotAPI
libraries
skills
provider
detail
SkillImplementationWrapper.h
Generated on Tue Oct 3 2023 06:17:22 for armarx_documentation by
1.8.17