From 048aaf0c4e77402adf584e3318e5aae6f1cdd749 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20P=C3=B6sel?= Date: Mon, 5 Nov 2012 21:11:48 +0000 Subject: XFire adoption (crashes on login, no 64bit) git-svn-id: http://svn.miranda-ng.org/main/trunk@2212 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- .../!NotAdopted/Xfire/xfiretest/packetreader.cpp | 163 --------------------- 1 file changed, 163 deletions(-) delete mode 100644 plugins/!NotAdopted/Xfire/xfiretest/packetreader.cpp (limited to 'plugins/!NotAdopted/Xfire/xfiretest/packetreader.cpp') diff --git a/plugins/!NotAdopted/Xfire/xfiretest/packetreader.cpp b/plugins/!NotAdopted/Xfire/xfiretest/packetreader.cpp deleted file mode 100644 index d06c480a6e..0000000000 --- a/plugins/!NotAdopted/Xfire/xfiretest/packetreader.cpp +++ /dev/null @@ -1,163 +0,0 @@ -/* - * xfirelib - C++ Library for the xfire protocol. - * Copyright (C) 2006 by - * Beat Wolf / http://gfire.sf.net - * Herbert Poul / http://goim.us - * http://xfirelib.sphene.net - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "stdafx.h" - -#include "packetreader.h" - -#include -#include "xfirepacket.h" - -#include "clientinformationpacket.h" -#include "authpacket.h" -#include "loginfailedpacket.h" -#include "loginsuccesspacket.h" -#include "buddylistonlinepacket.h" -#include "buddylistnamespacket.h" -#include "clanbuddylistnamespacket.h" -#include "xfireclanpacket.h" -#include "buddylistgamespacket.h" -#include "buddylistgames2packet.h" -#include "messagepacket.h" -#include "otherloginpacket.h" -#include "invitebuddypacket.h" -#include "inviterequestpacket.h" -#include "recvremovebuddypacket.h" -#include "recvstatusmessagepacket.h" -#include "recvoldversionpacket.h" -#include "recvdidpacket.h" -#include "recvprefspacket.h" -#include "gameinfopacket.h" -#include "claninvitationpacket.h" -#include "xfirefoundbuddys.h" -#include "buddyinfo.h" -#include "friendsoffriendlist.h" -#include "recvbuddychangednick.h" - -#include "xdebug.h" -//#include "packetlistener.h" - -namespace xfirelib { - using namespace std; - - PacketReader::PacketReader(Socket *socket) { - this->socket = socket; - this->packetListeners = new vector(); - - initPackets(); - } - void PacketReader::setSocket(Socket *socket) { - this->socket = socket; - } - PacketReader::~PacketReader() { - // TODO: delete each packetListener .. - delete packetListeners; - - while(!packets->empty()) { delete packets->at(packets->size()-1); packets->pop_back(); } - delete packets; - } - - void PacketReader::initPackets() { - packets = new vector (); - packets->push_back( new ClientInformationPacket() ); - packets->push_back( new AuthPacket() ); - packets->push_back( new LoginFailedPacket() ); - packets->push_back( new LoginSuccessPacket() ); - packets->push_back( new MessagePacket() ); - packets->push_back( new BuddyListOnlinePacket() ); - packets->push_back( new BuddyListNamesPacket() ); - packets->push_back( new BuddyListGamesPacket() ); - packets->push_back( new BuddyListGames2Packet() ); - packets->push_back( new OtherLoginPacket() ); - packets->push_back( new InviteBuddyPacket() ); - packets->push_back( new InviteRequestPacket() ); - packets->push_back( new RecvRemoveBuddyPacket() ); - packets->push_back( new RecvDidPacket() ); - packets->push_back( new RecvStatusMessagePacket() ); - packets->push_back( new RecvOldVersionPacket() ); - packets->push_back( new RecvPrefsPacket() ); - //neue packetklassen hinzugefügt - dufte - packets->push_back( new FriendsBuddyListNamesPacket() ); - packets->push_back( new ClanBuddyListNamesPacket() ); - packets->push_back( new XFireClanPacket() ); - packets->push_back( new GameInfoPacket() ); - packets->push_back( new ClanInvitationPacket() ); - packets->push_back( new XFireFoundBuddys() ); - packets->push_back( new BuddyInfoPacket() ); - packets->push_back( new RecvBuddyChangedNick() ); - } - - - void *muh(void *ptr); - - /* I moved thread starting to Client - - void PacketReader::startListening() { - PacketReader *myself = this; - void* (*func)(void*) = &xfirelib::PacketReader::thread_start; - XINFO(("About to start thread\n")); - int ret = pthread_create( &readthread, NULL, func, (void*)myself ); - XDEBUG(("ret: %d\n",ret)); - } - */ - - void PacketReader::run() { - // start receiving on socket... - XDEBUG(("Starting run() method .... \n")); - while(socket != NULL) { - string str; - //int b = socket->recv(str); - XFirePacket *packet = new XFirePacket(this); - XDEBUG(("Waiting for next packet ... \n")); - if(packet==NULL) continue; - packet->recvPacket( socket ); - XINFO(("Received packet\n")); - if(packet->getContent() != NULL) { - fireListeners( packet ); - } else { - XDEBUG(("Packet Content was NULL ... Unknown Packet Id ??\n")); - } - XDEBUG(("Notified Listeners\n"));// << b << "bytes: " << str << endl; - delete packet->getContent(); - delete packet; - } - } - - void PacketReader::fireListeners( XFirePacket *packet ) { - for(vector::iterator it = packetListeners->begin() ; - it != packetListeners->end() ; ++it) { - (*it)->receivedPacket( packet ); - } - } - - XFirePacketContent *PacketReader::getPacketContentClass(int packetId) { - XDEBUG(("Searching for a content class...\n")); - for(uint i = 0 ; i < packets->size() ; i++) - if(packets->at(i)->getPacketId() == packetId) return packets->at(i); - XDEBUG(("None Found\n")); - return NULL; - } - - void PacketReader::addPacketListener( PacketListener *listener ) { - packetListeners->push_back( listener ); - } -}; -- cgit v1.2.3