diff options
Diffstat (limited to 'src/Common/Request/DisconnectRequest.cpp')
-rw-r--r-- | src/Common/Request/DisconnectRequest.cpp | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/src/Common/Request/DisconnectRequest.cpp b/src/Common/Request/DisconnectRequest.cpp deleted file mode 100644 index 0f8a3c0..0000000 --- a/src/Common/Request/DisconnectRequest.cpp +++ /dev/null @@ -1,67 +0,0 @@ -/* - * DisconnectRequest.cpp - * - * Copyright (C) 2008 Matthias Schiffer <matthias@gamezock.de> - * - * 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 3 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, see <http://www.gnu.org/licenses/>. - */ - -#include "DisconnectRequest.h" -#include "../RequestManager.h" - -namespace Mad { -namespace Common { -namespace Request { - -bool DisconnectRequest::send(Net::Connection *connection, RequestManager &requestManager, const sigc::slot<void> &callback) { - DisconnectRequest *request = new DisconnectRequest(); - - request->finished.connect(callback); - - if(requestManager.sendRequest(connection, request)) - return true; - - delete request; - return false; -} - -bool DisconnectRequest::sendRequest(Net::Connection *connection, uint16_t requestId) { - if(isSent()) - return false; - - if(!connection->send(Net::Packet(Net::Packet::DISCONNECT, requestId))) - return false; - - setSent(); - return true; -} - -bool DisconnectRequest::handlePacket(Net::Connection *connection, const Net::Packet &packet) { - if(isFinished()) - return false; - - if(packet.getType() != Net::Packet::OK) - return false; // TODO Logging - - connection->disconnect(); - - finished(); - - setFinished(); - return true; -} - -} -} -} |