From 27cd9aded215835ffde615153600476bf9be2473 Mon Sep 17 00:00:00 2001 From: Joursoir Date: Tue, 8 Dec 2020 12:48:16 +0000 Subject: create base class for all client, add some functionality to gui --- src/client/ClientBase.hpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/client/ClientBase.hpp (limited to 'src/client/ClientBase.hpp') diff --git a/src/client/ClientBase.hpp b/src/client/ClientBase.hpp new file mode 100644 index 0000000..425929f --- /dev/null +++ b/src/client/ClientBase.hpp @@ -0,0 +1,28 @@ +#ifndef WC_CLIENTBASE_H +#define WC_CLIENTBASE_H + +#include "../const_vars.hpp" + +class ClientBase { +protected: + int fd; + char in_buffer[max_usermsg_len]; // for input + int in_buf_used; + + char out_buffer[max_msg_len]; // for message + int out_buf_used; + + bool exit_flag; +public: + ClientBase(const char* ip, int port); + virtual ~ClientBase(); + int ConstuctorError() const { return fd > -1 ? 0 : 1; } + + int Run(); + virtual void HandleActions() {} + virtual void ShowMessage(const char *msg) {} +private: + int CreateSocket(const char* ip, int port); +}; + +#endif \ No newline at end of file -- cgit v1.2.3-18-g5258