summaryrefslogtreecommitdiffstats
path: root/src/Client/Request/CoreStatusRequest.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Client/Request/CoreStatusRequest.h')
-rw-r--r--src/Client/Request/CoreStatusRequest.h51
1 files changed, 14 insertions, 37 deletions
diff --git a/src/Client/Request/CoreStatusRequest.h b/src/Client/Request/CoreStatusRequest.h
index 328c4ff..1a6a01e 100644
--- a/src/Client/Request/CoreStatusRequest.h
+++ b/src/Client/Request/CoreStatusRequest.h
@@ -20,14 +20,22 @@
#ifndef MAD_CLIENT_REQUEST_CORESTATUSREQUEST_H_
#define MAD_CLIENT_REQUEST_CORESTATUSREQUEST_H_
-#include <Common/RequestManager.h>
#include <Common/Request/Request.h>
-#include <Net/Connection.h>
-#include <Net/Packets/HostStatusPacket.h>
#include <sigc++/signal.h>
namespace Mad {
+
+namespace Common {
+class RequestManager;
+}
+
+namespace Net {
+namespace Packets {
+class HostStatusPacket;
+}
+}
+
namespace Client {
namespace Request {
@@ -38,41 +46,10 @@ class CoreStatusRequest: public Common::Request::Request {
CoreStatusRequest() {}
public:
- static bool send(Net::Connection *connection, Common::RequestManager &requestManager, const sigc::slot<void,const Net::Packets::HostStatusPacket&> &callback) {
- CoreStatusRequest *request = new CoreStatusRequest();
-
- request->finished.connect(callback);
-
- if(requestManager.sendRequest(connection, request))
- return true;
-
- delete request;
- return false;
- }
-
- virtual bool sendRequest(Net::Connection *connection, uint16_t requestId) {
- if(isSent())
- return false;
-
- if(!connection->send(Net::Packet(Net::Packet::CORE_STATUS, requestId)))
- return false;
-
- setSent();
- return true;
- }
-
- virtual bool 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));
+ static bool send(Net::Connection *connection, Common::RequestManager &requestManager, const sigc::slot<void,const Net::Packets::HostStatusPacket&> &callback);
- setFinished();
- return true;
- }
+ virtual bool sendRequest(Net::Connection *connection, uint16_t requestId);
+ virtual bool handlePacket(Net::Connection*, const Net::Packet &packet);
};
}