#pragma once #include #include #include #include "Shell.hh" #include "ProxyServer.hh" class ProxyShell : public Shell { public: ProxyShell(std::shared_ptr base, std::shared_ptr state, std::shared_ptr proxy_server); virtual ~ProxyShell() = default; ProxyShell(const ProxyShell&) = delete; ProxyShell(ProxyShell&&) = delete; ProxyShell& operator=(const ProxyShell&) = delete; ProxyShell& operator=(ProxyShell&&) = delete; protected: std::shared_ptr proxy_server; virtual void execute_command(const std::string& command); };