Esempio n. 1
0
void CoreBufferSyncer::storeDirtyIds()
{
    UserId userId = _coreSession->user();
    MsgId msgId;
    foreach(BufferId bufferId, dirtyLastSeenBuffers) {
        msgId = lastSeenMsg(bufferId);
        if (msgId.isValid())
            Core::setBufferLastSeenMsg(userId, bufferId, msgId);
    }
Esempio n. 2
0
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;
}