IProcessor.h 840 B

123456789101112131415161718192021222324
  1. #pragma once
  2. #include "IModule.h"
  3. #include "Parameter.cpp"
  4. #include <vector>
  5. namespace mdd
  6. {
  7. class IProcessor: public IModule{
  8. public:
  9. virtual std::string addModule(std::shared_ptr<IModule> module) = 0;
  10. virtual void removeModule(std::shared_ptr<IModule> module) = 0;
  11. virtual std::vector<std::shared_ptr<Parameter>>& getInputParams() = 0;
  12. virtual std::vector<std::shared_ptr<Parameter>>& getOutputParams() = 0;
  13. virtual std::vector<std::shared_ptr<IModule >>& getModules() = 0;
  14. virtual size_t getNumModuls() = 0;
  15. virtual std::shared_ptr<IModule> getModule(size_t index) = 0;
  16. virtual std::shared_ptr<IModule> getModule(const std::string& id) = 0;
  17. virtual bool connect(const std::string& output_id, const std::vector<std::string>& input_ids) = 0;
  18. };
  19. }