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