#include <Cleanup_Func_Registry.h>
Public Member Functions | |
TAO_Cleanup_Func_Registry (void) | |
Constructor. | |
size_t | size (void) const |
Return the number of registered cleanup functions. | |
Protected Member Functions | |
int | register_cleanup_function (ACE_CLEANUP_FUNC func, size_t &slot_id) |
void | cleanup (ACE_Array_Base< void * > &ts_objects) |
Private Member Functions | |
TAO_Cleanup_Func_Registry (const TAO_Cleanup_Func_Registry &) | |
void | operator= (const TAO_Cleanup_Func_Registry &) |
Private Attributes | |
ACE_Array_Base < ACE_CLEANUP_FUNC > | cleanup_funcs_ |
Friends | |
class | TAO_ORB_Core |
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO_Cleanup_Func_Registry::TAO_Cleanup_Func_Registry | ( | void | ) |
Constructor.
TAO_Cleanup_Func_Registry::TAO_Cleanup_Func_Registry | ( | const TAO_Cleanup_Func_Registry & | ) | [private] |
Prevent copying through the copy constructor and the assignment operator.
ACE_INLINE size_t TAO_Cleanup_Func_Registry::size | ( | void | ) | const |
Return the number of registered cleanup functions.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL 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.
void TAO_Cleanup_Func_Registry::cleanup | ( | ACE_Array_Base< void * > & | ts_objects | ) | [protected] |
Invoke the corresponding cleanup function on each thread-specific object.
Cleanup each TSS object.
void TAO_Cleanup_Func_Registry::operator= | ( | const TAO_Cleanup_Func_Registry & | ) | [private] |
friend class TAO_ORB_Core [friend] |
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.