---
name: "SoCallbackList"
section: "3iv"
platform: "linux"
package: "inventor-doc"
version: "2.1.6+ds-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SoCallbackList/3iv"
---

# SoCallbackList(3iv)

manages a list of callback functions and associated data

## NAME

SoCallbackList — manages a list of callback functions and associated data

## INHERITS FROM

SoCallbackList

## SYNOPSIS

**#include \<Inventor/misc/SoCallbackList.h\>**

**typedef void**	**SoCallbackListCB(void \*userData, void \*callbackData)**

Methods from class SoCallbackList:

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

## DESCRIPTION

**This class manages a list of callback functions and user data. The user can add a callback function to the list, along with user data. When the callback is invoked, it is passed this user data, along with** **callback data specified by the invoking routine. The type of this callback data is determined by the invoking routine.**

## METHODS

	**SoCallbackList()**\
 	**~SoCallbackList()**\
 Constructor and destructor.

**void**	**addCallback(SoCallbackListCB \*f, void \*userData = NULL)**\
 **void**	**removeCallback(SoCallbackListCB \*f, void \*userData = NULL)**\
 Adds a function to or removes a function from the list of callback functions.

**void**	**clearCallbacks()**\
 Clears all callback functions from the list.

**int**	**getNumCallbacks() const**\
 Returns the number of callback functions in the list.

**void**	**invokeCallbacks(void \*callbackData)**\
 Invokes each callback function in the list, passing each function the user data supplied when they were registered here, and **callbackData**, the callback-specific data supplied by the caller.
