X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcore.h;h=420cc62a8ef74710e64937bba43ad60ee5091a33;hp=333d06700ecda6529d4b8d29bb99e401a651f409;hb=8f976cfdc7090cf4a752dab08126cc6107aa9626;hpb=729e90cd941776ea76192a6c3bf110d2c572b0cd diff --git a/src/core/core.h b/src/core/core.h index 333d0670..420cc62a 100644 --- a/src/core/core.h +++ b/src/core/core.h @@ -531,6 +531,39 @@ public: 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, const BufferId &bufferId, const 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 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, const MsgId &lastSeenMsgId) { + return instance()->_storage->bufferActivity(bufferId, lastSeenMsgId); + } static inline QDateTime startTime() { return instance()->_startTime; } static inline bool isConfigured() { return instance()->_configured; }