socallbacklist(3)

NAME

SoCallbackList

SYNOPSIS

#include <Inventor/lists/SoCallbackList.h>

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

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.
References SbPList::append().
void SoCallbackList::removeCallback (SoCallbackListCB * f, void * userdata
= NULL)
Remove callback f from the list.
References getNumCallbacks(), SoDebugError::post(), and
SbPList::remove().
void SoCallbackList::clearCallbacks (void)
Remove all callbacks in the list.
References SbPList::truncate().
int SoCallbackList::getNumCallbacks (void) const
Returns number of callback functions.
References SbPList::getLength().
Referenced by removeCallback().
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().

Author

Generated automatically by Doxygen for Coin from the source code.
Copyright © 2010-2025 Platon Technologies, s.r.o.           Index | Man stránky | tLDP | Dokumenty | Utilitky | O projekte
Design by styleshout