+ static inline void setBufferMarkerLineMsg(UserId user, const BufferId &bufferId, const MsgId &msgId)
+ {
+ return instance()->_storage->setBufferMarkerLineMsg(user, bufferId, msgId);
+ }
+
+
+ //! Get a Hash of all marker line message ids
+ /** This Method is called when the Quassel Core is started to restore the MarkerLineMsgIds
+ * \note This method is threadsafe.
+ *
+ * \param user The Owner of the buffers
+ */
+ static inline QHash<BufferId, MsgId> bufferMarkerLineMsgIds(UserId user)
+ {
+ return instance()->_storage->bufferMarkerLineMsgIds(user);
+ }
+
+ //! Update the BufferActivity for a Buffer
+ /** This Method is used to make the activity state of a Buffer persistent
+ * \note This method is threadsafe.
+ *
+ * \param user The Owner of that Buffer
+ * \param bufferId The buffer id
+ * \param MsgId The Message id where the marker line should be placed
+ */
+ static inline void setBufferActivity(UserId user, BufferId bufferId, Message::Types activity) {
+ return instance()->_storage->setBufferActivity(user, bufferId, activity);
+ }
+
+
+ //! Get a Hash of all buffer activity states
+ /** This Method is called when the Quassel Core is started to restore the BufferActivity
+ * \note This method is threadsafe.
+ *
+ * \param user The Owner of the buffers
+ */
+ static inline QHash<BufferId, Message::Types> bufferActivities(UserId user) {
+ return instance()->_storage->bufferActivities(user);
+ }
+
+ //! Get the bitset of buffer activity states for a buffer
+ /** This method is used to load the activity state of a buffer when its last seen message changes.
+ * \note This method is threadsafe.
+ *
+ * \param bufferId The buffer
+ * \param lastSeenMsgId The last seen message
+ */
+ static inline Message::Types bufferActivity(BufferId bufferId, MsgId lastSeenMsgId) {
+ return instance()->_storage->bufferActivity(bufferId, lastSeenMsgId);
+ }
+
+ //! Update the highlight count for a Buffer
+ /** This Method is used to make the highlight count state of a Buffer persistent
+ * \note This method is threadsafe.
+ *
+ * \param user The Owner of that Buffer
+ * \param bufferId The buffer id
+ * \param MsgId The Message id where the marker line should be placed
+ */
+ static inline void setHighlightCount(UserId user, BufferId bufferId, int highlightCount) {
+ return instance()->_storage->setHighlightCount(user, bufferId, highlightCount);
+ }
+
+
+ //! Get a Hash of all highlight count states
+ /** This Method is called when the Quassel Core is started to restore the highlight count
+ * \note This method is threadsafe.
+ *
+ * \param user The Owner of the buffers
+ */
+ static inline QHash<BufferId, int> highlightCounts(UserId user) {
+ return instance()->_storage->highlightCounts(user);
+ }
+ //! Get the highlight count states for a buffer
+ /** This method is used to load the highlight count of a buffer when its last seen message changes.
+ * \note This method is threadsafe.
+ *
+ * \param bufferId The buffer
+ * \param lastSeenMsgId The last seen message
+ */
+ static inline int highlightCount(BufferId bufferId, MsgId lastSeenMsgId) {
+ return instance()->_storage->highlightCount(bufferId, lastSeenMsgId);
+ }
+
+ static inline QDateTime startTime() { return instance()->_startTime; }
+ static inline bool isConfigured() { return instance()->_configured; }
+
+ /**
+ * Whether or not strict ident mode is enabled, locking users' idents to Quassel username
+ *
+ * @return True if strict mode enabled, otherwise false
+ */
+ static inline bool strictIdentEnabled() { return instance()->_strictIdentEnabled; }
+
+ static bool sslSupported();
+
+ static QVariantList backendInfo();
+ static QVariantList authenticatorInfo();
+
+ static QString setup(const QString &adminUser, const QString &adminPassword, const QString &backend, const QVariantMap &setupData, const QString &authenticator, const QVariantMap &authSetupMap);
+
+ static inline QTimer *syncTimer() { return &instance()->_storageSyncTimer; }
+
+ inline OidentdConfigGenerator *oidentdConfigGenerator() const { return _oidentdConfigGenerator; }
+ inline IdentServer *identServer() const { return _identServer; }
+
+ static const int AddClientEventId;
+
+signals: