Swiftgram/Postbox/MediaResourceStatus.swift
2017-10-10 18:47:40 +03:00

39 lines
1000 B
Swift

import Foundation
#if os(macOS)
import SwiftSignalKitMac
#else
import SwiftSignalKit
#endif
public enum MediaResourceStatus: Equatable {
case Remote
case Local
case Fetching(isActive: Bool, progress: Float)
}
public func ==(lhs: MediaResourceStatus, rhs: MediaResourceStatus) -> Bool {
switch lhs {
case .Remote:
switch rhs {
case .Remote:
return true
default:
return false
}
case .Local:
switch rhs {
case .Local:
return true
default:
return false
}
case let .Fetching(lhsIsActive, lhsProgress):
switch rhs {
case let .Fetching(rhsIsActive, rhsProgress):
return lhsIsActive == rhsIsActive && lhsProgress.isEqual(to: rhsProgress)
default:
return false
}
}
}