00001
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include "DChatHandler.h"
00025 #include "DChatMinionSocket.h"
00026 #include <Parse.h>
00027
00028 #define DEB(x) x
00029
00030
00031 DChatMinionSocket::DChatMinionSocket(ISocketHandler& h)
00032 :MinionSocket(h)
00033 {
00034 }
00035
00036
00037 DChatMinionSocket::DChatMinionSocket(ISocketHandler& h,const std::string& s,ipaddr_t a,port_t p)
00038 :MinionSocket(h,s,a,p)
00039 {
00040 }
00041
00042
00043 DChatMinionSocket::~DChatMinionSocket()
00044 {
00045 }
00046
00047
00048 bool DChatMinionSocket::OnVerifiedLine(const std::string& cmd,Parse& pa)
00049 {
00050 if (cmd == "who")
00051 {
00052 static_cast<DChatHandler&>(Handler()).SendWho();
00053 }
00054 else
00055 if (cmd == "talk")
00056 {
00057 std::string who = Utility::base64d(pa.getword());
00058 std::string prat = pa.getrest();
00059 static_cast<DChatHandler&>(Handler()).SendTalk(who,prat);
00060 }
00061 else
00062 if (cmd == "online")
00063 {
00064 std::string who = Utility::base64d(pa.getword());
00065 static_cast<DChatHandler&>(Handler()).ShowWho(who);
00066 }
00067 else
00068 {
00069 return MinionSocket::OnVerifiedLine(cmd, pa);
00070 }
00071 return true;
00072 }
00073
00074