From 920c506d477bd7f357e05590e8cdedf8e5e8a1b8 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Sat, 13 Sep 2008 02:23:04 +0200 Subject: Einige Umstrukturierungen an den RequestHandler-Klassen --- src/Common/RequestManager.cpp | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) (limited to 'src/Common/RequestManager.cpp') diff --git a/src/Common/RequestManager.cpp b/src/Common/RequestManager.cpp index f8d5450..e71fd07 100644 --- a/src/Common/RequestManager.cpp +++ b/src/Common/RequestManager.cpp @@ -19,12 +19,19 @@ #include "RequestManager.h" #include "Request/Request.h" +#include "RequestHandler/DisconnectRequestHandler.h" +#include "RequestHandler/IdentifyRequestHandler.h" #include namespace Mad { namespace Common { +RequestManager::RequestManager(bool core) : requestId(core ? -2 : -1) { + registerPacketType(Net::Packet::DISCONNECT); + registerPacketType(Net::Packet::IDENTIFY); +} + void RequestManager::receiveHandler(Net::Connection *connection, const Net::Packet &packet) { std::map::iterator it = requestMaps.find(connection); @@ -36,7 +43,7 @@ void RequestManager::receiveHandler(Net::Connection *connection, const Net::Pack } RequestMap *requestMap = it->second; - RequestHandler *request = requestMap->findRequest(packet.getRequestId()); + RequestHandler::RequestHandler *request = requestMap->findRequest(packet.getRequestId()); if(request) { request->handlePacket(connection, packet); @@ -61,19 +68,7 @@ void RequestManager::receiveHandler(Net::Connection *connection, const Net::Pack } - switch(packet.getType()) { - case Net::Packet::DISCONNECT: - connection->send(Net::Packet(Net::Packet::OK, packet.getRequestId())); - connection->disconnect(); - break; - case Net::Packet::IDENTIFY: - std::cout << "Received identify request from '" << std::string((char*)packet.getData(), packet.getLength()) << "'." << std::endl; - - connection->send(Net::Packet(Net::Packet::IDENTIFY, packet.getRequestId(), packet.getData(), packet.getLength())); - break; - default: - std::cerr << "Received an unexpected packet." << std::endl; - } + std::cerr << "Received an unexpected packet." << std::endl; } bool RequestManager::sendRequest(Net::Connection *connection, Request::Request *request) { -- cgit v1.2.3