#ifndef ROOMREALIZATION_H #define ROOMREALIZATION_H const int std_id_lobby = -1; class Server; class ChatSession; class ChatRoom { Server *the_server; const int code; // code == -1 it's lobby struct item { ChatSession *s; item *next; }; item *first; public: ChatRoom(Server *i_server, int id) : the_server(i_server), code(id), first(0) {} ~ChatRoom(); void SendAll(const char *msg, ChatSession *except = 0); void HandleMessage(ChatSession *ses, const char *str); void HandleCommand(ChatSession *ses, int cmd_counter, char **commands); void AddSession(ChatSession *ses); void RemoveSession(ChatSession *ses); void CloseSession(ChatSession *ses); }; #endif