diff options
Diffstat (limited to 'src/Common/RequestManager.h')
-rw-r--r-- | src/Common/RequestManager.h | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/src/Common/RequestManager.h b/src/Common/RequestManager.h index f4ad208..8a3d151 100644 --- a/src/Common/RequestManager.h +++ b/src/Common/RequestManager.h @@ -28,28 +28,11 @@ namespace Mad { namespace Common { -class RequestBase; -class RequestHandler; class XmlRequest; class XmlRequestHandler; class RequestManager { private: - class RequestMap : private std::map<uint16_t,RequestHandler*> { - private: - // Prevent shallow copy - RequestMap(const RequestMap &o); - RequestMap& operator=(const RequestMap &o); - - public: - RequestMap() {} - ~RequestMap(); - - bool addRequest(uint16_t id, RequestHandler *info); - RequestHandler* findRequest(uint16_t id); - bool deleteRequest(uint16_t id); - }; - class XmlRequestMap : private std::map<uint16_t,XmlRequestHandler*> { private: // Prevent shallow copy @@ -65,22 +48,6 @@ class RequestManager { bool deleteRequest(uint16_t id); }; - class RequestHandlerFactory { - protected: - RequestHandlerFactory() {} - - public: - virtual RequestHandler* createRequestHandler() = 0; - virtual ~RequestHandlerFactory() {} - }; - - template<class T> class SpecificRequestHandlerFactory : public RequestHandlerFactory { - public: - virtual RequestHandler* createRequestHandler() { - return new T(); - } - }; - class XmlRequestHandlerFactory { protected: XmlRequestHandlerFactory() {} @@ -99,12 +66,10 @@ class RequestManager { static RequestManager requestManager; - std::map<Net::Connection*,RequestMap*> requestMaps; std::map<Net::Connection*,XmlRequestMap*> xmlRequestMaps; bool core; uint16_t requestId; - std::map<Net::Packet::Type,RequestHandlerFactory*> requestHandlerFactories; std::map<std::string,XmlRequestHandlerFactory*> xmlRequestHandlerFactories; uint16_t getRequestId() { @@ -137,19 +102,12 @@ class RequestManager { void registerConnection(Net::Connection *connection); void unregisterConnection(Net::Connection *connection); - template <class T> void registerPacketType(Net::Packet::Type type) { - requestHandlerFactories.insert(std::make_pair(type, new SpecificRequestHandlerFactory<T>())); - } - - void unregisterPacketType(Net::Packet::Type type); - template <class T> void registerPacketType(const std::string &type) { xmlRequestHandlerFactories.insert(std::make_pair(type, new SpecificXmlRequestHandlerFactory<T>())); } void unregisterPacketType(const std::string &type); - bool sendRequest(Net::Connection *connection, std::auto_ptr<RequestBase> request); bool sendRequest(Net::Connection *connection, std::auto_ptr<XmlRequest> request); virtual ~RequestManager(); |