#ifndef IOPTIMIZER_H #define IOPTIMIZER_H #include "json.hpp" #include namespace mdd { class IOptimizer { public: virtual bool connect(std::shared_ptr module) = 0; /* limit{ ("min": [] "max": [] ("increment": [] or "rule": string)) nor "elements": [[],[],[]] } */ virtual bool addModifier(std::string input_id, const json& limit) = 0; virtual bool addReader(std::string output_id) = 0; /* limit{ ("min": [] "max": [] ("increment": [] or "rule": string)) nor "elements": [[],[],[]] } */ virtual bool changeModifier(std::string input_id, const json& limit) = 0; virtual void removeModifier(std::string input_id) = 0; virtual void removeReader(std::string output_id) = 0; virtual bool setEvaluation(std::string func) = 0; virtual state update() = 0; }; } #endif // !IOPTIMIZER_H