summaryrefslogtreecommitdiffstats
path: root/src/server/ChatRoom.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/ChatRoom.hpp')
-rw-r--r--src/server/ChatRoom.hpp22
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