Aller au contenu
Bienvenue sur la nouvelle documentation de CppUtils !
using CppUtils::Language::Xml::FlowRunner::FlowNode = Container::Tree::VariantNode<Type::Token, std::string>;
using CppUtils::Language::Xml::FlowRunner::FlowFactory = std::function<std::unique_ptr<Flow>(const FlowNode&)>;
using CppUtils::Language::Xml::FlowRunner::FlowContainer = Container::MultiKeyMap<std::filesystem::path, std::string, std::shared_ptr<Flow> >;
explicit FlowRunner::FlowRunner(Thread::ThreadPool& threadPool, std::filesystem::path flowsDirectory = "data/flows");

FlowRunner::FlowRunner(const FlowRunner&) = delete;

FlowRunner::FlowRunner(FlowRunner&&) = delete;

auto FlowRunner::operator=(const FlowRunner&) -> FlowRunner& = delete;

auto FlowRunner::operator=(FlowRunner&&) -> FlowRunner& = delete;

template <class Object, class Mapping, String::Hasher loggerName = "Flow">
auto FlowRunner::registerMapping( std::string_view identifier, std::function<void(TypedFlow<Object, Mapping>&)> configure = nullptr) -> void;

auto FlowRunner::loadFlows() -> void;

[[nodiscard]] auto FlowRunner::flows() const -> decltype(auto);

[[nodiscard]] auto FlowRunner::flow(const Type::Exact<std::filesystem::path> auto& filePath) const -> std::shared_ptr<Flow>;

[[nodiscard]] auto FlowRunner::flow(std::string_view flowName) const -> std::shared_ptr<Flow>;

[[nodiscard]] auto FlowRunner::discoverFlowConfigs() const -> std::vector<std::filesystem::path>;

auto FlowRunner::execute() -> Stats;

auto FlowRunner::startWatching() -> void;

auto FlowRunner::stopWatching() -> void;