00001
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include <Utility.h>
00025 #include "DChatHandler.h"
00026
00027
00028
00029
00030 DChatHandler::DChatHandler(const std::string& f)
00031 :MinderHandler()
00032 {
00033 }
00034
00035
00036 DChatHandler::~DChatHandler()
00037 {
00038 }
00039
00040
00041 void DChatHandler::Who(ChatSocket *)
00042 {
00043 SendMessage(Utility::base64("who"));
00044 }
00045
00046
00047 void DChatHandler::Talk(const std::string& name,const std::string& prat)
00048 {
00049 std::string msg = "talk:" + Utility::base64(name);
00050 msg += ":" + prat;
00051 SendMessage(Utility::base64(msg));
00052 }
00053
00054
00055 void DChatHandler::SendWho()
00056 {
00057 for (socket_m::iterator it = m_sockets.begin(); it != m_sockets.end(); it++)
00058 {
00059 Socket *p0 = (*it).second;
00060 ChatSocket *p = dynamic_cast<ChatSocket *>(p0);
00061 if (p)
00062 {
00063 std::string msg = "online:" + Utility::base64(p -> GetName());
00064 SendMessage(Utility::base64(msg));
00065 }
00066 }
00067 }
00068
00069
00070 void DChatHandler::SendTalk(const std::string& who,const std::string& prat)
00071 {
00072 for (socket_m::iterator it = m_sockets.begin(); it != m_sockets.end(); it++)
00073 {
00074 Socket *p0 = (*it).second;
00075 ChatSocket *p = dynamic_cast<ChatSocket *>(p0);
00076 if (p)
00077 {
00078 std::string str = who + " says '" + prat + "'\n";
00079 p -> Send( "\n" + str);
00080 p -> Send(">");
00081 }
00082 }
00083 }
00084
00085
00086 void DChatHandler::ShowWho(const std::string& who)
00087 {
00088 for (socket_m::iterator it = m_sockets.begin(); it != m_sockets.end(); it++)
00089 {
00090 Socket *p0 = (*it).second;
00091 ChatSocket *p = dynamic_cast<ChatSocket *>(p0);
00092 if (p)
00093 {
00094 std::string str = who + " is online.\n";
00095 p -> Send( "\n" + str);
00096 p -> Send(">");
00097 }
00098 }
00099 }
00100
00101