Files
Sourcetrail/src/lib/component/ComponentManager.h
T
Manuel Dobusch 0664f9a81b logic: IDE Communication
Network code and controller added to communicate with IDE plugins. Does not include GUI integration though.
2015-10-14 15:40:10 +02:00

39 lines
787 B
C++

#ifndef COMPONENT_MANAGER_H
#define COMPONENT_MANAGER_H
#include <memory>
#include <vector>
#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<ComponentManager> create(ViewFactory* viewFactory, StorageAccess* graphAccess);
~ComponentManager();
void setup(ViewLayout* viewLayout);
void refreshViews();
private:
ComponentManager();
ComponentManager(const ComponentManager&);
std::shared_ptr<ComponentFactory> m_componentFactory;
std::vector<std::shared_ptr<CompositeView>> m_compositeViews;
std::vector<std::shared_ptr<Component>> m_components;
};
#endif // COMPONENT_MANAGER_H