Coin Logo http://www.sim.no
http://www.coin3d.org

Public Member Functions | List of all members
SoCallbackList Class Reference

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. More...

#include <Inventor/lists/SoCallbackList.h>

Public Member Functions

 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::SoCallbackList ( void  )

Default constructor.

◆ ~SoCallbackList()

SoCallbackList::~SoCallbackList ( void  )

Destructor.

Member Function Documentation

◆ addCallback()

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

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

References SbPList::append().

Referenced by SoSelection::addChangeCallback(), SoSelection::addDeselectionCallback(), SoSelection::addFinishCallback(), SoSelection::addSelectionCallback(), and SoSelection::addStartCallback().

◆ removeCallback()

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

◆ clearCallbacks()

void SoCallbackList::clearCallbacks ( void  )

Remove all callbacks in the list.

References SbPList::truncate().

◆ getNumCallbacks()

int SoCallbackList::getNumCallbacks ( void  ) const

Returns number of callback functions.

References SbPList::getLength().

Referenced by removeCallback().

◆ invokeCallbacks()

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.

References SbPList::getLength().

Referenced by SoSelection::addPath(), SoSelection::handleEvent(), and SoSelection::removePath().


The documentation for this class was generated from the following files:

Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.

Generated on Fri Feb 17 2017 for Coin by Doxygen. 1.8.13