#ifndef MDD_IPROCESSOR_H
#define MDD_IPROCESSOR_H

#include "IModule.h"
#include <vector>

namespace mdd
{
    class IProcessor: public  IModule{
    public:
        virtual std::string  addModule(std::shared_ptr<IModule> module) = 0;
        virtual void  removeModule(std::shared_ptr<IModule> module) = 0;
        virtual std::vector<std::string> getModules() = 0;
        virtual std::vector<std::string> getModuleIDs() = 0;
        virtual std::shared_ptr<IModule> getModule(std::string module_id) = 0;
    };
}

#endif //MDD_IPROCESSOR_H
