ucommon

shared_release Class Reference

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

#include <thread.h>

Inheritance diagram for shared_release:
Collaboration diagram for shared_release:

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 ()
 Create an unassigned shared singleton object pointer base.
 shared_release (const shared_release &object)
 Construct a shared object instance base from an existing instance.

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 1744 of file thread.h.


Constructor & Destructor Documentation

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:
objectto copy from.
shared_release::shared_release ( SharedPointer pointer)

Access lock a shared singleton instance from a SharedPointer.

Parameters:
pointerof shared pointer to assign from.
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* shared_release::get ( void  )

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

Returns:
shared object singleton.
shared_release& 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:
pointeraccess for shared object.

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