diff --git a/source/RobotAPI/libraries/skills/core/Skill.h b/source/RobotAPI/libraries/skills/core/Skill.h index bc7402a979742ec20a94ab2b63044ee9a94c80aa..b147e455f07039d430ab3113e8fec18298c09458 100644 --- a/source/RobotAPI/libraries/skills/core/Skill.h +++ b/source/RobotAPI/libraries/skills/core/Skill.h @@ -29,7 +29,8 @@ namespace armarx class Skill : public armarx::Logging { public: - using CallbackT = std::function<void(const aron::data::DictPtr&)>; + using CallbackT = + std::function<void(const SkillStatus s, const armarx::aron::data::DictPtr&)>; struct InitResult { @@ -160,23 +161,24 @@ namespace armarx armarx::core::time::DateTime started = armarx::core::time::DateTime::Invalid(); armarx::core::time::DateTime exited = armarx::core::time::DateTime::Invalid(); - // parameterization.Will be set from implementation wrapper. + // parameterization. Will be set from implementation wrapper. // const params after initialization!! - std::function<void(const SkillStatus s, const armarx::aron::data::DictPtr&)> callback; + CallbackT callback; manager::dti::SkillManagerInterfacePrx manager = nullptr; std::string executorName = "INVALID EXECUTOR NAME"; protected: // non-const params mutable std::mutex parametersMutex; - armarx::aron::data::DictPtr parameters; + armarx::aron::data::DictPtr parameters = nullptr; // The descripion of the skill SkillDescription description; // active conditions. First is condition (bool return func) mutable std::mutex conditionCallbacksMutex; - std::vector<std::pair<std::function<bool()>, std::function<void()>>> conditionCallbacks; + std::vector<std::pair<std::function<bool()>, std::function<void()>>> + conditionCallbacks = {}; /// Use conditions this way