igor::iTaskManager Class Reference

#include <iTaskManager.h>

Inherits igor::iModule< iTaskManager >.

Public Member Functions

iTaskID addTask (iTask *task)
 
iTaskgetTask (iTaskID taskID)
 
void abortTask (iTaskID taskID)
 
uint32 getRegularThreadCount () const
 
uint32 getRenderContextThreadCount () const
 
uint32 getQueuedRegularTaskCount () const
 
uint32 getRunningRegularTaskCount () const
 
uint32 getQueuedRenderContextTaskCount () const
 
uint32 getRunningRenderContextTaskCount () const
 
uint64 getTaskDoneCount () const
 
void registerTaskFinishedDelegate (iTaskFinishedDelegate taskFinishedDelegate)
 
void unregisterTaskFinishedDelegate (iTaskFinishedDelegate taskFinishedDelegate)
 

Static Public Member Functions

static bool isRunning ()
 
- Static Public Member Functions inherited from igor::iModule< iTaskManager >
static IGOR_INLINE iTaskManagergetInstance ()
 
static IGOR_INLINE bool isInstantiated ()
 
static void create ()
 
static void destroy ()
 

Friends

class iModule< iTaskManager >
 
class iWindow
 

Additional Inherited Members

- Protected Member Functions inherited from igor::iModule< iTaskManager >
 iModule ()=default
 
virtual ~iModule ()=default
 

Detailed Description

manages tasks to be done in parallel

Member Function Documentation

◆ abortTask()

void igor::iTaskManager::abortTask ( iTaskID  taskID)

aborts a task by id

Parameters
taskIDthe task id to abort

◆ addTask()

iTaskID igor::iTaskManager::addTask ( iTask task)

adds a task to be processed

!!! ATTENTION task get's consumed and later deleted by task manager

Parameters
taskthe task to be added
Returns
the task's id

◆ getQueuedRegularTaskCount()

uint32 igor::iTaskManager::getQueuedRegularTaskCount ( ) const
Returns
tasks in queue count

◆ getQueuedRenderContextTaskCount()

uint32 igor::iTaskManager::getQueuedRenderContextTaskCount ( ) const
Returns
render context tasks in queue count

◆ getRegularThreadCount()

uint32 igor::iTaskManager::getRegularThreadCount ( ) const
Returns
regular thread count

◆ getRenderContextThreadCount()

uint32 igor::iTaskManager::getRenderContextThreadCount ( ) const
Returns
render context thread count

◆ getRunningRegularTaskCount()

uint32 igor::iTaskManager::getRunningRegularTaskCount ( ) const
Returns
running tasks count

◆ getRunningRenderContextTaskCount()

uint32 igor::iTaskManager::getRunningRenderContextTaskCount ( ) const
Returns
running render context tasks count

◆ getTask()

iTask * igor::iTaskManager::getTask ( iTaskID  taskID)
Returns
task by id
Parameters
taskIDthe task ID to search for

◆ getTaskDoneCount()

uint64 igor::iTaskManager::getTaskDoneCount ( ) const
Returns
how many tasks where done since program start

◆ isRunning()

bool igor::iTaskManager::isRunning ( )
static
Returns
true if the task manager is running

◆ registerTaskFinishedDelegate()

void igor::iTaskManager::registerTaskFinishedDelegate ( iTaskFinishedDelegate  taskFinishedDelegate)

registers delegate to task finished event

Parameters
taskFinishedDelegatethe delegate to register

◆ unregisterTaskFinishedDelegate()

void igor::iTaskManager::unregisterTaskFinishedDelegate ( iTaskFinishedDelegate  taskFinishedDelegate)

unregisters delegate from task finished event

Parameters
taskFinishedDelegatethe delegate to unregister

Friends And Related Function Documentation

◆ iModule< iTaskManager >

friend class iModule< iTaskManager >
friend

◆ iWindow

friend class iWindow
friend

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