Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

SoCallbackList Class Reference

The SoCallbackList is a container for callback function pointers. More...

#include <Inventor/lists/SoCallbackList.h>

List of all members.

Public Methods

 SoCallbackList (void)
 ~SoCallbackList ()
void addCallback (SoCallbackListCB *f, void *userData=NULL)
void removeCallback (SoCallbackListCB *f, void *userdata=NULL)
void clearCallbacks (void)
int getNumCallbacks (void) const
void invokeCallbacks (void *callbackdata)


Detailed Description

The SoCallbackList is a container for callback function pointers.

This list stores callback function pointers (along with user-specified extra data to pass to the callbacks) and provides a method for triggering the callback functions.


Constructor & Destructor Documentation

SoCallbackList::SoCallbackList void
 

Default constructor.

SoCallbackList::~SoCallbackList void
 

Destructor.


Member Function Documentation

void SoCallbackList::addCallback SoCallbackListCB * f,
void * userdata = NULL
 

Append the callback function f to the list. It will be passed the userdata upon invocation.

void SoCallbackList::removeCallback SoCallbackListCB * f,
void * userdata = NULL
 

Remove callback f from the list.

void SoCallbackList::clearCallbacks void
 

Remove all callbacks in the list.

int SoCallbackList::getNumCallbacks void const
 

Returns number of callback functions.

void SoCallbackList::invokeCallbacks void * callbackdata
 

Invoke all callback functions, passing the userdata and the callbackdata as the first and second argument, respectively.

All callbacks registered when the method is invoked will be triggered, even though if the code in one callback removes another callback.

It is safe for a callback to remove itself or any other callbacks during execution.


The documentation for this class was generated from the following files:
Generated at Tue Mar 5 03:31:22 2002 for Coin by doxygen1.2.9 written by Dimitri van Heesch, © 1997-2001