#pragma once #include #include #include #include "Shell.hh" #include "ProxyServer.hh" #define SHELL_PROMPT "newserv> " class ServerShell : public Shell { public: ServerShell( std::shared_ptr base, std::shared_ptr state); virtual ~ServerShell() = default; ServerShell(const ServerShell&) = delete; ServerShell(ServerShell&&) = delete; ServerShell& operator=(const ServerShell&) = delete; ServerShell& operator=(ServerShell&&) = delete; protected: std::shared_ptr state; std::shared_ptr get_proxy_session( const std::string& name); virtual void print_prompt(); virtual void execute_command(const std::string& command); };