From aaf9850c8350e3d7d20a91d3fe4e026576a7a032 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Sun, 2 Nov 2008 20:45:59 +0000 Subject: [FIX] Defined the *_IMPORT defines for libraries [FIX] Added more packet types [FIX] Sectioned off packet types [FIX] ConnectionHandler is now ClientHandler [ADD] Added a ProgressMeter class for allowing display of progress of packets git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@296 6ecfd1a5-f3ed-3746-8530-beee90d26b22 --- signet/Server.cpp | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) (limited to 'signet/Server.cpp') diff --git a/signet/Server.cpp b/signet/Server.cpp index aceba291..df61f47f 100644 --- a/signet/Server.cpp +++ b/signet/Server.cpp @@ -35,13 +35,27 @@ #include Signet::Server::Server(QObject* parent) : - ConnectionHandler(parent) + ClientHandler(parent) { loadConfiguration(); if (m_masterInfo.isValid()) connectToMaster(); } +void Signet::Server::packetReceived(QTcpSocket* client, Protocol::Packet* packet) +{ + QString receiver = packet->received(); + if (receiver.isEmpty()) + { + // TODO: Handle the packet + } + else + { + createRoom(receiver); + m_rooms[receiver]->packetReceived(client, packet); + } +} + void Signet::Server::createRoom(const QString& room) { if (m_rooms.contains(room)) @@ -103,29 +117,11 @@ void Signet::Server::masterError() qWarning("Master server socket error: %s", m_master->errorString().toUtf8().constData()); } -void Signet::Server::joinRoom(Client* client, const QString& roomName) -{ - if (!m_rooms.contains(roomName)) - createRoom(roomName); - if (!m_rooms[roomName]->addClient(client)) - { - // TODO: Let the client know about the error. - } -} - void Signet::Server::loadConfiguration() { if (KGlobal::config()->hasGroup("Master Server")) m_masterInfo.load(KGlobal::config()->group("Master Server")); - if (KGlobal::config()->hasGroup("Server Info")) - { - const KConfigGroup& group = KGlobal::config()->group("Server Info"); - m_name = group.readEntry("Name", ""); - if (m_name.isEmpty()) - qFatal("Server name is not set"); - } - else - qFatal("No \"Server Info\" group in configuration"); + m_name = KGlobal::config()->group("Server Info").readEntry("Name", ""); } void Signet::Server::connectToMaster() -- cgit