#include <simple_task_manager.h>
Public Member Functions | |
Task * | create (const std::string &TaskName, bool ReturnIfExists=false) |
Creates Task with given name. | |
void | destroy (Task *task) |
Destroy Task. | |
Task * | find (const std::string &TaskName) |
const std::string & | getClassName () const |
Returns name of class of our object. | |
const std::string & | getObjectName () const |
Returns name of our object. | |
void | getSpecificParameter (const std::string &ParameterName, void *ParameterValue) |
Method for obtaining some specific parameters, such as texture specific params, and so on. | |
bool | isLocked () const |
returns state of object. | |
SimpleTaskManager () | |
~SimpleTaskManager () | |
Protected Member Functions | |
void | addSpecificParameter (const std::string &ParameterName, void *ParameterValue, size_t Size) |
void | lock () |
void | unlock () |
Private Types | |
typedef std::map< std::string, SimpleTask * > | SimpleTaskMap |
Private Attributes | |
SimpleTaskMap | mSimpleTaskMap |
Definition at line 49 of file simple_task_manager.h.
typedef std::map<std::string, SimpleTask *> gpucalc::SimpleTaskManager::SimpleTaskMap [private] |
Definition at line 73 of file simple_task_manager.h.
gpucalc::SimpleTaskManager::SimpleTaskManager | ( | ) |
Definition at line 40 of file simple_task_manager.cpp.
00040 : TaskManager(_SimpleTaskManagerName), mSimpleTaskMap() 00041 { 00042 }
gpucalc::SimpleTaskManager::~SimpleTaskManager | ( | ) |
Definition at line 45 of file simple_task_manager.cpp.
00046 { 00047 clearContainer(mSimpleTaskMap); 00048 }
void gpucalc::Object::addSpecificParameter | ( | const std::string & | ParameterName, | |
void * | ParameterValue, | |||
size_t | Size | |||
) | [inline, protected, inherited] |
Definition at line 254 of file object.h.
00255 { 00256 SpecificParametersMap::iterator i = mSpecificParameters.find(ParameterName); 00257 if (i != mSpecificParameters.end()) 00258 { 00259 mSpecificParameters.erase(i); 00260 } 00261 mSpecificParameters[ParameterName] = Any(ParameterValue, Size); 00262 }
Task * gpucalc::SimpleTaskManager::create | ( | const std::string & | TaskName, | |
bool | ReturnIfExists = false | |||
) | [virtual] |
Creates Task with given name.
Implements gpucalc::TaskManager.
Definition at line 51 of file simple_task_manager.cpp.
00052 { 00053 SimpleTaskMap::iterator i = mSimpleTaskMap.find(TaskName); 00054 if (i != mSimpleTaskMap.end()) 00055 { 00056 if (ReturnIfExists) 00057 { 00058 return i->second; 00059 } 00060 else 00061 { 00062 Except<ERR_DUPLICATE_ITEM>(this, "Simple Task \"" + TaskName + "\" already exists.", "SimpleTaskManager::createTask()", __FILE__, __LINE__); 00063 return 0; 00064 } 00065 } 00066 else 00067 { 00068 SimpleTask * task = new SimpleTask(TaskName); 00069 addToContainer(task, TaskName, mSimpleTaskMap); 00070 return task; 00071 } 00072 }
void gpucalc::SimpleTaskManager::destroy | ( | Task * | task | ) | [virtual] |
Destroy Task.
Depends on Task type this method can destroy related kernels and other members of Task class.
Implements gpucalc::TaskManager.
Definition at line 90 of file simple_task_manager.cpp.
00091 { 00092 if (!removeFromContainer(task->getObjectName(), mSimpleTaskMap)) 00093 { 00094 Warning<ERR_ITEM_NOT_FOUND>(this, "SimpleTask \"" + task->getObjectName() + "\" cannot de found!!! Destroying anyway.", 00095 "SimpleTaskManager::deleteTask()", __FILE__, __LINE__); 00096 delete task; 00097 } 00098 }
Task * gpucalc::SimpleTaskManager::find | ( | const std::string & | TaskName | ) | [virtual] |
Implements gpucalc::TaskManager.
Definition at line 75 of file simple_task_manager.cpp.
00076 { 00077 SimpleTaskMap::iterator i = mSimpleTaskMap.find(TaskName); 00078 if (i != mSimpleTaskMap.end()) 00079 { 00080 return i->second; 00081 } 00082 else 00083 { 00084 Except<ERR_ITEM_NOT_FOUND>(this, "Simple Task \"" + TaskName + "\" cannot be found.", "Simpletaskmanager::find()", __FILE__, __LINE__); 00085 return 0; 00086 } 00087 }
const std::string& gpucalc::Object::getClassName | ( | ) | const [inline, inherited] |
Returns name of class of our object.
Definition at line 92 of file object.h.
00093 { 00094 return mClassName; 00095 }
const std::string& gpucalc::Object::getObjectName | ( | ) | const [inline, inherited] |
Returns name of our object.
Definition at line 101 of file object.h.
00102 { 00103 return mObjectName; 00104 }
void gpucalc::Object::getSpecificParameter | ( | const std::string & | ParameterName, | |
void * | ParameterValue | |||
) | [inline, inherited] |
Method for obtaining some specific parameters, such as texture specific params, and so on.
ParameterName | - name of parameter, usually it similar to specific method of some object (for example, GLTextureID) | |
ParameterValue | - contain value of named parameter, it must be allocated and have sufficient size. |
Definition at line 128 of file object.h.
00129 { 00130 SpecificParametersMap::iterator i = mSpecificParameters.find(ParameterName); 00131 if (i != mSpecificParameters.end()) 00132 { 00133 i->second.copyValue(ParameterValue); 00134 } 00135 else 00136 { 00137 Except<ERR_ITEM_NOT_FOUND>(this, "Parameter \"" + ParameterName + "\" does not exists.", "Object::getSpecificParameter()", __FILE__, __LINE__); 00138 } 00139 }
bool gpucalc::Object::isLocked | ( | ) | const [inline, inherited] |
void gpucalc::Object::lock | ( | ) | [inline, protected, inherited] |
void gpucalc::Object::unlock | ( | ) | [inline, protected, inherited] |
Definition at line 74 of file simple_task_manager.h.