SkillManagerComponentPlugin.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <mutex>
4 
7 
8 #include <RobotAPI/interface/skills/SkillManagerInterface.h>
13 
14 namespace armarx
15 {
16  class SkillManagerComponentPluginUser; // forward declaration
17 }
18 
19 namespace armarx::plugins
20 {
22  {
23  public:
24  using ComponentPlugin::ComponentPlugin;
25 
26  void preOnInitComponent() override;
27 
28  void preOnConnectComponent() override;
29 
30  void postCreatePropertyDefinitions(PropertyDefinitionsPtr& properties) override;
31 
32  void addProvider(const skills::ProviderInfo& info);
33 
34  void removeProvider(const skills::ProviderID& id);
35 
37 
39 
41  const aron::data::DictPtr& data);
42 
43  bool abortSkill(const skills::SkillExecutionID& id);
44 
46 
47  std::optional<skills::SkillDescription> getSkillDescription(const skills::SkillID& id);
48 
49  std::map<skills::SkillID, skills::SkillDescription> getSkillDescriptions();
50 
51  std::optional<skills::SkillStatusUpdate>
53 
54  std::map<skills::SkillExecutionID, skills::SkillStatusUpdate> getSkillExecutionStatuses();
55 
57 
58  private:
59  skills::manager::dti::SkillManagerInterfacePrx myPrx;
60 
61  std::mutex skillProviderMapMutex;
62  std::map<skills::ProviderID, skills::provider::dti::SkillProviderInterfacePrx>
63  skillProviderMap;
64 
66  };
67 } // namespace armarx::plugins
68 
69 namespace armarx
70 {
72  virtual public ManagedIceObject,
73  virtual public skills::manager::dti::SkillManagerInterface
74  {
75  public:
77 
78  void addProvider(const skills::manager::dto::ProviderInfo& providerInfo,
79  const Ice::Current& current) override;
80  void removeProvider(const skills::manager::dto::ProviderID& provider,
81  const Ice::Current& current) override;
82 
83  skills::manager::dto::SkillStatusUpdate
84  executeSkill(const skills::manager::dto::SkillExecutionRequest& info,
85  const Ice::Current& current) override;
86 
87  skills::manager::dto::SkillExecutionID
88  executeSkillAsync(const skills::manager::dto::SkillExecutionRequest& skillExecutionRequest,
89  const Ice::Current& current) override;
90 
91  skills::provider::dto::ParameterUpdateResult
92  updateSkillParameters(const skills::manager::dto::SkillExecutionID& executionId,
93  const aron::data::dto::DictPtr& params,
94  const Ice::Current& current) override;
95 
96  void updateStatusForSkill(const skills::provider::dto::SkillStatusUpdate& update,
97  const skills::callback::dto::ProviderID& id,
98  const Ice::Current& current) override;
99 
100  skills::provider::dto::AbortSkillResult
101  abortSkill(const skills::manager::dto::SkillExecutionID& id,
102  const Ice::Current& current) override;
103 
104  skills::provider::dto::AbortSkillResult
105  abortSkillAsync(const skills::manager::dto::SkillExecutionID& id,
106  const Ice::Current& current) override;
107 
108 
109  skills::manager::dto::SkillDescriptionMap
110  getSkillDescriptions(const Ice::Current& current) override;
111 
112  IceUtil::Optional<skills::manager::dto::SkillDescription>
113  getSkillDescription(const skills::manager::dto::SkillID& id,
114  const Ice::Current& current) override;
115 
116  IceUtil::Optional<skills::manager::dto::SkillStatusUpdate>
117  getSkillExecutionStatus(const skills::manager::dto::SkillExecutionID& executionId,
118  const Ice::Current& current) override;
119 
120  skills::manager::dto::SkillStatusUpdateMap
121  getSkillExecutionStatuses(const Ice::Current& current) override;
122 
123  private:
125  };
126 } // namespace armarx
armarx::skills::SkillExecutionID
Definition: SkillExecutionID.h:19
ProviderID.h
SkillStatusUpdate.h
armarx::SkillManagerComponentPluginUser::getSkillExecutionStatus
IceUtil::Optional< skills::manager::dto::SkillStatusUpdate > getSkillExecutionStatus(const skills::manager::dto::SkillExecutionID &executionId, const Ice::Current &current) override
Definition: SkillManagerComponentPlugin.cpp:680
armarx::SkillManagerComponentPluginUser::executeSkill
skills::manager::dto::SkillStatusUpdate executeSkill(const skills::manager::dto::SkillExecutionRequest &info, const Ice::Current &current) override
Definition: SkillManagerComponentPlugin.cpp:589
armarx::plugins::SkillManagerComponentPlugin::getSkillDescription
std::optional< skills::SkillDescription > getSkillDescription(const skills::SkillID &id)
Definition: SkillManagerComponentPlugin.cpp:356
armarx::SkillManagerComponentPluginUser::getSkillDescriptions
skills::manager::dto::SkillDescriptionMap getSkillDescriptions(const Ice::Current &current) override
Definition: SkillManagerComponentPlugin.cpp:652
armarx::plugins::SkillManagerComponentPlugin::getSkillDescriptions
std::map< skills::SkillID, skills::SkillDescription > getSkillDescriptions()
Definition: SkillManagerComponentPlugin.cpp:416
armarx::plugins::SkillManagerComponentPlugin::abortSkill
bool abortSkill(const skills::SkillExecutionID &id)
Definition: SkillManagerComponentPlugin.cpp:276
armarx::SkillManagerComponentPluginUser::executeSkillAsync
skills::manager::dto::SkillExecutionID executeSkillAsync(const skills::manager::dto::SkillExecutionRequest &skillExecutionRequest, const Ice::Current &current) override
Definition: SkillManagerComponentPlugin.cpp:598
armarx::SkillManagerComponentPluginUser::getSkillExecutionStatuses
skills::manager::dto::SkillStatusUpdateMap getSkillExecutionStatuses(const Ice::Current &current) override
Definition: SkillManagerComponentPlugin.cpp:694
armarx::plugins::SkillManagerComponentPlugin::executeSkill
skills::SkillStatusUpdate executeSkill(const skills::SkillExecutionRequest &req)
Definition: SkillManagerComponentPlugin.cpp:85
armarx::skills::SkillExecutionRequest
Definition: SkillExecutionRequest.h:21
armarx::plugins::SkillManagerComponentPlugin::removeProvider
void removeProvider(const skills::ProviderID &id)
Definition: SkillManagerComponentPlugin.cpp:69
armarx::skills::SkillStatusUpdate
Definition: SkillStatusUpdate.h:139
armarx::SkillManagerComponentPluginUser::getSkillDescription
IceUtil::Optional< skills::manager::dto::SkillDescription > getSkillDescription(const skills::manager::dto::SkillID &id, const Ice::Current &current) override
Definition: SkillManagerComponentPlugin.cpp:667
armarx::skills::ProviderID
Definition: ProviderID.h:15
ManagedIceObject.h
armarx::SkillManagerComponentPluginUser::abortSkill
skills::provider::dto::AbortSkillResult abortSkill(const skills::manager::dto::SkillExecutionID &id, const Ice::Current &current) override
Definition: SkillManagerComponentPlugin.cpp:620
armarx::plugins
This file is part of ArmarX.
Definition: DebugObserverComponentPlugin.cpp:28
armarx::ComponentPlugin
Definition: ComponentPlugin.h:38
data
uint8_t data[1]
Definition: EtherCATFrame.h:68
armarx::plugins::SkillManagerComponentPlugin::preOnConnectComponent
void preOnConnectComponent() override
Definition: SkillManagerComponentPlugin.cpp:19
armarx::plugins::SkillManagerComponentPlugin::updateSkillParameters
bool updateSkillParameters(const skills::SkillExecutionID &id, const aron::data::DictPtr &data)
Definition: SkillManagerComponentPlugin.cpp:233
armarx::SkillManagerComponentPluginUser
Definition: SkillManagerComponentPlugin.h:71
armarx::SkillManagerComponentPluginUser::removeProvider
void removeProvider(const skills::manager::dto::ProviderID &provider, const Ice::Current &current) override
Definition: SkillManagerComponentPlugin.cpp:580
SkillExecutionRequest.h
armarx::plugins::SkillManagerComponentPlugin
Definition: SkillManagerComponentPlugin.h:21
armarx::armem::server::ltm::util::mongodb::detail::update
bool update(mongocxx::collection &coll, const nlohmann::json &query, const nlohmann::json &update)
Definition: mongodb.cpp:67
armarx::plugins::SkillManagerComponentPlugin::getSkillExecutionStatus
std::optional< skills::SkillStatusUpdate > getSkillExecutionStatus(const skills::SkillExecutionID &id)
Definition: SkillManagerComponentPlugin.cpp:458
armarx::aron::data::DictPtr
std::shared_ptr< Dict > DictPtr
Definition: Dict.h:41
armarx::ManagedIceObject
The ManagedIceObject is the base class for all ArmarX objects.
Definition: ManagedIceObject.h:163
armarx::SkillManagerComponentPluginUser::updateStatusForSkill
void updateStatusForSkill(const skills::provider::dto::SkillStatusUpdate &update, const skills::callback::dto::ProviderID &id, const Ice::Current &current) override
Definition: SkillManagerComponentPlugin.cpp:641
armarx::SkillManagerComponentPluginUser::addProvider
void addProvider(const skills::manager::dto::ProviderInfo &providerInfo, const Ice::Current &current) override
Definition: SkillManagerComponentPlugin.cpp:572
ProviderInfo.h
IceUtil::Handle< class PropertyDefinitionContainer >
armarx::plugins::SkillManagerComponentPlugin::preOnInitComponent
void preOnInitComponent() override
Definition: SkillManagerComponentPlugin.cpp:14
armarx::plugins::SkillManagerComponentPlugin::abortSkillAsync
bool abortSkillAsync(const skills::SkillExecutionID &id)
Definition: SkillManagerComponentPlugin.cpp:317
armarx::plugins::SkillManagerComponentPlugin::postCreatePropertyDefinitions
void postCreatePropertyDefinitions(PropertyDefinitionsPtr &properties) override
Definition: SkillManagerComponentPlugin.cpp:26
ComponentPlugin.h
armarx::plugins::SkillManagerComponentPlugin::addProvider
void addProvider(const skills::ProviderInfo &info)
Definition: SkillManagerComponentPlugin.cpp:49
armarx::skills::ProviderInfo
Definition: ProviderInfo.h:19
armarx::plugins::SkillManagerComponentPlugin::executeSkillAsync
skills::SkillExecutionID executeSkillAsync(const skills::SkillExecutionRequest &req)
Definition: SkillManagerComponentPlugin.cpp:158
armarx::SkillManagerComponentPluginUser::updateSkillParameters
skills::provider::dto::ParameterUpdateResult updateSkillParameters(const skills::manager::dto::SkillExecutionID &executionId, const aron::data::dto::DictPtr &params, const Ice::Current &current) override
Definition: SkillManagerComponentPlugin.cpp:607
armarx::skills::SkillID
Definition: SkillID.h:17
armarx::plugins::SkillManagerComponentPlugin::getFirstProviderNameThatHasSkill
skills::ProviderID getFirstProviderNameThatHasSkill(const skills::SkillID &skillid)
Definition: SkillManagerComponentPlugin.cpp:31
armarx::SkillManagerComponentPluginUser::abortSkillAsync
skills::provider::dto::AbortSkillResult abortSkillAsync(const skills::manager::dto::SkillExecutionID &id, const Ice::Current &current) override
Definition: SkillManagerComponentPlugin.cpp:630
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:28
armarx::plugins::SkillManagerComponentPlugin::getSkillExecutionStatuses
std::map< skills::SkillExecutionID, skills::SkillStatusUpdate > getSkillExecutionStatuses()
Definition: SkillManagerComponentPlugin.cpp:521
armarx::SkillManagerComponentPluginUser::SkillManagerComponentPluginUser
SkillManagerComponentPluginUser()
Definition: SkillManagerComponentPlugin.cpp:566