#ifndef COMPONENT_MANAGER_H #define COMPONENT_MANAGER_H #include #include #include "component/Component.h" #include "component/ComponentFactory.h" class CompositeView; class NetworkFactory; class StorageAccess; class View; class ViewFactory; class ViewLayout; class ComponentManager { public: static std::shared_ptr create(ViewFactory* viewFactory, StorageAccess* graphAccess); ~ComponentManager(); void setup(ViewLayout* viewLayout); void clearComponents(); void refreshViews(); private: ComponentManager(); ComponentManager(const ComponentManager&); std::shared_ptr m_componentFactory; std::vector> m_compositeViews; std::vector> m_components; }; #endif // COMPONENT_MANAGER_H