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 (iEventHandlerRegistry *r, csEventTree *t, csEventID bevent)
 Constructor.
 ~SubscriberIterator ()
 Destructor.

Friends

class csEventQueueTest
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 251 of file cssubscription.h.


Constructor & Destructor Documentation

csEventTree::SubscriberIterator::SubscriberIterator ( 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 258 of file cssubscription.h.

References CS_ASSERT, csEventTree::fatRecord, and csList< T >::Iterator.

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 284 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 314 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.7