ucommon::shared_release Class Reference

Auto-pointer support class for shared singleton objects. More...

#include <thread.h>

Inheritance diagram for ucommon::shared_release:
Inheritance graph
[legend]
Collaboration diagram for ucommon::shared_release:
Collaboration graph
[legend]

Public Member Functions

SharedObjectget (void)
 Get pointer to singleton object that we have shared lock for.
shared_releaseoperator= (SharedPointer &pointer)
 Assign shared lock access to shared singleton.
void release (void)
 Manually release access to shared singleton object.
 shared_release (SharedPointer &pointer)
 Access lock a shared singleton instance from a SharedPointer.
 ~shared_release ()
 Auto-unlock shared lock for singleton instance protected by shared pointer.

Protected Member Functions

 shared_release (const shared_release &object)
 Construct a shared object instance base from an existing instance.
 shared_release ()
 Create an unassigned shared singleton object pointer base.

Protected Attributes

SharedPointerptr
 Shared lock for protected singleton.

Detailed Description

Auto-pointer support class for shared singleton objects.

This is used as a base class for the templated shared_instance class that uses shared access locking through the SharedPointer class. When the shared instance falls out of scope, the SharedPointer lock is released. The pointer typed object must be based on the SharedObject class.

Author:
David Sugar <dyfet@gnutelephony.org>

Definition at line 1535 of file thread.h.


Constructor & Destructor Documentation

ucommon::shared_release::shared_release ( const shared_release object  )  [protected]

Construct a shared object instance base from an existing instance.

This will assign an additional shared lock.

Parameters:
object to copy from.
ucommon::shared_release::shared_release ( SharedPointer pointer  ) 

Access lock a shared singleton instance from a SharedPointer.

Parameters:
pointer of shared pointer to assign from.
ucommon::shared_release::~shared_release (  ) 

Auto-unlock shared lock for singleton instance protected by shared pointer.

This is used to unlock when the instance template falls out of scope.


Member Function Documentation

SharedObject* ucommon::shared_release::get ( void   ) 

Get pointer to singleton object that we have shared lock for.

Returns:
shared object singleton.
shared_release& ucommon::shared_release::operator= ( SharedPointer pointer  ) 

Assign shared lock access to shared singleton.

If an existing shared lock is held for another pointer, it is released.

Parameters:
pointer access for shared object.

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

Generated on 30 Jul 2013 for UCommon by  doxygen 1.6.1