X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fcore.h;h=dad8ee2d8f734b0a690ec338ef4f341e94306c1c;hb=fbb06e36ee772862c0d70ab43c9000225e9f8c42;hp=a9ede2e36ab46d576b097a5658eec4599f5647f5;hpb=67e4eb295238453c94da41185bcdb20d908859d6;p=quassel.git diff --git a/src/core/core.h b/src/core/core.h index a9ede2e3..dad8ee2d 100644 --- a/src/core/core.h +++ b/src/core/core.h @@ -60,10 +60,9 @@ class Core : public QObject public: static Core *instance(); - static void destroy(); - static void saveState(); - static void restoreState(); + Core(); + ~Core() override; /*** Storage access ***/ // These methods are threadsafe. @@ -682,15 +681,6 @@ public: static bool sslSupported(); - /** - * Reloads SSL certificates used for connection with clients - * - * @return True if certificates reloaded successfully, otherwise false. - */ - static bool reloadCerts(); - - static void cacheSysIdent(); - static QVariantList backendInfo(); static QVariantList authenticatorInfo(); @@ -703,10 +693,23 @@ public: static const int AddClientEventId; public slots: - //! Make storage data persistent - /** \note This method is threadsafe. + bool init(); + + /** Persist storage. + * + * @note This method is threadsafe. */ void syncStorage(); + + /** + * Reload SSL certificates used for connection with clients. + * + * @return True if certificates reloaded successfully, otherwise false. + */ + bool reloadCerts(); + + void cacheSysIdent(); + void setupInternalClientSession(InternalPeer *clientConnection); QString setupCore(const QString &adminUser, const QString &adminPassword, const QString &backend, const QVariantMap &setupData, const QString &authenticator, const QVariantMap &authSetupMap); @@ -718,7 +721,7 @@ signals: void sessionState(const Protocol::SessionState &sessionState); protected: - virtual void customEvent(QEvent *event); + void customEvent(QEvent *event) override; private slots: bool startListening(); @@ -739,11 +742,6 @@ private slots: bool changeUserPass(const QString &username); private: - Core(); - ~Core(); - void init(); - static Core *instanceptr; - SessionThread *sessionForUser(UserId userId, bool restoreState = false); void addClientHelper(RemotePeer *peer, UserId uid); //void processCoreSetup(QTcpSocket *socket, QVariantMap &msg); @@ -769,10 +767,14 @@ private: bool saveBackendSettings(const QString &backend, const QVariantMap &settings); void saveAuthenticatorSettings(const QString &backend, const QVariantMap &settings); + void saveState(); + void restoreState(); + template QVariantMap promptForSettings(const Backend *backend); private: + static Core *_instance; QSet _connectingClients; QHash _sessions; DeferredSharedPtr _storage; ///< Active storage backend