hce-node application  1.4.3
HCE Hierarchical Cluster Engine node application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ComponentManagerPoolSimple.hpp
Go to the documentation of this file.
1 #ifndef COMPONENT_MANAGER_POOL_SIMPLE_HPP
2 #define COMPONENT_MANAGER_POOL_SIMPLE_HPP
3 
4 #include <Poco/SharedPtr.h>
5 #include <Poco/Mutex.h>
6 #include <Poco/ThreadPool.h>
7 #include <map>
8 
9 #include "HCEConstants.hpp"
10 #include "ComponentBase.hpp"
11 #include "ComponentManager.hpp"
13 #include "DataBase.hpp"
14 #include "TaskWaitObject.hpp"
15 
16 namespace HCE
17 {
18  namespace component
19  {
21  {
22  private:
23  virtual void addManager(ComponentType componentType, Poco::SharedPtr<ComponentManager> cManagerPtr, bool _useCommonPool) {};
24  protected:
25  typedef std::map<ComponentType, Poco::SharedPtr<ComponentBase> >::iterator ComponentIterator;
26  std::map<ComponentType, Poco::SharedPtr<ComponentBase> > componentsMap;
27  public:
29  virtual void createAndAddComponent(Poco::SharedPtr<ComponentBase> component);
30  virtual Poco::SharedPtr<TaskWaitObject> addInData(Poco::SharedPtr<DataBase> inData);
31  virtual void clearTaskQueue(ComponentType componentType);
33  };
34  }
35 }
36 
37 #endif