#pragma once #include #include #include "../manager/event_bus.hpp" #include "../manager/document.hpp" #include "../manager/parser.hpp" #include "../manager/symbol.hpp" #include "../protocol/protocol.hpp" namespace lsp::manager { class ManagerHub { public: ManagerHub(); ~ManagerHub(); void Initialize(); void Shutdown(); Document& documents() { return documents_; } Parser& parser() { return parser_; } Symbol& symbols() { return symbols_; } private: EventBus event_bus_; Document documents_; Parser parser_; Symbol symbols_; }; }