UtiLite  0.3.1
A lite utilities library
Public Member Functions | Private Member Functions
UObjDeletionThread< T > Class Template Reference

#include <UObjDeletionThread.h>

Inherits UThread.

List of all members.

Public Member Functions

 UObjDeletionThread (T *obj, int id=0)
virtual ~UObjDeletionThread ()
void startDeletion (int waitMs=0)
int id () const
void setObj (T *obj)

Private Member Functions

virtual void mainLoop ()

Detailed Description

template<class T>
class UObjDeletionThread< T >

This class can be used to delete a dynamically created object in another thread. Give the dynamic reference to object to it and it will notify with a UObjDeletedEvent when the object is deleted. The deletion can be delayed on startDeletion(), the thread will wait the time given before deleting the object.


Constructor & Destructor Documentation

template<class T >
UObjDeletionThread< T >::UObjDeletionThread ( T *  obj,
int  id = 0 
) [inline]

The constructor.

Parameters:
objthe object to delete
idthe custom id which will be sent in a event UObjDeletedEvent after the object is deleted
template<class T >
virtual UObjDeletionThread< T >::~UObjDeletionThread ( ) [inline, virtual]

The destructor. If this thread is not started but with an object set, the object is deleted. If the thread has not finished to delete the object, the calling thread will wait (on a UThreadNode::join()) until the object is deleted.

Parameters:
objthe object to delete
idthe custom id which will be sent in a event UObjDeletedEvent after the object is deleted

Member Function Documentation

template<class T >
int UObjDeletionThread< T >::id ( ) const [inline]

Get id of the deleted object.

Returns:
the id
template<class T >
virtual void UObjDeletionThread< T >::mainLoop ( ) [inline, private, virtual]

Thread main loop...

Implements UThread.

template<class T >
void UObjDeletionThread< T >::setObj ( T *  obj) [inline]

Set a new object, if one was already set, the old one is deleted.

Parameters:
objthe object to delete
template<class T >
void UObjDeletionThread< T >::startDeletion ( int  waitMs = 0) [inline]

Start the thread after optional delay.

Parameters:
waitMsthe delay before deletion

The documentation for this class was generated from the following file:
 All Classes Files Functions Variables Enumerations Friends Defines