20 .executionId = this->
id,
21 .subSkillNodeId = nodeId,
25 this->status = update;
39 if (dictIt->second ==
nullptr || !dictIt->second->hasElement(parameterId))
41 ARMARX_WARNING <<
"No possible input found for parameter " << parameterId;
44 const auto& res = dictIt->second->getElement(parameterId);
49 return res->cloneAsVariant();
64 std::optional<std::vector<skills::FluxioSkillStatusUpdate>>
70 std::optional<skills::FluxioSkillStatusUpdate>
83 while (value ==
nullptr)
85 const auto& valueIt = std::find_if(parameter.
values.begin(),
88 { return v.profilePtr->id == idPtr->id; });
89 if (valueIt == parameter.
values.end())
91 if (idPtr->parentPtr ==
nullptr)
94 <<
" not found in profile " << profilePtr->id;
97 idPtr = idPtr->parentPtr;
101 value = valueIt->content;
104 return value->cloneAsVariant();
armarx::aron::data::DictPtr result
armarx::aron::data::VariantPtr findParameterValue(const std::experimental::observer_ptr< const FluxioProfile > profilePtr, const FluxioParameter ¶meter) const
virtual armarx::aron::data::VariantPtr getPossibleInputCopy(const std::string nodeId, const std::string parameterId)
std::optional< skills::FluxioSkillStatusUpdate > status
std::optional< skills::FluxioSkillStatusUpdate > getStatus() const
std::shared_mutex resultMutex
virtual armarx::aron::data::DictPtr getResultsCopy()
std::list< skills::FluxioSkillStatusUpdate > statusUpdates
std::shared_mutex statusMutex
std::shared_mutex statusUpdatesMutex
std::map< std::string, armarx::aron::data::DictPtr > possibleInputs
virtual void setStatus(skills::SkillStatus status, const std::string &nodeId="noId")
std::shared_mutex possibleInputsMutex
virtual std::optional< std::vector< skills::FluxioSkillStatusUpdate > > getStatusUpdate()
#define ARMARX_WARNING
The logging level for unexpected behaviour, but not a serious problem.
std::shared_ptr< Dict > DictPtr
std::shared_ptr< Variant > VariantPtr
This file is part of ArmarX.
std::list< FluxioValue > values