#include <UObjDeletionThread.h>
Public Member Functions | |
int | id () const |
void | setObj (T *obj) |
void | startDeletion (int waitMs=0) |
UObjDeletionThread (T *obj, int id=0) | |
virtual | ~UObjDeletionThread () |
Private Member Functions | |
virtual void | mainLoop () |
Private Attributes | |
int | id_ |
T * | obj_ |
int | waitMs_ |
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.
Definition at line 48 of file UObjDeletionThread.h.
UObjDeletionThread< T >::UObjDeletionThread | ( | T * | obj, |
int | id = 0 |
||
) | [inline] |
The constructor.
obj | the object to delete |
id | the custom id which will be sent in a event UObjDeletedEvent after the object is deleted |
Definition at line 56 of file UObjDeletionThread.h.
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.
obj | the object to delete |
id | the custom id which will be sent in a event UObjDeletedEvent after the object is deleted |
Definition at line 68 of file UObjDeletionThread.h.
int UObjDeletionThread< T >::id | ( | ) | const [inline] |
virtual void UObjDeletionThread< T >::mainLoop | ( | ) | [inline, private, virtual] |
void UObjDeletionThread< T >::setObj | ( | T * | obj | ) | [inline] |
Set a new object, if one was already set, the old one is deleted.
obj | the object to delete |
Definition at line 93 of file UObjDeletionThread.h.
void UObjDeletionThread< T >::startDeletion | ( | int | waitMs = 0 | ) | [inline] |
Start the thread after optional delay.
waitMs | the delay before deletion |
Definition at line 81 of file UObjDeletionThread.h.
int UObjDeletionThread< T >::id_ [private] |
Definition at line 125 of file UObjDeletionThread.h.
T* UObjDeletionThread< T >::obj_ [private] |
Definition at line 124 of file UObjDeletionThread.h.
int UObjDeletionThread< T >::waitMs_ [private] |
Definition at line 126 of file UObjDeletionThread.h.