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