summaryrefslogtreecommitdiffstats
path: root/src/Common/Request/IdentifyRequest.h
diff options
context:
space:
mode:
authorMatthias Schiffer <matthias@gamezock.de>2008-09-13 03:59:58 +0200
committerMatthias Schiffer <matthias@gamezock.de>2008-09-13 03:59:58 +0200
commit7e87778a02f3d37865c10051a3f14038bbbcbaef (patch)
treeb1853c2e1d94d0d8d7d87b3e5db73fa618019b29 /src/Common/Request/IdentifyRequest.h
parent920c506d477bd7f357e05590e8cdedf8e5e8a1b8 (diff)
downloadmad-7e87778a02f3d37865c10051a3f14038bbbcbaef.tar
mad-7e87778a02f3d37865c10051a3f14038bbbcbaef.zip
Benutze weniger Inline-Funktionen
Diffstat (limited to 'src/Common/Request/IdentifyRequest.h')
-rw-r--r--src/Common/Request/IdentifyRequest.h43
1 files changed, 7 insertions, 36 deletions
diff --git a/src/Common/Request/IdentifyRequest.h b/src/Common/Request/IdentifyRequest.h
index 2637e47..276da23 100644
--- a/src/Common/Request/IdentifyRequest.h
+++ b/src/Common/Request/IdentifyRequest.h
@@ -21,55 +21,26 @@
#define MAD_COMMON_REQUEST_IDENTIFYREQUEST_H_
#include "Request.h"
-#include "../RequestManager.h"
-#include <Net/Connection.h>
-#include <Net/Packet.h>
#include <string>
-#include <iostream>
-
namespace Mad {
namespace Common {
+
+class RequestManager;
+
namespace Request {
-class IdentifyRequest: public Request {
+class IdentifyRequest : public Request {
private:
IdentifyRequest(const std::string &hostname0) : hostname(hostname0) {}
std::string hostname;
public:
- static bool send(Net::Connection *connection, RequestManager &requestManager, const std::string &hostname0) {
- IdentifyRequest *request = new IdentifyRequest(hostname0);
-
- 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::IDENTIFY, requestId, hostname.c_str(), hostname.length())))
- 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
+ static bool send(Net::Connection *connection, RequestManager &requestManager, const std::string &hostname0);
- setFinished();
- return true;
- }
+ virtual bool sendRequest(Net::Connection *connection, uint16_t requestId);
+ virtual bool handlePacket(Net::Connection*, const Net::Packet &packet);
};
}