Make an IApplication interface (#3758)

This commit is contained in:
pajlada
2022-05-22 15:00:18 +02:00
committed by GitHub
parent bd3d2ed82a
commit 35a7780564
2 changed files with 90 additions and 1 deletions
+15
View File
@@ -46,6 +46,12 @@ namespace chatterino {
static std::atomic<bool> isAppInitialized{false};
Application *Application::instance = nullptr;
IApplication *IApplication::instance = nullptr;
IApplication::IApplication()
{
IApplication::instance = this;
}
// this class is responsible for handling the workflow of Chatterino
// It will create the instances of the major classes, and connect their signals
@@ -526,4 +532,13 @@ Application *getApp()
return Application::instance;
}
IApplication *getIApp()
{
assert(IApplication::instance != nullptr);
assertInGuiThread();
return IApplication::instance;
}
} // namespace chatterino