35 lines
666 B
C++
35 lines
666 B
C++
#pragma once
|
|
|
|
#include <optional>
|
|
#include <string>
|
|
|
|
#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_;
|
|
};
|
|
}
|