ServiceAssembly.swift 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import Foundation
  2. import HealthKit
  3. import Swinject
  4. final class ServiceAssembly: Assembly {
  5. func assemble(container: Container) {
  6. container.register(NotificationCenter.self) { _ in Foundation.NotificationCenter.default }
  7. container.register(Broadcaster.self) { _ in BaseBroadcaster() }
  8. container.register(GroupedIssueReporter.self) { _ in
  9. let reporter = CollectionIssueReporter()
  10. reporter.add(reporters: [
  11. SimpleLogReporter()
  12. ])
  13. reporter.setup()
  14. return reporter
  15. }
  16. container.register(CalendarManager.self) { r in BaseCalendarManager(resolver: r) }
  17. container.register(HKHealthStore.self) { _ in HKHealthStore() }
  18. container.register(HealthKitManager.self) { r in BaseHealthKitManager(resolver: r) }
  19. container.register(TrioAlertManager.self) { r in BaseTrioAlertManager(resolver: r) }
  20. .inObjectScope(.container)
  21. container.register(GlucoseAlertCoordinator.self) { r in GlucoseAlertCoordinator(resolver: r) }
  22. .inObjectScope(.container)
  23. container.register(NotLoopingMonitor.self) { r in NotLoopingMonitor(resolver: r) }
  24. .inObjectScope(.container)
  25. container.register(UserNotificationsManager.self) { r in BaseUserNotificationsManager(resolver: r) }
  26. container.register(WatchManager.self) { r in BaseWatchManager(resolver: r) }
  27. container.register(BolusCalculationManager.self) { r in BaseBolusCalculationManager(resolver: r) }
  28. container.register(GarminManager.self) { r in BaseGarminManager(resolver: r) }
  29. container.register(ContactImageManager.self) { r in BaseContactImageManager(resolver: r) }
  30. container.register(AlertPermissionsChecker.self) { r in AlertPermissionsChecker(resolver: r) }
  31. if #available(iOS 16.2, *) {
  32. container.register(LiveActivityManager.self) { r in
  33. LiveActivityManager(resolver: r)
  34. }
  35. }
  36. container.register(IOBService.self) { r in BaseIOBService(resolver: r) }
  37. container.register(BolusSafetyValidator.self) { r in BaseBolusSafetyValidator(resolver: r) }
  38. }
  39. }