# class NamedPointer

A named pointer class. More...

Full name | `TelEngine::NamedPointer`
Definition | `#include <yateclass.h>`
Inherits | TelEngine::NamedString [public ]
List of all Methods

Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- explicit NamedPointer (const char* name, GenObject* data = 0, const char* value = 0)
- virtual ~NamedPointer ()
- inline GenObject* userData () const
- GenObject* takeData ()
- void userData (GenObject* data)
- inline void* userObject (const String& name) const
- inline NamedPointer& operator= (const char* value)
- virtual void* getObject (const String& name) const

#### Protected Methods

- virtual void changed ()

## Detailed Description

A named string holding a pointer to arbitrary data. The pointer is owned by the object: it will be released when the object is destroyed or the string value changed

explicit NamedPointer (const char* name, GenObject* data = 0, const char* value = 0)

### NamedPointer

Creates a new named pointer

Parameters:

name | Name of this pointer
data | Initial pointer value. The pointer will be owned by this object
value | Initial string value

~NamedPointer ()

### ~NamedPointer

[virtual]

Destructor. Release the pointer

inline GenObject* userData ()

### userData

[const]

Retrieve the pointer carried by this object

Returns: Pointer to arbitrary user GenObject

GenObject* takeData ()

### takeData

Retrieve the pointer carried by this object and release ownership. The caller will own the returned pointer

Returns: Pointer to arbitrary user GenObject

void userData (GenObject* data)

### userData

Set obscure data carried by this object. Note that a RefObject's reference counter should be increased before adding it to this named pointer

Parameters:

data | Pointer to arbitrary user data

inline void* userObject (const String& name)

### userObject

[const]

Get a pointer to a derived class of user data given that class name

Parameters:

name | Name of the class we are asking for

Returns: Pointer to the requested class or NULL if user object id NULL or doesn't implement it

inline NamedPointer& operator= (const char* value)

### operator=

String value assignment operator

Reimplemented from NamedString.

void* getObject (const String& name)

### getObject

[const virtual]

Get a pointer to a derived class given that class name

Parameters:

name | Name of the class we are asking for

Returns: Pointer to the requested class or NULL if this object doesn't implement it

Reimplemented from NamedString.

void changed ()

### changed

[protected virtual]

Called whenever the string value changed. Release the pointer

Reimplemented from String.

Generated by: paulc on bussard on Fri Dec 21 16:28:34 2012, using kdoc 2.0a54.