mirror of
https://github.com/home-assistant/iOS.git
synced 2026-06-16 13:26:27 -05:00
<!-- Thank you for submitting a Pull Request and helping to improve Home Assistant. Please complete the following sections to help the processing and review of your changes. Please do not delete anything from this template. --> ## Summary <!-- Provide a brief summary of the changes you have made and most importantly what they aim to achieve --> ## Screenshots <!-- If this is a user-facing change not in the frontend, please include screenshots in light and dark mode. --> ## Link to pull request in Documentation repository <!-- Pull requests that add, change or remove functionality must have a corresponding pull request in the Companion App Documentation repository (https://github.com/home-assistant/companion.home-assistant). Please add the number of this pull request after the "#" --> Documentation: home-assistant/companion.home-assistant# ## Any other notes <!-- If there is any other information of note, like if this Pull Request is part of a bigger change, please include it here. --> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
36 lines
1.3 KiB
Swift
36 lines
1.3 KiB
Swift
import Foundation
|
|
import Intents
|
|
|
|
public enum IntentHandlerFactory {
|
|
public static func handler(for intent: INIntent) -> Any {
|
|
let handler: Any = {
|
|
switch intent {
|
|
case is FireEventIntent:
|
|
return FireEventIntentHandler()
|
|
case is CallServiceIntent:
|
|
return CallServiceIntentHandler()
|
|
case is SendLocationIntent:
|
|
return SendLocationIntentHandler()
|
|
case is GetCameraImageIntent:
|
|
return GetCameraImageIntentHandler()
|
|
case is RenderTemplateIntent:
|
|
return RenderTemplateIntentHandler()
|
|
case is UpdateSensorsIntent:
|
|
return UpdateSensorsIntentHandler()
|
|
case is AssistIntent:
|
|
return AssistIntentHandler()
|
|
case is OpenPageIntent, is WidgetOpenPageIntent:
|
|
return OpenPageIntentHandler()
|
|
case is INShareFocusStatusIntent:
|
|
return FocusStatusIntentHandler()
|
|
case is AssistInAppIntent:
|
|
return AssistInAppIntentHandler()
|
|
default:
|
|
return self
|
|
}
|
|
}()
|
|
Current.Log.info("for \(intent) found handler \(handler)")
|
|
return handler
|
|
}
|
|
}
|