2 #include <samchon/protocol/Entity.hpp>     3 #include <samchon/protocol/IProtocol.hpp>     6 #include <samchon/library/CriticalSet.hpp>    13         namespace chat_service
    40                 virtual auto TAG() const -> 
std::
string { 
return "room"; };
    93                 virtual void replyData(std::shared_ptr<protocol::Invoke>) 
override;
    94                 virtual void sendData(std::shared_ptr<protocol::Invoke>) 
override;  
   100                 virtual auto toXML() const -> 
std::shared_ptr<library::XML> override;
 An entity, a standard data class. 
 
ChatUser * host
A host, who established the room. 
 
library::CriticalSet< ChatService * > participants
Participants, ChatUser(s) in the room. 
 
ChatRoomArray * roomArray
All rooms that the room is belonged to. 
 
void registerClient(ChatService *)
Register a participant client. 
 
void eraseClient(ChatService *)
Erase a participant client. 
 
std::string name
Name of the room. 
 
ChatRoom(ChatRoomArray *, const std::string &, ChatUser *)
Construct from rooms, name and host.