diff options
Diffstat (limited to 'src/server/ChatRoom.hpp')
-rw-r--r-- | src/server/ChatRoom.hpp | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/src/server/ChatRoom.hpp b/src/server/ChatRoom.hpp index a9e2492..eac97c5 100644 --- a/src/server/ChatRoom.hpp +++ b/src/server/ChatRoom.hpp @@ -1,5 +1,5 @@ -#ifndef ROOMREALIZATION_H -#define ROOMREALIZATION_H +#ifndef WC_CHATROOM_H +#define WC_CHATROOM_H #include "../const_vars.hpp" @@ -9,25 +9,18 @@ const int max_player_lenpass = 24; class ChatServer; class UserInfo; +class StorageOfUsers; class ChatRoom { ChatServer *the_server; - const int code; - // if code == std_id_lobby then it's lobby + const int code; // if code == std_id_lobby then it's lobby char secret_pass[max_room_lenpass]; - struct item { - UserInfo *u; - item *next; - }; - item *first; + StorageOfUsers *users; public: ChatRoom(ChatServer *i_server, int id, char *pass); ~ChatRoom(); - void SendAll(const char *msg, UserInfo *except = 0, - const int spec_msg = system_msg); - void HandleMessage(UserInfo *u, const char *str); void HandleCommand(UserInfo *u, int cmd_counter, char **commands); @@ -37,6 +30,11 @@ public: void AddSession(UserInfo *u); void RemoveSession(UserInfo *u); void CloseSession(UserInfo *u); + + static unsigned long hash(const char *str); +private: + static char **ParseToArg(const char *input, int &arrc); + static bool checkForbiddenSymbols(const char *str); }; #endif
\ No newline at end of file |