aboutsummaryrefslogtreecommitdiff
path: root/network-handler/client.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'network-handler/client.hpp')
-rw-r--r--network-handler/client.hpp15
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);
};