diff options
Diffstat (limited to 'src/Client/Requests/CoreStatusRequest.cpp')
-rw-r--r-- | src/Client/Requests/CoreStatusRequest.cpp | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/src/Client/Requests/CoreStatusRequest.cpp b/src/Client/Requests/CoreStatusRequest.cpp index af34752..1c477b8 100644 --- a/src/Client/Requests/CoreStatusRequest.cpp +++ b/src/Client/Requests/CoreStatusRequest.cpp @@ -38,27 +38,20 @@ bool CoreStatusRequest::send(Net::Connection *connection, const sigc::slot<void, } bool CoreStatusRequest::sendRequest(Net::Connection *connection, uint16_t requestId) { - if(isSent()) + if(!connection->send(Net::Packet(Net::Packet::STATUS, requestId))) return false; - if(!connection->send(Net::Packet(Net::Packet::CORE_STATUS, requestId))) - return false; - - setSent(); return true; } bool CoreStatusRequest::handlePacket(Net::Connection*, const Net::Packet &packet) { - if(isFinished()) - return false; - if(packet.getType() != Net::Packet::OK) return false; // TODO Logging - finished(Net::Packets::HostStatusPacket(packet)); + finished(Net::Packets::HostStatusPacket(packet)); - setFinished(); - return true; + signalFinished().emit(); + return true; } } |