NLS Engine  v0.1
The Next Logical Step in game engine design.
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines
Classes | Typedefs | Enumerations
MessageRouter.h File Reference

Message routing class to allow advanced subscription based messaging. More...

#include <map>
#include <queue>
#include <set>
#include <boost/bind.hpp>
#include <boost/function.hpp>
#include <threading.h>
#include "Envelope_fwd.h"
Include dependency graph for MessageRouter.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  MessageRouter

Typedefs

typedef boost::function< void(EnvelopeSPTR)> Subscriber
typedef boost::function
< EnvelopeSPTR(EnvelopeSPTR)> 
DirectedSubscriber
typedef std::shared_ptr
< Subscriber > 
SubscriberSPTR
typedef std::set< SubscriberSPTR > SubscriberCollectionType
typedef std::map< int,
SubscriberCollectionType > 
SubscriptionsType
typedef std::map< int,
std::shared_ptr
< DirectedSubscriber > > 
DirectedSubscriptionsType

Enumerations

enum  CORE_MESSAGE {
  STARTUP = 0x0000, QUIT = 0x0099, SHUTDOWN = 0x0100, CREATE = 0x0001,
  LOADLIBRARY = 0x0002, MODULESTARTED = 0x0003
}

Detailed Description

Message routing class to allow advanced subscription based messaging.

Author:
Adam Martin
Date:
2011-010-28

Definition in file MessageRouter.h.