#ifndef MDD_IModule_H #define MDD_IModule_H #include "IOutput.h" #include #include #include namespace mdd { class IOutput; class IModule { public: virtual bool connectInput(int handle, std::shared_ptr output) = 0; virtual std::string getType() = 0; virtual json& setInputDefaultValue(int handle) = 0; virtual const json& getInputValue(int handle) = 0; virtual std::vector getInputs() = 0; virtual std::vector getOutputs() = 0; virtual std::shared_ptr getOutput(int handle) = 0; virtual bool update() = 0; virtual ~IModule() = default; }; } #endif //MDD_IMODULE_H