UCommon
Public Member Functions | Protected Member Functions | Protected Attributes
ucc::locked_release Class Reference

Auto-pointer support class for locked objects. More...

#include <thread.h>

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

Public Member Functions

 locked_release (LockedPointer &pointer)
 Construct a locked object instance base from a LockedPointer.
locked_releaseoperator= (LockedPointer &pointer)
 Assign a locked object pointer.
void release (void)
 Manually release the object reference.
 ~locked_release ()
 Auto-release pointer to locked object instance.

Protected Member Functions

 locked_release ()
 Create an unassigned locked object pointer base.
 locked_release (const locked_release &object)
 Construct a locked object instance base from an existing instance.

Protected Attributes

Objectobject
 locked object protected by locked_release

Detailed Description

Auto-pointer support class for locked objects.

This is used as a base class for the templated locked_instance class that uses the managed LockedPointer to assign a reference to an object. When the locked instance falls out of scope, the object is derefenced. Ideally the pointer typed object should be based on the reference counted object class.

Author:
David Sugar <dyfet@gnutelephony.org>

Definition at line 2030 of file thread.h.


Constructor & Destructor Documentation

ucc::locked_release::locked_release ( const locked_release object) [protected]

Construct a locked object instance base from an existing instance.

This will create a duplicate (retained) reference.

Parameters:
objectto copy from.
ucc::locked_release::locked_release ( LockedPointer pointer)

Construct a locked object instance base from a LockedPointer.

References a retained instance of the underlying object from the LockedPointer.

Parameters:
pointerof locked pointer to assign from.
ucc::locked_release::~locked_release ( )

Auto-release pointer to locked object instance.

This is used to release a reference when the pointer template falls out of scope.


Member Function Documentation

locked_release& ucc::locked_release::operator= ( LockedPointer pointer)

Assign a locked object pointer.

If an existing object is already assigned, the existing pointer is released.

Parameters:
pointerreference through locked object.

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