Logo
~Sockets~
~Examples~
~Contact~


DChatHandler.cpp

Go to the documentation of this file.
00001 
00006 /*
00007 Copyright (C) 2004  Anders Hedstrom
00008 
00009 This program is free software; you can redistribute it and/or
00010 modify it under the terms of the GNU General Public License
00011 as published by the Free Software Foundation; either version 2
00012 of the License, or (at your option) any later version.
00013 
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017 GNU General Public License for more details.
00018 
00019 You should have received a copy of the GNU General Public License
00020 along with this program; if not, write to the Free Software
00021 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00022 */
00023 //#include <stdio.h>
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 
Page, code, and content Copyright (C) 2006 by Anders Hedström
Generated on Mon Aug 29 20:21:47 2005 for C++ Sockets by  doxygen 1.4.4