| 12345678910111213141516171819202122232425262728293031323334353637 |
- //
- // DoseProgressReporter.swift
- // LoopKit
- //
- // Created by Pete Schwamb on 3/12/19.
- // Copyright © 2019 LoopKit Authors. All rights reserved.
- //
- import Foundation
- public struct DoseProgress {
- public let deliveredUnits: Double
- public let percentComplete: Double
- public var isComplete: Bool {
- return percentComplete >= 1.0 || fabs(percentComplete - 1.0) <= Double.ulpOfOne
- }
- public init(deliveredUnits: Double, percentComplete: Double) {
- self.deliveredUnits = deliveredUnits
- self.percentComplete = percentComplete
- }
- }
- public protocol DoseProgressObserver: AnyObject {
- func doseProgressReporterDidUpdate(_ doseProgressReporter: DoseProgressReporter)
- }
- public protocol DoseProgressReporter: AnyObject {
- var progress: DoseProgress { get }
- func addObserver(_ observer: DoseProgressObserver)
- func removeObserver(_ observer: DoseProgressObserver)
- }
|