Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

oofBroadcaster Class Reference
[OOFILE utility classes and functions.]

#include <oofmsg.h>

Inheritance diagram for oofBroadcaster:

Inheritance graph
[legend]
Collaboration diagram for oofBroadcaster:

Collaboration graph
[legend]
List of all members.

Detailed Description

Generic broadcaster for messaging.

See also:
oofReceiver Has ability to iterate over listeners to get responses, eg: when seeking validation of database state.


Public Member Functions

 oofBroadcaster ()
 oofBroadcaster (const oofBroadcaster &)
virtual ~oofBroadcaster ()
void broadcast (OOFmsgT msg, unsigned long senderDefined=0, const oofReceiver *skipping=0)
 Broadcast a message to all anonymous subscribers.

oofReceiveraskAllStoppingAtFirst (bool stopOn, OOFmsgT msg, unsigned long senderDefined=0, const oofReceiver *skipping=0)
bool askAllReturningAny (bool returnAny, OOFmsgT msg, unsigned long senderDefined=0, const oofReceiver *skipping=0)
bool isBroadcasting () const
void addReceiver (oofReceiver *)
 Append receiver to end of list.

void removeReceiver (const oofReceiver *)

Protected Member Functions

void BroadcastShutdown ()

Protected Attributes

OOF_ExpandableLongArraymReceivers
 owned

unsigned long mNestedBroadcastingDepth
 aid to debugging and removeReceiver

bool mLostReceiversWhileBroadcasting
 simple flag that removeReceiver was called during nested broadcast


Constructor & Destructor Documentation

oofBroadcaster::oofBroadcaster  ) 
 

oofBroadcaster::oofBroadcaster const oofBroadcaster  ) 
 

oofBroadcaster::~oofBroadcaster  )  [virtual]
 


Member Function Documentation

void oofBroadcaster::addReceiver oofReceiver addingReceiver  ) 
 

Append receiver to end of list.

Includes assertion to check if already in list.

bool oofBroadcaster::askAllReturningAny bool  returnAny,
OOFmsgT  msg,
unsigned long  senderDefined = 0,
const oofReceiver skipping = 0
 

oofReceiver * oofBroadcaster::askAllStoppingAtFirst bool  stopOn,
OOFmsgT  msg,
unsigned long  senderDefined = 0,
const oofReceiver skipping = 0
 

void oofBroadcaster::broadcast OOFmsgT  msg,
unsigned long  senderDefined = 0,
const oofReceiver skipping = 0
 

Broadcast a message to all anonymous subscribers.

Parameters:
msg constant value indicating the action or event that has occurred.
senderDefined additional param for caller to pass through
skipping a receiver to be skipped when broadcasting, to avoid circular messages
Todo:
use void* for senderDefined so can cope with values >32bits eg oidT in HUGE databases or 64bit pointers.

void oofBroadcaster::BroadcastShutdown  )  [protected]
 

bool oofBroadcaster::isBroadcasting  )  const [inline]
 

void oofBroadcaster::removeReceiver const oofReceiver  ) 
 


Member Data Documentation

bool oofBroadcaster::mLostReceiversWhileBroadcasting [protected]
 

simple flag that removeReceiver was called during nested broadcast

unsigned long oofBroadcaster::mNestedBroadcastingDepth [protected]
 

aid to debugging and removeReceiver

OOF_ExpandableLongArray* oofBroadcaster::mReceivers [protected]
 

owned


The documentation for this class was generated from the following files:
Generated on Fri Jan 2 00:47:55 2004 for OOFILE by doxygen 1.3.5