eng::Task Class Reference

Schedules task to be run by main thread. More...

#include <eng_task.hh>

List of all members.

Public Member Functions

CLASS_METHOD TaskGetInstance (void)
CLASS_METHOD void Schedule (SharedPtr< TaskFunctor > task)
CLASS_METHOD void RunTasks (void)

Private Types

typedef deque
< SharedPtr
< TaskFunctor > > 
TaskContainer

Private Member Functions

 Task (void)
 ~Task ()

Private Attributes

CLASS_VAR TaskmsInstance
CLASS_VAR SlowLock msLock
CLASS_VAR TaskContainer msTasks
CLASS_VAR
Thread::Condition 
msCondition

Friends

class Engine
class IdleFunctor

Classes

class  IdleFunctor
class  TaskFunctor
 User-defined functor for a task. More...


Detailed Description

Schedules task to be run by main thread.

GFX functions are restricted to the main thead. Therefore, other threads can schedule a "task". The main thread executes tasks during the idle event. Task class must be threadable and locked since non-main threads call it.


Member Typedef Documentation

typedef deque<SharedPtr<TaskFunctor> > eng::Task::TaskContainer [private]


Constructor & Destructor Documentation

eng::Task::Task ( void   )  [private]

ctor/dtor.

eng::Task::~Task (  )  [private]


Member Function Documentation

Task & eng::Task::GetInstance ( void   ) 

Singleton method.

CLASS_METHOD void eng::Task::Schedule ( SharedPtr< TaskFunctor task  ) 

void eng::Task::RunTasks ( void   ) 

Run tasks.


Friends And Related Function Documentation

friend class Engine [friend]

friend class IdleFunctor [friend]


Member Data Documentation

Task * eng::Task::msInstance [private]

SlowLock eng::Task::msLock [private]

Task::TaskContainer eng::Task::msTasks [private]

Thread::Condition eng::Task::msCondition [private]


The documentation for this class was generated from the following files: Palomino 3D Engine documents generated by doxygen 1.5.3 on Fri Nov 23 11:26:25 2007