ucc::LockedPointer Class Reference

An object pointer that uses mutex to assure thread-safe singleton use. More...

#include <thread.h>

Inheritance diagram for ucc::LockedPointer:

Inheritance graph
[legend]
Collaboration diagram for ucc::LockedPointer:

Collaboration graph
[legend]

Protected Member Functions

 LockedPointer ()
 Create an instance of a locked pointer.
void replace (Object *object)
 Replace existing object with a new one for next request.
Objectdup (void)
 Create a duplicate reference counted instance of the current object.
void operator= (Object *object)
 Replace existing object through assignment.

Friends

class locked_release

Detailed Description

An object pointer that uses mutex to assure thread-safe singleton use.

This class is used to support a threadsafe replacable pointer to a object. This class is used to form and support the templated locked_pointer class and used with the locked_release class. An example of where this might be used is in config file parsers, where a seperate thread may process and generate a new config object for new threads to refernce, while the old configuration continues to be used by a reference counted instance that goes away when it falls out of scope.

Author:
David Sugar <dyfet@gnutelephony.org>

Definition at line 1320 of file thread.h.


Member Function Documentation

Object* ucc::LockedPointer::dup ( void   )  [protected]

Create a duplicate reference counted instance of the current object.

Returns:
duplicate reference counted object.

Reimplemented in ucc::locked_pointer< T >.

void ucc::LockedPointer::operator= ( Object object  )  [inline, protected]

Replace existing object through assignment.

Parameters:
object to assign.

Definition at line 1349 of file thread.h.

void ucc::LockedPointer::replace ( Object object  )  [protected]

Replace existing object with a new one for next request.

Parameters:
object to register with pointer.


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

Generated on Wed May 13 09:11:44 2009 for UCommon by  doxygen 1.5.8