#ifndef MDD_BASEMODULE_H #define MDD_BASEMODULE_H #include "Input.h" #include "IModule.h" namespace mdd { class ModuleBase : public IModule{ private: std::vector _inputs; std::vector> _outputs; public: int addInput(const std::string& type, const json& value, const std::function& verification = []( const json&) { return true; }); json& setInputDefaultValue(int handle) override; const json& getInputValue(int handle) override; bool connectInput(int handle, std::shared_ptr output) override; std::vector getInputs() override; std::vector getOutputs() override; std::shared_ptr getOutput(int handle) override; int addOutput(const std::string& type, const json& initial); json &setOutputValue(int handle); }; } #endif //MDD_BASEMODULE_H