| 
    i6engine
    1.0
    
   | 
 
Interface for every class that wants to subscribe to the messaging system. More...
#include <D:/Projekte/i6engine/libs/i6engine-core/include/i6engine/core/messaging/MessageSubscriber.h>
Public Member Functions | |
| MessageSubscriber () | |
| Standard constructor.  More... | |
| virtual | ~MessageSubscriber () | 
| Destructor.  More... | |
| void | receiveMessage (const Message::Ptr &msg) | 
| This method is called from the MessagingController. It stores incoming messages in a local buffer.  More... | |
| virtual void | processMessages () | 
| This method goes through the local message buffer and calls the appropriate method of the receiver.  More... | |
| void | notifyNewID (const int64_t id) | 
| This method notifies the MessagingController that Messages waiting for this id can now be delivered.  More... | |
| void | buffer (const ReceivedMessagePtr &msg) | 
| Calls deliverMessageInternal if the message should be delivered now, buffers it if not.  More... | |
| void | reset () | 
| todo  More... | |
| void | addMethod (uint16_t msgType, const boost::function< void(const Message::Ptr &)> &ptrMessageMethod) | 
| adds a method for given message type where messages shall be delivered  More... | |
| void | removeMethod (uint16_t msgType) | 
| removes method for given message type  More... | |
Protected Member Functions | |
| void | swapMessageBuffer () | 
| This method will swap the double message buffer. For synchronization reasons.  More... | |
| bool | updateBuffer () | 
| This method delivers all waiting Messages that can now be delivered.  More... | |
| virtual void | deliverMessageInternal (const ReceivedMessagePtr &msg) | 
| This method really delivers the Message without buffering it anymore.  More... | |
Protected Attributes | |
| boost::mutex | _objMessageVectorMutex | 
| MessageVector | _objMessageVectorA | 
| MessageVector | _objMessageVectorB | 
| MessageVector * | _objActiveMessageVector | 
| MessageVector * | _objInActiveMessageVector | 
| std::map< uint16_t, boost::function< void(const Message::Ptr &)> > | _ptrMessageMethod | 
Interface for every class that wants to subscribe to the messaging system.
All instances of the classes SubSystem and GOComponent inherit from this class.
MessageVector is an alias for std::vector<ReceivedMessage>Definition at line 76 of file MessageSubscriber.h.
      
  | 
  inline | 
Standard constructor.
Definition at line 81 of file MessageSubscriber.h.
      
  | 
  inlinevirtual | 
Destructor.
Definition at line 87 of file MessageSubscriber.h.
      
  | 
  inline | 
adds a method for given message type where messages shall be delivered
Definition at line 123 of file MessageSubscriber.h.
| void i6e::core::MessageSubscriber::buffer | ( | const ReceivedMessagePtr & | msg | ) | 
Calls deliverMessageInternal if the message should be delivered now, buffers it if not.
| msg | Message to be be delivered. | 
      
  | 
  protectedvirtual | 
| void i6e::core::MessageSubscriber::notifyNewID | ( | const int64_t | id | ) | 
This method notifies the MessagingController that Messages waiting for this id can now be delivered.
| id | The new id. | 
      
  | 
  virtual | 
This method goes through the local message buffer and calls the appropriate method of the receiver.
It is called prior to a tick in the main loop of every subsystem. This class must not be called explicitely. Subject to future refactoring to private scope.
Reimplemented in i6e::core::ModuleController.
| void i6e::core::MessageSubscriber::receiveMessage | ( | const Message::Ptr & | msg | ) | 
This method is called from the MessagingController. It stores incoming messages in a local buffer.
| objMessage | The message to be stored in the buffer. | 
      
  | 
  inline | 
removes method for given message type
Definition at line 130 of file MessageSubscriber.h.
| void i6e::core::MessageSubscriber::reset | ( | ) | 
todo
      
  | 
  protected | 
This method will swap the double message buffer. For synchronization reasons.
      
  | 
  protected | 
This method delivers all waiting Messages that can now be delivered.
      
  | 
  protected | 
Definition at line 159 of file MessageSubscriber.h.
      
  | 
  protected | 
Definition at line 160 of file MessageSubscriber.h.
      
  | 
  protected | 
Definition at line 157 of file MessageSubscriber.h.
      
  | 
  protected | 
Definition at line 158 of file MessageSubscriber.h.
      
  | 
  protected | 
Definition at line 156 of file MessageSubscriber.h.
      
  | 
  protected | 
Definition at line 162 of file MessageSubscriber.h.