FluxioNativeExecutor.h
Go to the documentation of this file.
1#pragma once
2
3#include <optional>
4#include <string>
5
11
13#include "../SkillExecutionID.h"
14#include "FluxioExecutor.h"
15
16namespace armarx::skills
17{
19 {
20 public:
22 const std::string& id,
23 const skills::SkillID& skillId,
24 const FluxioSkill& fluxioSkill,
25 const std::function<bool(const skills::SkillExecutionID&)>&& abortSkillFunc,
26 const std::function<skills::SkillExecutionID(const skills::SkillExecutionRequest&)>&&
27 executeSkillAsyncFunc,
28 const std::function<std::optional<skills::SkillStatusUpdate>(
29 const skills::SkillExecutionID&)>&& getSkillExecutionStatusFunc);
30
31 void run(std::string executorName,
34 void abort() override;
35 std::optional<std::vector<skills::FluxioSkillStatusUpdate>> getStatusUpdate() override;
37
38 private:
39 std::optional<skills::SkillExecutionID> executionId = std::nullopt;
40 const skills::SkillID skillId;
41 const FluxioSkill& fluxioSkill;
42 const armarx::Duration pollingFrequency = armarx::Duration::MilliSeconds(100);
43 void setStatus(skills::SkillStatus status, const std::string& nodeId = "noId") override;
44 const std::function<bool(const skills::SkillExecutionID&)> abortSkill;
46 executeSkillAsync;
47 const std::function<std::optional<skills::SkillStatusUpdate>(
49 getSkillExecutionStatus;
50 };
51} // namespace armarx::skills
static Duration MilliSeconds(std::int64_t milliSeconds)
Constructs a duration in milliseconds.
Definition Duration.cpp:48
Represents a duration.
Definition Duration.h:17
FluxioExecutor(const FluxioExecutor &)=delete
std::optional< skills::FluxioSkillStatusUpdate > status
std::optional< std::string > executorName
void run(std::string executorName, armarx::aron::data::DictPtr parameters, std::experimental::observer_ptr< const FluxioProfile > profilePtr) override
FluxioNativeExecutor(const std::string &id, const skills::SkillID &skillId, const FluxioSkill &fluxioSkill, const std::function< bool(const skills::SkillExecutionID &)> &&abortSkillFunc, const std::function< skills::SkillExecutionID(const skills::SkillExecutionRequest &)> &&executeSkillAsyncFunc, const std::function< std::optional< skills::SkillStatusUpdate >(const skills::SkillExecutionID &)> &&getSkillExecutionStatusFunc)
std::optional< std::vector< skills::FluxioSkillStatusUpdate > > getStatusUpdate() override
armarx::aron::data::DictPtr getResultsCopy() override
std::shared_ptr< Dict > DictPtr
Definition Dict.h:42
This file is part of ArmarX.