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<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, const MsgId &lastSeenMsgId) {
+ return instance()->_storage->bufferActivity(bufferId, lastSeenMsgId);
+ }
static inline QDateTime startTime() { return instance()->_startTime; }
static inline bool isConfigured() { return instance()->_configured; }
<file>./SQL/PostgreSQL/version/21/upgrade_000_add_function_backlog_lastmsgid_update.sql</file>
<file>./SQL/PostgreSQL/version/21/upgrade_001_add_trigger_backlog_lastmsgid_update.sql</file>
<file>./SQL/PostgreSQL/version/22/upgrade_000_alter_quasseluser_add_authenticator.sql</file>
- <file>./SQL/PostgreSQL/version/23/upgrade_000_alter_buffer_add_bufferactivity.sql</file>
<file>./SQL/PostgreSQL/version/23/upgrade_000_create_senderprefixes.sql</file>
+ <file>./SQL/PostgreSQL/version/24/upgrade_000_alter_buffer_add_bufferactivity.sql</file>
<file>./SQL/SQLite/delete_backlog_by_uid.sql</file>
<file>./SQL/SQLite/delete_backlog_for_buffer.sql</file>
<file>./SQL/SQLite/delete_backlog_for_network.sql</file>
<file>./SQL/SQLite/version/22/upgrade_000_add_trigger_backlog_lastmsgid_update_direct_insert.sql</file>
<file>./SQL/SQLite/version/22/upgrade_001_add_trigger_backlog_lastmsgid_update_direct_update.sql</file>
<file>./SQL/SQLite/version/23/upgrade_000_alter_quasseluser_add_authenticator.sql</file>
- <file>./SQL/SQLite/version/24/upgrade_000_alter_buffer_add_bufferactivity.sql</file>
<file>./SQL/SQLite/version/24/upgrade_000_create_senderprefixes.sql</file>
+ <file>./SQL/SQLite/version/25/upgrade_000_alter_buffer_add_bufferactivity.sql</file>
</qresource>
</RCC>
virtual void setBufferMarkerLineMsg(UserId user, const BufferId &bufferId, const MsgId &msgId);
virtual QHash<BufferId, MsgId> bufferMarkerLineMsgIds(UserId user);
virtual void setBufferActivity(UserId id, const BufferId &bufferId, const Message::Types &type);
- virtual QHash<BufferId, Message::Types> bufferActivities(UserId id);
+ virtual QHash<BufferId, Message::Types> bufferActivities(UserId id) override;
virtual Message::Types bufferActivity(BufferId &bufferId, const MsgId &lastSeenMsgId);
/* Message handling */