hce-node application  1.4.3
HCE Hierarchical Cluster Engine node application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends 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/Condition.h>
5 #include <Poco/SharedPtr.h>
6 #include <Poco/Mutex.h>
7 #include <Poco/Task.h>
8 
9 #include "HCEConstants.hpp"
10 #include "ComponentBase.hpp"
11 #include "DataBase.hpp"
13 #include "TaskWaitObject.hpp"
14 
15 namespace HCE
16 {
17  using namespace HCE::component;
18  class TaskWaitObjectWrapper : public Poco::Task
19  {
20  protected:
21  Poco::SharedPtr<TaskWaitObject> task;
22  Poco::SharedPtr<ComponentBase> componentPtr;
23  public:
24  TaskWaitObjectWrapper(Poco::SharedPtr<TaskWaitObject> _task, Poco::SharedPtr<ComponentBase> _componentPtr)
25  :Poco::Task(componentNames[static_cast<int>(_task->getType())])
26  {
27  task = _task;
28  componentPtr = _componentPtr;
29  }
30  virtual void runTask();
32  };
33 }
34 
35 #endif