ucommon
Protected Member Functions | Friends
ucommon::SharedPointer Class Reference

The shared pointer is used to manage a singleton instance of shared object. More...

#include <thread.h>

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

Protected Member Functions

void replace (SharedObject *object)
 Replace existing singleton instance with new one.
SharedObjectshare (void)
 Acquire a shared reference to the singleton object.
 SharedPointer ()
 Created shared locking for pointer.
 ~SharedPointer ()
 Destroy lock and release any blocked threads.

Friends

class shared_release

Detailed Description

The shared pointer is used to manage a singleton instance of shared object.

This class is used to support the templated shared_pointer class and the shared_release class, and is not meant to be used directly or as a base for anything else. One or more threads may aquire a shared lock to the singleton object through this pointer, and it can only be replaced with a new singleton instance when no threads reference it. The conditional lock is used to manage shared access for use and exclusive access when modified.

Author:
David Sugar <dyfet@gnutelephony.org>

Definition at line 1202 of file thread.h.


Constructor & Destructor Documentation

Created shared locking for pointer.

Must be assigned by replace.


Member Function Documentation

void ucommon::SharedPointer::replace ( SharedObject object) [protected]

Replace existing singleton instance with new one.

This happens during exclusive locking, and the commit method of the object will be called.

Parameters:
objectbeing set.

Acquire a shared reference to the singleton object.

This is a form of shared access lock. Derived classes and templates access "release" when the shared pointer is no longer needed.

Returns:
shared object.

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