/* (c) 1999-2000 Tino Schwarze, see COPYING for details */
/**@pkg events.cEventConsumer*/
/**
* a class which consumes (receives) cEvents
*
* #include "cEventConsumer.hh"
*
*@pkgdoc events.cEventConsumer
*/
#ifndef cEventConsumer_hh
#define cEventConsumer_hh
// forward declaration
class cEventConsumer;
#include "cEvent.hh"
#include "cEventDispatcher.hh"
/**
* a class which consumes cEvents
*/
class cEventConsumer
{
// LIFETIME
public:
/**
* default constructor
*/
cEventConsumer (class cEventDispatcher *disp);
/**
* destructor
*/
virtual ~cEventConsumer ();
/**
* receive an event and tell the caller whether it was accepted
* @param event const reference to cEvent object of event to
* check
* @return 0 == success (event accepted),
* -1 == denied (event not accepted)
*/
virtual int ReceiveEvent (const cEvent &event);
protected:
/**
* the dispatcher to unregister at if we're destroyed.
* (we may also send events to it)
*/
class cEventDispatcher *mDispatcher;
};
#endif //ifndef cEventConsumer_hh
|