FluxioMergerExecutor.h
Go to the documentation of this file.
1#pragma once
2
3#include <optional>
4#include <shared_mutex>
5#include <string>
6
8#include "FluxioExecutor.h"
9
10namespace armarx::skills
11{
13 {
14 public:
15 FluxioMergerExecutor(const std::string& id, const std::vector<std::string>& parameterIds);
16
17 void run(std::string executorName,
20 void abort() override;
21 void checkInToken(const std::string& parameterId);
22 std::optional<std::vector<skills::FluxioSkillStatusUpdate>> getStatusUpdate() override;
23
24 private:
25 std::map<std::string, bool> tokenHasArrivedMap; // keys are parameterIds
26 std::shared_mutex tokenHasArrivedMapMutex;
27 };
28} // namespace armarx::skills
FluxioExecutor(const FluxioExecutor &)=delete
std::optional< std::string > executorName
void run(std::string executorName, armarx::aron::data::DictPtr parameters, std::experimental::observer_ptr< const FluxioProfile > profilePtr) override
std::optional< std::vector< skills::FluxioSkillStatusUpdate > > getStatusUpdate() override
void checkInToken(const std::string &parameterId)
FluxioMergerExecutor(const std::string &id, const std::vector< std::string > &parameterIds)
std::shared_ptr< Dict > DictPtr
Definition Dict.h:42
This file is part of ArmarX.