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>
Public Member Functions | |
bool | HasNext () |
Test if there is another available handler. | |
iEventHandler * | Next () |
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:
- csutil/cssubscription.h
Generated for Crystal Space by doxygen 1.4.7