X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fstorage.h;h=5eed79cfad1fd5d7e5bddeb29338c27d7148054e;hp=fec8d861cca5045806eef780e827a11048c89de5;hb=e5d6f457a0f3eef578dcb9d7e4a3db61826dc232;hpb=f509a0d1065d4e42c9eb84e0ffab9e72517df04c diff --git a/src/core/storage.h b/src/core/storage.h index fec8d861..5eed79cf 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, const BufferId &bufferId, const int &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 int bufferActivity(BufferId &bufferId, MsgId &lastSeenMsgId) = 0; + /* Message handling */ //! Store a Message in the storage backend and set its unique Id.