void CoreBufferSyncer::storeDirtyIds() { UserId userId = _coreSession->user(); MsgId msgId; foreach(BufferId bufferId, dirtyLastSeenBuffers) { msgId = lastSeenMsg(bufferId); if (msgId.isValid()) Core::setBufferLastSeenMsg(userId, bufferId, msgId); }
bool BufferSyncer::setLastSeenMsg(BufferId buffer, const MsgId &msgId) { if(!msgId.isValid()) return false; const MsgId oldLastSeenMsg = lastSeenMsg(buffer); if(!oldLastSeenMsg.isValid() || oldLastSeenMsg < msgId) { _lastSeenMsg[buffer] = msgId; SYNC(ARG(buffer), ARG(msgId)) emit lastSeenMsgSet(buffer, msgId); return true; } return false; }