// // Notifications.swift // KeymanEngine // // Created by Gabriel Wong on 2017-10-30. // Copyright © 2017 SIL International. All rights reserved. // import Foundation public typealias KeyboardDownloadStartedNotification = [InstallableKeyboard] public typealias KeyboardDownloadCompletedNotification = [InstallableKeyboard] public struct KeyboardDownloadFailedNotification { public let keyboards: [InstallableKeyboard] public let error: Error } public typealias LexicalModelDownloadStartedNotification = [InstallableLexicalModel] public typealias LexicalModelDownloadCompletedNotification = [InstallableLexicalModel] public struct LexicalModelDownloadFailedNotification { public let lmOrLanguageID: String public let error: Error } public typealias BatchUpdateStartedNotification = [LanguageResource] public struct BatchUpdateCompletedNotification { public let successes: [[LanguageResource]] public let failures: [[LanguageResource]] public let errors: [Error] } public typealias KeyboardLoadedNotification = InstallableKeyboard public typealias KeyboardChangedNotification = InstallableKeyboard public typealias KeyboardRemovedNotification = InstallableKeyboard public typealias KeyboardPickerDismissedNotification = Void public typealias LexicalModelLoadedNotification = InstallableLexicalModel public typealias LexicalModelChangedNotification = InstallableLexicalModel public typealias LexicalModelRemovedNotification = InstallableLexicalModel public typealias LexicalModelPickerDismissedNotification = Void public struct Notifications { public static let keyboardDownloadStarted = NotificationName("KeymanKeyboardDownloadStarted") public static let keyboardDownloadCompleted = NotificationName("KeymanKeyboardDownloadCompleted") public static let keyboardDownloadFailed = NotificationName("KeymanKeyboardDownloadFailed") public static let keyboardLoaded = NotificationName("KeymanKeyboardLoaded") public static let keyboardChanged = NotificationName("KeymanKeyboardChanged") public static let keyboardRemoved = NotificationName("KeymanKeyboardRemoved") public static let keyboardPickerDismissed = NotificationName("KeymanKeyboardPickerDismissed") public static let lexicalModelDownloadStarted = NotificationName("KeymanLexicalModelDownloadStarted") public static let lexicalModelDownloadCompleted = NotificationName("KeymanLexicalModelDownloadCompleted") public static let lexicalModelDownloadFailed = NotificationName("KeymanLexicalModelDownloadFailed") public static let lexicalModelLoaded = NotificationName("KeymanLexicalModelLoaded") public static let lexicalModelChanged = NotificationName("KeymanLexicalModelChanged") public static let lexicalModelRemoved = NotificationName("KeymanLexicalModelRemoved") public static let lexicalModelPickerDismissed = NotificationName("KeymanLexicalModelPickerDismissed") public static let batchUpdateStarted = NotificationName("KeymanBatchUpdateStarted") public static let batchUpdateCompleted = NotificationName("KeymanBatchUpdateCompleted") }