forked from qt-creator/qt-creator
LanguageClient: remove friend relationship between manager and plugin
Change-Id: I594d62615f365db34174c4bd1e6c8a9f6aeb545a Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -25,18 +25,37 @@
|
||||
|
||||
#include "languageclientplugin.h"
|
||||
|
||||
#include "languageclientmanager.h"
|
||||
|
||||
#include "client.h"
|
||||
|
||||
namespace LanguageClient {
|
||||
|
||||
static LanguageClientPlugin *m_instance = nullptr;
|
||||
|
||||
LanguageClientPlugin::LanguageClientPlugin()
|
||||
{
|
||||
m_instance = this;
|
||||
}
|
||||
|
||||
LanguageClientPlugin::~LanguageClientPlugin()
|
||||
{
|
||||
m_instance = nullptr;
|
||||
}
|
||||
|
||||
LanguageClientPlugin *LanguageClientPlugin::instance()
|
||||
{
|
||||
return m_instance;
|
||||
}
|
||||
|
||||
bool LanguageClientPlugin::initialize(const QStringList & /*arguments*/, QString * /*errorString*/)
|
||||
{
|
||||
LanguageClientManager::init();
|
||||
return true;
|
||||
}
|
||||
|
||||
void LanguageClientPlugin::extensionsInitialized()
|
||||
{
|
||||
LanguageClientManager::init();
|
||||
LanguageClientSettings::init();
|
||||
}
|
||||
|
||||
@@ -45,6 +64,8 @@ ExtensionSystem::IPlugin::ShutdownFlag LanguageClientPlugin::aboutToShutdown()
|
||||
LanguageClientManager::shutdown();
|
||||
if (LanguageClientManager::clients().isEmpty())
|
||||
return ExtensionSystem::IPlugin::SynchronousShutdown;
|
||||
QTC_ASSERT(LanguageClientManager::instance(),
|
||||
return ExtensionSystem::IPlugin::SynchronousShutdown);
|
||||
connect(LanguageClientManager::instance(), &LanguageClientManager::shutdownFinished,
|
||||
this, &ExtensionSystem::IPlugin::asynchronousShutdownFinished);
|
||||
return ExtensionSystem::IPlugin::AsynchronousShutdown;
|
||||
|
||||
Reference in New Issue
Block a user