IProcessor.h 958 B

1234567891011121314151617181920212223
  1. #ifndef MDD_IPROCESSOR_H
  2. #define MDD_IPROCESSOR_H
  3. #include "IModule.h"
  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 std::string addModuleInput(std::string module_ID, std::string input_ID) = 0;
  11. virtual std::string addModuleInput(std::shared_ptr<IModule> module, std::shared_ptr<IInput> input) = 0;
  12. virtual std::string addModuleOutput(std::string module_ID, std::string output_ID) = 0;
  13. virtual std::string addModuleOutput(std::shared_ptr<IModule> module, std::shared_ptr<IOutput> output) = 0;
  14. virtual void removeModule(std::shared_ptr<IModule> module) = 0;
  15. virtual std::vector<std::string> getModules() = 0;
  16. virtual std::vector<std::string> getModuleIDs() = 0;
  17. virtual std::shared_ptr<IModule> getModule(std::string module_id) = 0;
  18. };
  19. }
  20. #endif //MDD_IPROCESSOR_H