X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fstorage.h;h=d0f2ae37f3d3fffca474418ef720c9bc9b4e9788;hb=3bf86a5278e26bec5e708a566e6926125f1941f0;hp=fec8d861cca5045806eef780e827a11048c89de5;hpb=cfbd4daee17dbb3c4052d938bf33edd08711d728;p=quassel.git diff --git a/src/core/storage.h b/src/core/storage.h index fec8d861..d0f2ae37 100644 --- a/src/core/storage.h +++ b/src/core/storage.h @@ -384,6 +384,33 @@ public slots: */ virtual QHash bufferMarkerLineMsgIds(UserId user) = 0; + //! 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 + */ + virtual void setBufferActivity(UserId id, BufferId bufferId, Message::Types type) = 0; + + //! Get a Hash of all buffer activity states + /** This Method is called when the Quassel Core is started to restore the BufferActivities + * \note This method is threadsafe. + * + * \param user The Owner of the buffers + */ + virtual QHash bufferActivities(UserId id) = 0; + + //! 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 + */ + virtual Message::Types bufferActivity(BufferId bufferId, MsgId lastSeenMsgId) = 0; + /* Message handling */ //! Store a Message in the storage backend and set its unique Id.