XMM - Probabilistic Models for Motion Recognition and Mapping

Public Types | Public Member Functions | Private Attributes | List of all members
xmm::EventGenerator< EventType > Class Template Reference

Generator class for a specific type of events. More...

#include <xmmEvents.hpp>

Public Types

typedef std::function< void(EventType &)> EventCallBack
 

Public Member Functions

 EventGenerator ()
 Default constructor. More...
 
virtual ~EventGenerator ()
 Destructor. More...
 
template<typename U , typename args , class ListenerClass >
void addListener (U *owner, void(ListenerClass::*listenerMethod)(args))
 Adds a listener object to be notified when events are sent. More...
 
template<typename U , typename args , class ListenerClass >
void removeListener (U *owner, void(ListenerClass::*listenerMethod)(args))
 Removes a listener object. More...
 
void removeListeners ()
 Removes all listeners. More...
 
void notifyListeners (EventType &e) const
 Propagates the event to all listeners. More...
 

Private Attributes

std::map< void *, EventCallBackcallbacks_
 Set of listener objects. More...
 

Detailed Description

template<typename EventType>
class xmm::EventGenerator< EventType >

Generator class for a specific type of events.

Template Parameters
EventTypeType of Events that can be sent

Member Typedef Documentation

template<typename EventType>
typedef std::function<void(EventType&)> xmm::EventGenerator< EventType >::EventCallBack

Constructor & Destructor Documentation

template<typename EventType>
xmm::EventGenerator< EventType >::EventGenerator ( )
inline

Default constructor.

template<typename EventType>
virtual xmm::EventGenerator< EventType >::~EventGenerator ( )
inlinevirtual

Destructor.

Also notifies all listeners that this generators is deleted

Member Function Documentation

template<typename EventType>
template<typename U , typename args , class ListenerClass >
void xmm::EventGenerator< EventType >::addListener ( U *  owner,
void(ListenerClass::*)(args)  listenerMethod 
)
inline

Adds a listener object to be notified when events are sent.

Parameters
ownerPointer to the listener object
listenerMethodMethod to be called in the target class
Template Parameters
Utype of the target object
argscallback arguments
ListenerClassListener Class
template<typename EventType>
void xmm::EventGenerator< EventType >::notifyListeners ( EventType &  e) const
inline

Propagates the event to all listeners.

Parameters
eevent
template<typename EventType>
template<typename U , typename args , class ListenerClass >
void xmm::EventGenerator< EventType >::removeListener ( U *  owner,
void(ListenerClass::*)(args)  listenerMethod 
)
inline

Removes a listener object.

Parameters
ownerPointer to the listener object
listenerMethodMethod to be called in the target class
Template Parameters
Utype of the target object
argscallback arguments
ListenerClassListener Class
template<typename EventType>
void xmm::EventGenerator< EventType >::removeListeners ( )
inline

Removes all listeners.

Member Data Documentation

template<typename EventType>
std::map<void*, EventCallBack> xmm::EventGenerator< EventType >::callbacks_
private

Set of listener objects.


The documentation for this class was generated from the following file: