diff options
Diffstat (limited to 'network-handler/client.hpp')
| -rw-r--r-- | network-handler/client.hpp | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/network-handler/client.hpp b/network-handler/client.hpp index fa0c6d6..2b6a6df 100644 --- a/network-handler/client.hpp +++ b/network-handler/client.hpp @@ -8,26 +8,17 @@ class Client { public: typedef std::function<void(void)> OnDoneFT; + typedef std::function<void(std::vector<uint8_t>)> MessageHandler; private: boost::asio::ip::tcp::socket socket; boost::asio::streambuf buffer; OnDoneFT done; - Client() = delete; - Client(Client const&) = delete; - Client(Client&&) = delete; - - Client& operator=(Client const&) = delete; - Client& operator=(Client&&) = delete; - -protected: - virtual void handle_message(std::vector<uint8_t> message) = 0; - public: Client(boost::asio::ip::tcp::socket&& socket); - void handle_receive(boost::system::error_code const& ec, size_t read_bytes); - void receive(); + void handle_receive(MessageHandler message_handler, boost::system::error_code const& ec, size_t read_bytes); + void receive(MessageHandler message_handler); void on_done(OnDoneFT f); }; |
