#ifndef MDD_IPROCESSOR_H #define MDD_IPROCESSOR_H #include "IModule.h" #include namespace mdd { class IProcessor: public IModule{ public: virtual std::string addModule(std::shared_ptr module) = 0; virtual std::string addModuleInput(std::string module_ID, std::string input_ID) = 0; virtual std::string addModuleInput(std::shared_ptr module, std::shared_ptr input) = 0; virtual std::string addModuleOutput(std::string module_ID, std::string output_ID) = 0; virtual std::string addModuleOutput(std::shared_ptr module, std::shared_ptr output) = 0; virtual void removeModule(std::shared_ptr module) = 0; virtual std::vector getModules() = 0; virtual std::vector getModuleIDs() = 0; virtual std::shared_ptr getModule(std::string module_id) = 0; }; } #endif //MDD_IPROCESSOR_H