![]() |
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.