CrystalSpace

Public API Reference

csEventTree::SubscriberIterator Class Reference

The SubscriberIterator is a wrapper for the messy internals of figuring out which event handler to call next. More...

#include <csutil/cssubscription.h>

List of all members.

Public Member Functions

bool HasNext ()
 Test if there is another available handler.
iEventHandlerNext ()
 Return an available handler and mark it as "done".
 SubscriberIterator (csRef< iEventHandlerRegistry > &r, csEventTree *t, csEventID bevent)
 Constructor.
 ~SubscriberIterator ()
 Destructor.

Friends

class csEventTree


Detailed Description

The SubscriberIterator is a wrapper for the messy internals of figuring out which event handler to call next.

In the common case, this is simply iterating over a pre-existing list (csEventTree::SubscriberQueue). There are degenerative cases where it must fall back on progressively solving the partial order graph (csEventTree::SubscriberGraph).

Only one iterator may exist for a given event node at a time.

Definition at line 254 of file cssubscription.h.


Constructor & Destructor Documentation

csEventTree::SubscriberIterator::SubscriberIterator csRef< iEventHandlerRegistry > &  r,
csEventTree t,
csEventID  bevent
[inline]
 

Constructor.

Establishes the csEventTree reference to this iterator to ensure there can be only one.

Definition at line 261 of file cssubscription.h.

References CS_ASSERT.

csEventTree::SubscriberIterator::~SubscriberIterator  )  [inline]
 

Destructor.

Remove the csEventTree reference to us.

Definition at line 275 of file cssubscription.h.

References CS_ASSERT.


Member Function Documentation

bool csEventTree::SubscriberIterator::HasNext  )  [inline]
 

Test if there is another available handler.

Definition at line 283 of file cssubscription.h.

References CS_ASSERT, and CS_HANDLER_INVALID.

iEventHandler* csEventTree::SubscriberIterator::Next  )  [inline]
 

Return an available handler and mark it as "done".

Definition at line 313 of file cssubscription.h.

References CS_ASSERT, and CS_HANDLER_INVALID.


The documentation for this class was generated from the following file:
Generated for Crystal Space by doxygen 1.4.6