Drag[en]gine Game Engine  1.21
deThreadSafeObject Class Reference

Thread safe version of deObject. More...

#include <deThreadSafeObject.h>

Inheritance diagram for deThreadSafeObject:
deParallelTask deRLTaskReadSkinInternal::cInternalTask deResourceLoaderTask deRLTaskReadAnimation deRLTaskReadFont deRLTaskReadFontInternal deRLTaskReadFontInternal2 deRLTaskReadImage deRLTaskReadLanguagePack deRLTaskReadModel deRLTaskReadOcclusionMesh deRLTaskReadRig deRLTaskReadSkin deRLTaskReadSkinInternal deRLTaskReadSound deRLTaskReadVideo deRLTaskWriteAnimation deRLTaskWriteImage deRLTaskWriteModel deRLTaskWriteOcclusionMesh deRLTaskWriteRig

Public Member Functions

Management
int GetRefCount ()
 Reference count. More...
 
void AddReference ()
 Add reference increasing reference count by 1. More...
 
void FreeReference ()
 Decrease reference count by one and delete object if count reaches 0. More...
 

Constructors and Destructors

 deThreadSafeObject ()
 Create object with reference count of 1. More...
 
virtual ~deThreadSafeObject ()
 Clean up object. More...
 

Detailed Description

Thread safe version of deObject.

In contrary to deObject a deMutex is used to protect reference manipulations against multi threaded use. This does not imply all methods of the object are thread safe. Subclasses are encouraged to use GetMutex() to provide thread safe access to methods.

Constructor & Destructor Documentation

◆ deThreadSafeObject()

deThreadSafeObject::deThreadSafeObject ( )

Create object with reference count of 1.

◆ ~deThreadSafeObject()

virtual deThreadSafeObject::~deThreadSafeObject ( )
protectedvirtual

Clean up object.

Note
Subclasses should set their destructor protected too to avoid users accidently deleting a reference counted object through the object pointer. Only FreeReference() is allowed to delete the object.

Member Function Documentation

◆ AddReference()

void deThreadSafeObject::AddReference ( )

Add reference increasing reference count by 1.

◆ FreeReference()

void deThreadSafeObject::FreeReference ( )

Decrease reference count by one and delete object if count reaches 0.

◆ GetRefCount()

int deThreadSafeObject::GetRefCount ( )

Reference count.


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