IModule.h 760 B

1234567891011121314151617181920212223242526
  1. #ifndef MDD_IModule_H
  2. #define MDD_IModule_H
  3. #include "IOutput.h"
  4. #include "IInput.h"
  5. #include <string>
  6. #include <vector>
  7. #include <memory>
  8. namespace mdd {
  9. class IOutput;
  10. class IModule : public IUnique{
  11. public:
  12. virtual void updateID() = 0;
  13. virtual std::vector<std::string> getInputs() = 0;
  14. virtual std::vector<std::string> getOutputs() = 0;
  15. virtual std::vector<std::string> getInputIDs() = 0;
  16. virtual std::vector<std::string> getOutputIDs() = 0;
  17. virtual std::shared_ptr<IOutput> getOutput(std::string output_id) = 0;
  18. virtual std::shared_ptr<IInput> getInput(std::string input_id) = 0;
  19. virtual bool update() = 0;
  20. virtual ~IModule() = default;
  21. };
  22. }
  23. #endif //MDD_IMODULE_H