#ifndef REMOVECONTROLLERSMODIFICATOR_H #define REMOVECONTROLLERSMODIFICATOR_H #include <string> #include <memory> #include <list> #include "modificator.h" class Location; class Controller; class RemoveControllersModificator : public Modificator { public: explicit RemoveControllersModificator(); virtual ~RemoveControllersModificator() override; virtual void run() const override; void setDependentObjects(const std::shared_ptr<Location>& location, const std::list<std::shared_ptr<Controller>>& controllers, const std::string& new_message); private: std::shared_ptr<Location> _location; std::list<std::shared_ptr<Controller>> _controllers_to_remove; std::string _new_location_message; }; #endif // REMOVECONTROLLERSMODIFICATOR_H