highlighter application  1.1
HCE project utils : highlighter
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
ComponentManagerPool.hpp
Go to the documentation of this file.
1 #ifndef COMPONENT_MANAGER_POOL_HPP
2 #define COMPONENT_MANAGER_POOL_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 "ComponentManager.hpp"
12 #include "DataBase.hpp"
13 #include "TaskWaitObject.hpp"
14 
15 namespace HCE
16 {
17  namespace component
18  {
20  {
21  private:
22  virtual void createAndAddComponent(Poco::SharedPtr<ComponentBase> component){};
23  protected:
24  typedef std::map<ComponentType, Poco::SharedPtr<ComponentManager> >::iterator ManagerIterator;
25  Poco::FastMutex globalComponentMutex;
26  std::map<ComponentType, Poco::SharedPtr<ComponentManager> > tManagerMap;
27  Poco::ThreadPool thPool;
28  public:
30  virtual void addManager(ComponentType componentType, Poco::SharedPtr<ComponentManager> cManagerPtr, bool _useCommonPool);
31  virtual Poco::SharedPtr<TaskWaitObject> addInData(Poco::SharedPtr<DataBase> inData);
32  virtual void clearTaskQueue(ComponentType componentType);
33  virtual ~ComponentManagerPool();
34  };
35  }
36 }
37 
38 #endif