![]() |
Vault
4.1
|
#include "vtypes.h"#include "vstring.h"#include "vmutex.h"#include "vmutexlocker.h"#include "vmessage.h"#include "vclientsession.h"Go to the source code of this file.
Classes | |
| class | VMessageHandler |
| VMessageHandler is the abstract base class for objects that process inbound messages from various client connections. More... | |
| class | VMessageHandlerFactory |
| VMessageHandlerFactory defines the interface for factory objects that know how to create the appropriate type of concrete VMessageHandler subclass for a particular message ID or set of message IDs. More... | |
| class | VMessageHandlerTask |
| This interface defines a background task object that can be attached to a VClientSession, such that the session will not destruct until all attached tasks have ended. More... | |
Defines | |
| #define | DEFINE_MESSAGE_HANDLER_FACTORY(messageid, factoryclassname, handlerclassname, descriptivename) |
| #define | DECLARE_MESSAGE_HANDLER_FACTORY(factoryclassname) factoryclassname factoryclassname::gFactory |
| #define | FORCE_LINK_MESSAGE_HANDLER_FACTORY(factoryclassname) if (false) { factoryclassname dummy; } |
Typedefs | |
|
typedef std::map< VMessageID, VMessageHandlerFactory * > | VMessageHandlerFactoryMap |
Definition in file vmessagehandler.h.
| #define DEFINE_MESSAGE_HANDLER_FACTORY | ( | messageid, | |
| factoryclassname, | |||
| handlerclassname, | |||
| descriptivename | |||
| ) |
class factoryclassname : public VMessageHandlerFactory { \ public: \ \ factoryclassname() : VMessageHandlerFactory(), mName(VSTRING_ARGS("%s (%s)",#handlerclassname,descriptivename)) { VMessageHandler::registerHandlerFactory(messageid, this); } \ virtual ~factoryclassname() {} \ \ virtual VMessageHandler* createHandler(VMessagePtr m, VServer* server, VClientSessionPtr session, VSocketThread* thread) \ { return new handlerclassname(mName, m, server, session, thread); } \ \ private: \ \ static factoryclassname gFactory; \ VString mName; \ \ }
Definition at line 241 of file vmessagehandler.h.