Swiftgram/submodules/Postbox/Sources/MessageHistoryHolesView.swift
Ali a9c67e4210 Revert "Revert to release-7.0.1"
This reverts commit 5a32d25fc621639ac3950274b912b361d68e3908.
2020-09-26 12:34:47 +04:00

77 lines
2.1 KiB
Swift

import Foundation
public struct MessageHistoryHolesViewEntry: Equatable, Hashable {
public let hole: MessageHistoryViewHole
public let direction: MessageHistoryViewRelativeHoleDirection
public let space: MessageHistoryHoleSpace
public let count: Int
public init(hole: MessageHistoryViewHole, direction: MessageHistoryViewRelativeHoleDirection, space: MessageHistoryHoleSpace, count: Int) {
self.hole = hole
self.direction = direction
self.space = space
self.count = count
}
}
final class MutableMessageHistoryHolesView {
fileprivate var entries = Set<MessageHistoryHolesViewEntry>()
init() {
}
func update(_ holes: Set<MessageHistoryHolesViewEntry>) -> Bool {
if self.entries != holes {
self.entries = holes
return true
} else {
return false
}
}
}
public final class MessageHistoryHolesView {
public let entries: Set<MessageHistoryHolesViewEntry>
init(_ mutableView: MutableMessageHistoryHolesView) {
self.entries = mutableView.entries
}
}
public struct MessageHistoryExternalHolesViewEntry: Equatable, Hashable {
public let hole: MessageHistoryViewHole
public let direction: MessageHistoryViewRelativeHoleDirection
public let count: Int
public init(hole: MessageHistoryViewHole, direction: MessageHistoryViewRelativeHoleDirection, count: Int) {
self.hole = hole
self.direction = direction
self.count = count
}
}
final class MutableMessageHistoryExternalHolesView {
fileprivate var entries = Set<MessageHistoryExternalHolesViewEntry>()
init() {
}
func update(_ holes: Set<MessageHistoryExternalHolesViewEntry>) -> Bool {
if self.entries != holes {
self.entries = holes
return true
} else {
return false
}
}
}
public final class MessageHistoryExternalHolesView {
public let entries: Set<MessageHistoryExternalHolesViewEntry>
init(_ mutableView: MutableMessageHistoryExternalHolesView) {
self.entries = mutableView.entries
}
}