diff options
Diffstat (limited to 'src/plugins/languageclient/languageclientmanager.h')
-rw-r--r-- | src/plugins/languageclient/languageclientmanager.h | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/plugins/languageclient/languageclientmanager.h b/src/plugins/languageclient/languageclientmanager.h index 6ceca307a61..0a38b3d3872 100644 --- a/src/plugins/languageclient/languageclientmanager.h +++ b/src/plugins/languageclient/languageclientmanager.h @@ -6,7 +6,6 @@ #include "client.h" #include "languageclient_global.h" #include "languageclientsettings.h" -#include "locatorfilter.h" #include "lspinspector.h" #include <utils/algorithm.h> @@ -25,14 +24,15 @@ namespace ProjectExplorer { class Project; } namespace LanguageClient { +class LanguageClientManagerPrivate; class LanguageClientMark; class LANGUAGECLIENT_EXPORT LanguageClientManager : public QObject { Q_OBJECT + Q_DISABLE_COPY_MOVE(LanguageClientManager) + public: - LanguageClientManager(const LanguageClientManager &other) = delete; - LanguageClientManager(LanguageClientManager &&other) = delete; ~LanguageClientManager() override; static void init(); @@ -48,7 +48,7 @@ public: static void deleteClient(Client *client); static void shutdown(); - static bool isShuttingDown(); + static bool isShutdownFinished(); static LanguageClientManager *instance(); @@ -80,8 +80,10 @@ public: signals: void clientAdded(Client *client); + void clientInitialized(Client *client); void clientRemoved(Client *client); void shutdownFinished(); + void openCallHierarchy(); private: LanguageClientManager(QObject *parent); @@ -95,6 +97,8 @@ private: void updateProject(ProjectExplorer::Project *project); void projectAdded(ProjectExplorer::Project *project); + void trackClientDeletion(Client *client); + QList<Client *> reachableClients(); QList<Client *> m_clients; @@ -102,11 +106,9 @@ private: QList<BaseSettings *> m_currentSettings; // owned QMap<QString, QList<Client *>> m_clientsForSetting; QHash<TextEditor::TextDocument *, QPointer<Client>> m_clientForDocument; - DocumentLocatorFilter m_currentDocumentLocatorFilter; - WorkspaceLocatorFilter m_workspaceLocatorFilter; - WorkspaceClassLocatorFilter m_workspaceClassLocatorFilter; - WorkspaceMethodLocatorFilter m_workspaceMethodLocatorFilter; + std::unique_ptr<LanguageClientManagerPrivate> d; LspInspector m_inspector; + QSet<Utils::Id> m_scheduledForDeletion; }; template<typename T> bool LanguageClientManager::hasClients() |