# CSIBCUserData Class Reference

Class that holds user data representation. More...

`#include <SIBCNode.h>`

List of all members.

## Public Member Functions
| CSIBCUserData ()
| CSIBCUserData (SI_Char *in_pName, SI_Void *in_pData, SI_ReleaseMethod in_pReleaseMethod)
CSIBCString & | Name ()
virtual void * | GetData ()
virtual void | SetData (void *in_pData)
virtual SI_ReleaseMethod | GetReleaseMethod ()
virtual SI_Void | SetReleaseMethod (SI_ReleaseMethod in_pReleaseMethod)

## Detailed Description

Class that holds user data representation.

Instances of this class are created by instances of CSIBCNode objects or their derivatives using CSIBCNode::AttachUserData. These instances are stored within the CSIBCNode object until it is destroyed, at which point all user data object attached to it are destroyed aswell. These objects can also be used by an application outside of CSIBCNode objects, as an interface to user defined data.

## Constructor & Destructor Documentation

CSIBCUserData | ( |  | ) | `[inline]`

Default constructor. Sets the data pointer, and release method for the data to NULL.

CSIBCUserData | ( | SI_Char * | in_pName,
|  | SI_Void * | in_pData,
|  | SI_ReleaseMethod | in_pReleaseMethod |
| ) |  |  | `[inline]`

Constructor. Sets the new object's data to the given parameters.

Parameters:

  | in_pName | The tag name associated with this object.
  | in_pData | Data pointer to the data associated with this object.
  | in_pReleaseMethod | Function pointer to the function used when this object is destroyed (NULL if no release method is required).

## Member Function Documentation

CSIBCString& Name | ( |  | ) | `[inline]`

Returns a reference to the string which holds the tag name for this object.

Returns:
  CSIBCString& The tag name associated with this object

virtual void* GetData | ( |  | ) | `[inline, virtual]`

Returns a pointer to the data associated with this object.

Returns:
  void* Pointer to the data associated with this object.

virtual void SetData | ( | void * | in_pData | ) | `[inline, virtual]`

Sets the user data associated with this object

Parameters:

  | in_pData | Pointer to the data to be associated with this object

virtual SI_ReleaseMethod GetReleaseMethod | ( |  | ) | `[inline, virtual]`

Gets the release method for this object.

Returns:
  SI_ReleaseMethod Function pointer to the release method for this object. NULL indicates no release method is used.

virtual SI_Void SetReleaseMethod | ( | SI_ReleaseMethod | in_pReleaseMethod | ) | `[inline, virtual]`

Sets the release method for this object.

Parameters:

  | in_pReleaseMethod | Pointer to the release method to be used on the user data pointer in this object, upon object deletion. NULL indicates that no function should be used.

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

- SIBCNode.h