summaryrefslogtreecommitdiffstats
path: root/src/client/clui/Client.hpp
diff options
context:
space:
mode:
authorJoursoir <chat@joursoir.net>2020-12-09 19:34:04 +0000
committerJoursoir <chat@joursoir.net>2020-12-09 19:34:04 +0000
commit4131de177e36b19b20b8bbdb7bd43b18b6e22690 (patch)
tree7540050cbe152fc1257585f4fd30cf9b020508c0 /src/client/clui/Client.hpp
parent1baf22ad58cc1a9aa9089ca9a09fc80a453cb3c9 (diff)
downloadwant-chat-4131de177e36b19b20b8bbdb7bd43b18b6e22690.tar.gz
want-chat-4131de177e36b19b20b8bbdb7bd43b18b6e22690.tar.bz2
want-chat-4131de177e36b19b20b8bbdb7bd43b18b6e22690.zip
clui: architecture go to base class for clients; fix bugs
Diffstat (limited to 'src/client/clui/Client.hpp')
-rw-r--r--src/client/clui/Client.hpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/client/clui/Client.hpp b/src/client/clui/Client.hpp
new file mode 100644
index 0000000..37bc3e0
--- /dev/null
+++ b/src/client/clui/Client.hpp
@@ -0,0 +1,55 @@
+#ifndef WC_CLUI_CLIENT_H
+#define WC_CLUI_CLIENT_H
+
+#include "../../const_vars.hpp"
+#include "../ClientBase.hpp"
+
+class ChatRoom;
+
+class Client : public ClientBase {
+ char in_buffer[max_usermsg_len]; // for input
+ int in_buf_used;
+
+ bool exit_flag;
+
+ ChatRoom *room;
+public:
+ Client(const char* ip, int port, ChatRoom *i_room)
+ : ClientBase(ip, port), in_buf_used(0),
+ exit_flag(false), room(i_room) {}
+ ~Client() {}
+
+ virtual void HandleActions();
+ virtual void AddMessage(const char *msg, int type);
+private:
+ void AddCharToBuffer(char ch);
+ void RemoveCharFromBuffer();
+};
+
+
+/*class Client {
+ 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;
+
+ Client(int i_fd) : fd(i_fd), in_buf_used(0),
+ out_buf_used(0), exit_flag(false) {}
+public:
+ ~Client() { close(fd); }
+
+ static Client *Start(const char* ip, int port);
+ void Run(ChatRoom *room);
+ void BreakLoop() { exit_flag = true; }
+ void HandleButton(ChatRoom *room);
+
+ void AddCharToBuffer(char ch);
+ void RemoveCharFromBuffer();
+ void SendMessage();
+};*/
+
+#endif \ No newline at end of file