#ifndef DISPATCHERS_H #define DISPATCHERS_H class Dispatch; #include "session.h" // possibly setup a timer to call Dispatch. class Dispatch { protected: Session &sess; public: Dispatch(Session &); virtual ~Dispatch(); virtual void server_line(const std::string &line) = 0; virtual void server_prompt(const std::string &prompt) = 0; virtual void client_input(const std::string &input) = 0; const std::string &get_prompt(void); void to_server(const std::string &send); void to_client(const std::string &send); }; class CoreDispatch : public Dispatch { public: CoreDispatch(Session &); void server_line(const std::string &line) override; void server_prompt(const std::string &prompt) override; void client_input(const std::string &input) override; }; #endif