Swiftgram/submodules/Postbox/Postbox/NoticeEntryView.swift
Peter 4459dc5b47 Add 'submodules/Postbox/' from commit '534443c710e63ff4ea595b5dc7be94550c467734'
git-subtree-dir: submodules/Postbox
git-subtree-mainline: 373769682ef152a8d5ef41ccb064a8387b2ca6f0
git-subtree-split: 534443c710e63ff4ea595b5dc7be94550c467734
2019-06-11 18:56:39 +01:00

32 lines
846 B
Swift

import Foundation
final class MutableNoticeEntryView {
private let key: NoticeEntryKey
fileprivate var value: NoticeEntry?
init(accountManagerImpl: AccountManagerImpl, key: NoticeEntryKey) {
self.key = key
self.value = accountManagerImpl.noticeTable.get(key: key)
}
func replay(accountManagerImpl: AccountManagerImpl, updatedKeys: Set<NoticeEntryKey>) -> Bool {
if updatedKeys.contains(self.key) {
self.value = accountManagerImpl.noticeTable.get(key: self.key)
return true
}
return false
}
func immutableView() -> NoticeEntryView {
return NoticeEntryView(self)
}
}
public final class NoticeEntryView {
public let value: NoticeEntry?
init(_ view: MutableNoticeEntryView) {
self.value = view.value
}
}