core: Limit "User is away" to 1hr or when changed
[quassel.git] / src / core / core.h
index e0ec748..8d02d9e 100644 (file)
@@ -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.
 
@@ -553,13 +556,6 @@ public:
         return instance()->_storage->setBufferLastSeenMsg(user, bufferId, msgId);
     }
 
-    //! Get the auth username associated with a userId
-    /** \param user  The user to retrieve the username for
-     *  \return      The username for the user
-     */
-    static inline QString getAuthUserName(UserId user) {
-        return instance()->_storage->getAuthUserName(user);
-    }
 
     //! Get a usable sysident for the given user in oidentd-strict mode
     /** \param user    The user to retrieve the sysident for
@@ -692,6 +688,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;
 
@@ -702,8 +699,14 @@ signals:
     //! Relay from CoreSession::sessionState(). Used for internal connection only
     void sessionState(const Protocol::SessionState &sessionState);
 
+    //! 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.
      *
@@ -801,6 +804,8 @@ private:
 
     QDateTime _startTime;
 
+    IdentServer *_identServer {nullptr};
+
     bool _initialized{false};
     bool _configured{false};