#ifndef COMPONENT_MANAGER_H #define COMPONENT_MANAGER_H #include #include #include "component/Component.h" #include "component/ComponentFactory.h" #include "data/access/LocationAccess.h" #include "data/access/GraphAccess.h" class GuiFactory; class ViewLayout; class ComponentManager { public: static std::shared_ptr create( GuiFactory* guiFactory, ViewLayout* viewLayout, std::shared_ptr locationAccess, std::shared_ptr graphAccess); ~ComponentManager(); void setup(); private: ComponentManager(); ComponentManager(const ComponentManager&); std::shared_ptr m_componentFactory; std::vector > m_components; }; #endif // COMPONENT_MANAGER_H