00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <map>
00022
00023 #include "Who.h"
00024 #include "InSocket.h"
00025 #include "FutureHandler.h"
00026 #include "Player.h"
00027
00028
00029 void Who::Execute(InSocket *from,const std::string& params,Parse& pa)
00030 {
00031 Database& db = from -> GetDatabase();
00032 std::map<SOCKET,Socket *>& ref = static_cast<FutureHandler&>(from -> Handler()).Sockets();
00033 for (std::map<SOCKET,Socket *>::iterator it = ref.begin(); it != ref.end(); it++)
00034 {
00035 Socket *p0 = (*it).second;
00036 InSocket *p = dynamic_cast<InSocket *>(p0);
00037 if (p)
00038 {
00039 Player pl(db, p -> GetAccountName());
00040 from -> Send(pl.GetDisplayName() + "\n");
00041 }
00042 }
00043 from -> SetPrompt();
00044 }
00045
00046
00047
00048
00049