SkillImplementationWrapper.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <experimental/memory>
4 #include <mutex>
5 
6 #include <RobotAPI/interface/skills/SkillProviderInterface.h>
10 
11 namespace armarx
12 {
13  namespace skills
14  {
15  namespace detail
16  {
18  {
19  private:
21 
22  std::unique_ptr<Skill> skill;
23  mutable std::mutex executionMutex;
24 
25  public:
26  // Current execution statuses. Changes during execution
27  // The status also holds the used parameterization
28  mutable std::mutex skillStatusesMutex;
30 
31  // Set exteranally to store the execution somewhere
32  std::thread execution;
33 
34  // ctor
37  const aron::data::DictPtr&,
38  const skills::callback::dti::SkillProviderCallbackInterfacePrx&);
39 
40  // execute a skill. The parameterization is copied. T
41  // the return type additionally contains the input configuration (similar to the status updates used in callbacks)
43 
44  // ask a skill to stop. Must be concurrent to execute skill
45  void stopSkill();
46 
47  // add parameters to a skill. Must be concurrent to execute skill
49  };
50  } // namespace detail
51  } // namespace skills
52 } // namespace armarx
armarx::skills::SkillExecutionID
Definition: SkillExecutionID.h:15
skills
This file is part of ArmarX.
SkillStatusUpdate.h
armarx::skills::detail::SkillRuntime::statusUpdate
SkillStatusUpdate statusUpdate
Definition: SkillImplementationWrapper.h:29
armarx::skills::detail::SkillRuntime::skillStatusesMutex
std::mutex skillStatusesMutex
Definition: SkillImplementationWrapper.h:28
SkillFactory.h
detail
Definition: OpenCVUtil.cpp:128
std::experimental::fundamentals_v2::observer_ptr
Definition: ManagedIceObject.h:53
Dict.h
armarx::skills::detail::SkillRuntime::execution
std::thread execution
Definition: SkillImplementationWrapper.h:32
armarx::skills::detail::SkillRuntime::executeSkill
TerminatedSkillStatusUpdate executeSkill()
Definition: SkillImplementationWrapper.cpp:52
armarx::skills::SkillStatusUpdate
Definition: SkillStatusUpdate.h:116
armarx::skills::detail::SkillRuntime::updateSkillParameters
void updateSkillParameters(const aron::data::DictPtr &i)
Definition: SkillImplementationWrapper.cpp:38
armarx::skills::detail::SkillRuntime::stopSkill
void stopSkill()
Definition: SkillImplementationWrapper.cpp:24
armarx::skills::detail::SkillRuntime
Definition: SkillImplementationWrapper.h:17
armarx::skills::TerminatedSkillStatusUpdate
Definition: SkillStatusUpdate.h:74
armarx::aron::data::DictPtr
std::shared_ptr< Dict > DictPtr
Definition: Dict.h:41
armarx::skills::SkillBlueprint
Definition: SkillFactory.h:11
armarx::skills::detail::SkillRuntime::SkillRuntime
SkillRuntime(const skills::SkillBlueprint *fac, const skills::SkillExecutionID &, const aron::data::DictPtr &, const skills::callback::dti::SkillProviderCallbackInterfacePrx &)
Definition: SkillImplementationWrapper.cpp:13
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:27