X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fcore.h;h=102252b6683db4aa405c03c1f134cc7aea207aab;hb=4cf9c160f318a71400b032ea6d3031b9e6628a56;hp=01bf477fbda0f2b2e52394ee9fcaed4e7164b940;hpb=dc11e24b95e5b5e3595cc0e98eb2a572006912c7;p=quassel.git diff --git a/src/core/core.h b/src/core/core.h index 01bf477f..102252b6 100644 --- a/src/core/core.h +++ b/src/core/core.h @@ -40,6 +40,7 @@ #include "authenticator.h" #include "bufferinfo.h" #include "deferredptr.h" +#include "identserver.h" #include "message.h" #include "oidentdconfiggenerator.h" #include "sessionthread.h" @@ -67,6 +68,8 @@ public: Core(); ~Core() override; + void init(); + /*** Storage access ***/ // These methods are threadsafe. @@ -692,6 +695,7 @@ public: static inline QTimer *syncTimer() { return &instance()->_storageSyncTimer; } inline OidentdConfigGenerator *oidentdConfigGenerator() const { return _oidentdConfigGenerator; } + inline IdentServer *identServer() const { return _identServer; } static const int AddClientEventId; @@ -705,8 +709,11 @@ signals: //! Emitted when database schema upgrade starts or ends void dbUpgradeInProgress(bool inProgress); + //! Emitted when a fatal error was encountered during async initialization + void exitRequested(int exitCode, const QString &reason); + public slots: - bool init(); + void initAsync(); /** Persist storage. * @@ -804,6 +811,8 @@ private: QDateTime _startTime; + IdentServer *_identServer {nullptr}; + bool _initialized{false}; bool _configured{false};