Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# TAO_Cleanup_Func_Registry Class Reference

@brief This is a helper class that is designed to perform cleanup on thread-specific objects registered in the ORB Core TSS resources by invoking the corresponding cleanup function on each object. More...

`#include <Cleanup_Func_Registry.h>`

Collaboration diagram for TAO_Cleanup_Func_Registry:

[legend]
List of all members.

## Public Methods
| TAO_Cleanup_Func_Registry (void)
| Constructor. More...
| ~TAO_Cleanup_Func_Registry (void)
| Destructor. More...
size_t | size (void) const
| Return the number of registered cleanup functions. More...
## Protected Methods
int | register_cleanup_function (ACE_CLEANUP_FUNC func, size_t &slot_id)
| Register a cleanup function. The number of slot the cleanup function is placed is in will match the one reserved for the corresponding thread specific object in the ORB Core TSS resources. The slot_id is returned via the second reference argument. This method returns 0 on failure, and -1 on failure. More...
void | cleanup (ACE_Array_Base< void *> &ts_objects)
| Invoke the corresponding cleanup function on each thread-specific object. More...
## Private Methods
| TAO_Cleanup_Func_Registry (const TAO_Cleanup_Func_Registry &)
| Prevent copying through the copy constructor and the assignment operator. More...
void | operator= (const TAO_Cleanup_Func_Registry &)
## Private Attributes
ACE_Array_Base< ACE_CLEANUP_FUNC > | cleanup_funcs_
| Array of registered cleanup functions. The number of registered cleanup functions should be the same as the number of registered thread-specific objects in the ORB Core TSS resources. More...
## Friends
class | TAO_ORBInitInfo
class | TAO_ORB_Core_TSS_Resources
class | TAO_ORB_Core

## Detailed Description

@brief This is a helper class that is designed to perform cleanup on thread-specific objects registered in the ORB Core TSS resources by invoking the corresponding cleanup function on each object.

Hence, there is a tight coupling between this class and the TAO ORB Core.

## Constructor & Destructor Documentation

TAO_Cleanup_Func_Registry::TAO_Cleanup_Func_Registry | ( | void |  | ) |

| Constructor.

TAO_Cleanup_Func_Registry::~TAO_Cleanup_Func_Registry | ( | void |  | ) |

| Destructor.

TAO_Cleanup_Func_Registry::TAO_Cleanup_Func_Registry | ( | const TAO_Cleanup_Func_Registry & |  | ) | `[private]`

| Prevent copying through the copy constructor and the assignment operator.

## Member Function Documentation

void TAO_Cleanup_Func_Registry::cleanup | ( | ACE_Array_Base< void *> & | ts_objects | ) | `[protected]`

| Invoke the corresponding cleanup function on each thread-specific object.

void TAO_Cleanup_Func_Registry::operator= | ( | const TAO_Cleanup_Func_Registry & |  | ) | `[private]`

int TAO_Cleanup_Func_Registry::register_cleanup_function | ( | ACE_CLEANUP_FUNC | func,
|  | size_t & | slot_id
| ) | `[protected]`

| Register a cleanup function. The number of slot the cleanup function is placed is in will match the one reserved for the corresponding thread specific object in the ORB Core TSS resources. The slot_id is returned via the second reference argument. This method returns 0 on failure, and -1 on failure.

ACE_INLINE size_t TAO_Cleanup_Func_Registry::size | ( | void |  | ) | const

| Return the number of registered cleanup functions.

## Friends And Related Function Documentation

friend class TAO_ORB_Core`[friend]`

friend class TAO_ORB_Core_TSS_Resources`[friend]`

friend class TAO_ORBInitInfo`[friend]`

## Member Data Documentation

ACE_Array_Base<ACE_CLEANUP_FUNC> TAO_Cleanup_Func_Registry::cleanup_funcs_`[private]`

| Array of registered cleanup functions. The number of registered cleanup functions should be the same as the number of registered thread-specific objects in the ORB Core TSS resources.

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

- Cleanup_Func_Registry.h
- Cleanup_Func_Registry.cpp
- Cleanup_Func_Registry.inl