summaryrefslogtreecommitdiffstats
path: root/src/server/rooms.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/rooms.hpp')
-rw-r--r--src/server/rooms.hpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/server/rooms.hpp b/src/server/rooms.hpp
index 9423be1..4d71d0b 100644
--- a/src/server/rooms.hpp
+++ b/src/server/rooms.hpp
@@ -1,7 +1,10 @@
#ifndef ROOMREALIZATION_H
#define ROOMREALIZATION_H
+#include "../const_vars.hpp"
+
const int std_id_lobby = -1;
+const int max_room_lenpass = 24;
class Server;
class ChatSession;
@@ -9,7 +12,9 @@ class ChatSession;
class ChatRoom {
Server *the_server;
const int code;
- // code == -1 it's lobby
+ // if code == std_id_lobby then it's lobby
+
+ char secret_pass[max_room_lenpass];
struct item {
ChatSession *s;
@@ -17,16 +22,18 @@ class ChatRoom {
};
item *first;
public:
- ChatRoom(Server *i_server, int id)
- : the_server(i_server), code(id), first(0) {}
+ ChatRoom(Server *i_server, int id, char *pass);
~ChatRoom();
- void SendAll(const char *msg, ChatSession *except = 0);
+ void SendAll(const char *msg, ChatSession *except = 0,
+ const int spec_msg = system_msg);
void HandleMessage(ChatSession *ses, const char *str);
void HandleCommand(ChatSession *ses, int cmd_counter,
char **commands);
+ const char *GetSecretPass();
+
void AddSession(ChatSession *ses);
void RemoveSession(ChatSession *ses);
void CloseSession(ChatSession *ses);