highlighter application  1.1
HCE project utils : highlighter
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
TaskWaitObjectWrapper.hpp
Go to the documentation of this file.
1 #ifndef TASK_WAIT_OBJECT_WRAPPER_HPP
2 #define TASK_WAIT_OBJECT_WRAPPER_HPP
3 
4 #include <Poco/SharedPtr.h>
5 #include <Poco/Mutex.h>
6 #include <Poco/Task.h>
7 
8 #include "HCEConstants.hpp"
9 #include "ComponentBase.hpp"
10 #include "DataBase.hpp"
12 #include "TaskWaitObject.hpp"
13 
14 namespace HCE
15 {
16  using namespace HCE::component;
17  class TaskWaitObjectWrapper : public Poco::Task
18  {
19  protected:
20  Poco::SharedPtr<TaskWaitObject> _task;
21  Poco::SharedPtr<ComponentBase> _componentPtr;
22  Poco::FastMutex &componentMutex;
23  public:
24  TaskWaitObjectWrapper(Poco::SharedPtr<TaskWaitObject> task, Poco::SharedPtr<ComponentBase> componentPtr, Poco::FastMutex &mutex)
25  :Poco::Task(componentNames[static_cast<int>(task->getType())]), componentMutex(mutex)
26  {
27  _task = task;
28  _componentPtr = componentPtr;
29  }
30  virtual void runTask();
32  };
33 }
34 
35 #endif