X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcore.h;h=e0ec7481a3cbb04654896c0e5ea4e6e4a7f78e95;hp=53869c2b2781c1057d7ca0b950b2c7e3e5ebfab5;hb=358e5d557d527675c7bc62e58a4c7ad3b408897c;hpb=dbcfda6f073ab1c72d8dc0c3a9325c59f083642d diff --git a/src/core/core.h b/src/core/core.h index 53869c2b..e0ec7481 100644 --- a/src/core/core.h +++ b/src/core/core.h @@ -24,6 +24,7 @@ #include #include +#include #include #include #include @@ -47,10 +48,12 @@ class CoreAuthHandler; class CoreSession; -struct NetworkInfo; +class InternalPeer; class SessionThread; class SignalProxy; +struct NetworkInfo; + class AbstractSqlMigrationReader; class AbstractSqlMigrationWriter; @@ -692,6 +695,13 @@ public: static const int AddClientEventId; +signals: + //! Sent when a BufferInfo is updated in storage. + void bufferInfoUpdated(UserId user, const BufferInfo &info); + + //! Relay from CoreSession::sessionState(). Used for internal connection only + void sessionState(const Protocol::SessionState &sessionState); + public slots: bool init(); @@ -710,15 +720,9 @@ public slots: 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); -signals: - //! Sent when a BufferInfo is updated in storage. - void bufferInfoUpdated(UserId user, const BufferInfo &info); - - //! Relay from CoreSession::sessionState(). Used for internal connection only - void sessionState(const Protocol::SessionState &sessionState); + void connectInternalPeer(QPointer peer); protected: void customEvent(QEvent *event) override; @@ -746,6 +750,7 @@ private: void addClientHelper(RemotePeer *peer, UserId uid); //void processCoreSetup(QTcpSocket *socket, QVariantMap &msg); QString setupCoreForInternalUsage(); + void setupInternalClientSession(QPointer peer); bool createUser(); @@ -796,7 +801,10 @@ private: QDateTime _startTime; - bool _configured; + bool _initialized{false}; + bool _configured{false}; + + QPointer _pendingInternalConnection; /// Whether or not strict ident mode is enabled, locking users' idents to Quassel username bool _strictIdentEnabled;