Vault  4.1
Classes | Defines | Typedefs
vmessagehandler.h File Reference
#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

Detailed Description

Definition in file vmessagehandler.h.


Define Documentation

#define DEFINE_MESSAGE_HANDLER_FACTORY (   messageid,
  factoryclassname,
  handlerclassname,
  descriptivename 
)
Value:
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.


Copyright ©1997-2014 Trygve Isaacson. All rights reserved. This documentation was generated with Doxygen.