IModule.h 725 B

12345678910111213141516171819202122232425
  1. #ifndef MDD_IModule_H
  2. #define MDD_IModule_H
  3. #include "IOutput.h"
  4. #include <string>
  5. #include <vector>
  6. #include <memory>
  7. namespace mdd {
  8. class IOutput;
  9. class IModule {
  10. public:
  11. virtual bool connectInput(int handle, std::shared_ptr<IOutput> output) = 0;
  12. virtual std::string getType() = 0;
  13. virtual json& setInputDefaultValue(int handle) = 0;
  14. virtual const json& getInputValue(int handle) = 0;
  15. virtual std::vector<std::string> getInputs() = 0;
  16. virtual std::vector<std::string> getOutputs() = 0;
  17. virtual std::shared_ptr<IOutput> getOutput(int handle) = 0;
  18. virtual bool update() = 0;
  19. virtual ~IModule() = default;
  20. };
  21. }
  22. #endif //MDD_IMODULE_H