summaryrefslogtreecommitdiffstats
path: root/src/server/chat.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/chat.hpp')
-rw-r--r--src/server/chat.hpp84
1 files changed, 0 insertions, 84 deletions
diff --git a/src/server/chat.hpp b/src/server/chat.hpp
deleted file mode 100644
index 4b6c8b1..0000000
--- a/src/server/chat.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-#ifndef CHATREALIZATION_H
-#define CHATREALIZATION_H
-
-#include "sockets.hpp"
-#include "../const_vars.hpp"
-
-#define CONSOLE_LOG(f_, ...) printf((f_), ##__VA_ARGS__)
-
-enum handle_room_enter {
- enter_noexist,
- enter_private,
- enter_uncorrect_pass,
- enter_success
-};
-
-enum enum_status {
- wait_name, // expecting a username from player
- wait_reg, // expecting registration
- wait_log, // expecting login
- no_wait
-};
-
-class ChatRoom;
-class Server;
-
-class ChatSession : FdHandler {
- friend class Server;
- friend class ChatRoom;
-
- char name[max_name_len];
- char buffer[max_msg_len];
- int buf_used;
- bool ignoring;
-
- enum_status state;
- ChatRoom *the_master;
-
- ChatSession(ChatRoom *i_master, int i_fd) : FdHandler(i_fd),
- buf_used(0), ignoring(false), state(wait_name),
- the_master(i_master) {}
- ~ChatSession() {}
-
- void SetRoom(ChatRoom *new_master);
-
- virtual void Handle(bool r, bool w);
- void ReadAndIgnore();
- void ReadAndCheck();
- void CheckLines();
-public:
- const char *GetName();
-
- void SetName(const char *n_name);
- void Send(const char *msg, const int spec_msg = system_msg);
-};
-
-class Server : public FdHandler {
- EventSelector *the_selector;
- ChatRoom **room;
- int room_len;
-
- ChatRoom *lobby;
-
- Server(EventSelector *sel, int fd);
-public:
- ~Server();
-
- static Server *Start(EventSelector *sel, int port);
-
- bool RoomExist(int id) const;
-
- int AddRoom(char *password);
- bool DeleteRoom(int id); // call only if room is empty
-
- void GotoLobby(ChatRoom *cur_room, ChatSession *s);
- handle_room_enter ChangeSessionRoom(ChatRoom *cur_room,
- ChatSession *s, int id, char *pass);
- void CloseConnection(ChatSession *s)
- { the_selector->Remove(s); delete s; }
-private:
- virtual void Handle(bool r, bool w);
-};
-
-
-#endif \ No newline at end of file