Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members

listener Namespace Reference


Classes

class  listener::GenArgListener< E >
class  listener::NoArgEvent
class  listener::OneArgEvent< T1 >
class  listener::TwoArgsEvent< T1, T2 >
class  listener::ThreeArgsEvent< T1, T2, T3 >
class  listener::FourArgsEvent< T1, T2, T3, T4 >
class  listener::FiveArgsEvent< T1, T2, T3, T4, T5 >
class  listener::Event
 The event base class. More...
class  listener::EventFilter
 Class which is responsible of filtering events. More...
class  listener::EventFiltering
 Helper filter class to register for a certain types of events only. This class is a parametrisable EventFilter. More...
class  listener::FilterForEvent< EVENT >
class  listener::EventRecorder
 An event recorder. More...
class  listener::Listener
 Class which is responsible of listening to events. More...
class  listener::ListenerForEvent< EVENT >
 Listener class for only one special Event of type EVENT. More...
class  listener::MultiplexerListener
 The MultiplexerListener allows to create Event classes, without their corresponding Listener. Its usage simplify the use of Events and the connection to the Subscriber. The Subscriber only has to create methods taking a special Event type as pointer parameter, and to connect them using this class. More...
class  listener::EventMultiplexer
struct  listener::EventMultiplexer::caller
struct  listener::EventMultiplexer::real_caller< E >
class  listener::EventMultiplexer::Calls
class  listener::Publisher
 Class which is responsible of publishing events. More...
class  listener::ScopedBlock< T >
class  listener::Subscriber
 Class which is responsible of subscribing to a publisher in order to receives events by using Listeners. More...

Typedefs

typedef basic::SmartPointer<
Event
Event_var
typedef basic::SmartPointer<
EventFilter
EventFilter_var

Functions

template<typename EVENT>
EVENT * duplicate_event (EVENT *e)
 An Event duplicator. Use the default or user defined copy ctor.
template<typename E>
Listener::ID igs_connect (Publisher *p, Subscriber *s, const basic::function1< void, E * > &f, unsigned int priority=0)
 C like function to do a connection.
template<typename E1, typename E2>
Listener::ID igs_connect (Publisher *p, Subscriber *s, const basic::function1< void, E1 * > &f1, const basic::function1< void, E2 * > &f2, unsigned int priority=0)
template<typename E1, typename E2, typename E3>
Listener::ID igs_connect (Publisher *p, Subscriber *s, const basic::function1< void, E1 * > &f1, const basic::function1< void, E2 * > &f2, const basic::function1< void, E3 * > &f3, unsigned int priority=0)
template<typename E>
bool igs_disconnect (Publisher *p, Subscriber *s, const basic::function1< void, E * > &f)
 C like function to do a disconnection.
template<typename E>
Listenerigs_get_listener (Publisher *p, Subscriber *s, const basic::function1< void, E * > &f)
 C like function to retrieve a Listener from a connection description.


Detailed Description

Helper classes and macro to create Events and their associated Listeners in a simple way. Listeners use binded user functions using basic::bind and basic::function, and therefor you need to use the 'add_listener()' method instead of inheriting from them. There can be up to 5 parameters for the events.

Note:
When using add_listener to a binded function, you don't need to use the argi() methods from the i-event.
See also:
For an example of use, see the test "testing/solver/solver.cxx"


Function Documentation

template<typename E>
Listener::ID igs_connect Publisher *  p,
Subscriber *  s,
const basic::function1< void, E * > &  f,
unsigned int  priority = 0
 

C like function to do a connection.

   igs_connect(publisher, subscriber, igs_functor(subscriber, S::event1)) ;
   igs_connect(publisher, subscriber, igs_function(my_event1)) ;

template<typename E>
bool igs_disconnect Publisher *  p,
Subscriber *  s,
const basic::function1< void, E * > &  f
 

C like function to do a disconnection.

   igs_disconnect(publisher, subscriber, igs_functor(subscriber, S::event1)) ;
   igs_disconnect(publisher, subscriber, igs_function(my_event1)) ;

template<typename E>
Listener* igs_get_listener Publisher *  p,
Subscriber *  s,
const basic::function1< void, E * > &  f
 

C like function to retrieve a Listener from a connection description.

Returns:
NULL if not found
   igs_get_listener(publisher, subscriber, igs_functor(subscriber, S::event1)) ;
   igs_get_listener(publisher, subscriber, igs_function(my_event1)) ;


Generated on Mon Jan 30 11:57:50 2006 for EventListener by  doxygen 1.3.9.1