00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "ChatSocket.h"
00023 #include "ChatHandler.h"
00024
00025
00026
00027
00028 ChatHandler::ChatHandler()
00029 :SocketHandler()
00030 {
00031 }
00032
00033
00034 ChatHandler::~ChatHandler()
00035 {
00036 }
00037
00038
00039 void ChatHandler::Talk(const std::string& name,const std::string& line)
00040 {
00041 std::string str = "\n";
00042 str += name + " says '" + line + "'\n";
00043
00044 for (socket_m::iterator it = m_sockets.begin(); it != m_sockets.end(); it++)
00045 {
00046
00047 Socket *p0 = (*it).second;
00048 ChatSocket *p = dynamic_cast<ChatSocket *>(p0);
00049 if (p)
00050 {
00051 p -> Send(str);
00052 }
00053 }
00054 }
00055
00056
00057 void ChatHandler::Who(ChatSocket *p2)
00058 {
00059 for (socket_m::iterator it = m_sockets.begin(); it != m_sockets.end(); it++)
00060 {
00061
00062 Socket *p0 = (*it).second;
00063 ChatSocket *p = dynamic_cast<ChatSocket *>(p0);
00064 if (p)
00065 {
00066 p2 -> Send(p -> GetName() + "\n");
00067 }
00068 }
00069 }
00070
00071