| ## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# csObjectRegistry Class Reference

This is an implementation of iObjectRegistry. More...

`#include <csutil/objreg.h>`

Inheritance diagram for csObjectRegistry:

[legend]
List of all members.

## Public Member Functions
virtual void | Clear ()
| Clear the object registry and release all references.
virtual csPtr< iObjectRegistryIterator > | Get ()
| Get an iterator with all objects in this object registry.
virtual csPtr< iObjectRegistryIterator > | Get (scfInterfaceID id, int version)
| Get an iterator with all objects implementing the given interface.
virtual iBase * | Get (char const *tag, scfInterfaceID id, int version)
| Get the registered object corresponding with the given tag and implementing the specified interface.
virtual iBase * | Get (char const *tag)
| Get the registered object corresponding with the given tag.
virtual bool | Register (iBase *obj, char const *tag=0)
| Register an object with this registry.
virtual void | Unregister (iBase *obj, char const *tag=0)
| Unregister an object with this registry.
virtual | ~csObjectRegistry ()
| Client must explicitly call Clear().

## Detailed Description

This is an implementation of iObjectRegistry.

Thread-safe!

Definition at line 37 of file objreg.h.

## Constructor & Destructor Documentation

virtual csObjectRegistry::~csObjectRegistry | ( |  | ) | `[virtual]`

Client must explicitly call Clear().

## Member Function Documentation

virtual void csObjectRegistry::Clear | ( |  | ) | `[virtual]`

Clear the object registry and release all references.

Implements iObjectRegistry.

virtual csPtr<iObjectRegistryIterator> csObjectRegistry::Get | ( |  | ) | `[virtual]`

Get an iterator with all objects in this object registry.

Implements iObjectRegistry.

virtual csPtr<iObjectRegistryIterator> csObjectRegistry::Get | ( | scfInterfaceID | id,
|  | int | version |
| ) |  |  | `[virtual]`

Get an iterator with all objects implementing the given interface.

Implements iObjectRegistry.

virtual iBase* csObjectRegistry::Get | ( | char const * | tag,
|  | scfInterfaceID | id,
|  | int | version |
| ) |  |  | `[virtual]`

Get the registered object corresponding with the given tag and implementing the specified interface.

Implements iObjectRegistry.

virtual iBase* csObjectRegistry::Get | ( | char const * | tag | ) | `[virtual]`

Get the registered object corresponding with the given tag.

This function will increase the ref count of the returned object.

Implements iObjectRegistry.

virtual bool csObjectRegistry::Register | ( | iBase * | obj,
|  | char const * | tag = `0` |
| ) |  |  | `[virtual]`

Register an object with this registry.

Implements iObjectRegistry.

virtual void csObjectRegistry::Unregister | ( | iBase * | obj,
|  | char const * | tag = `0` |
| ) |  |  | `[virtual]`

Unregister an object with this registry.

Implements iObjectRegistry.

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

- csutil/objreg.h