mirror of
https://github.com/home-assistant/iOS.git
synced 2026-06-24 10:49:41 -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>
26 lines
844 B
Swift
26 lines
844 B
Swift
import Intents
|
|
|
|
public protocol ServerIdentifierProviding {
|
|
var serverIdentifier: String { get }
|
|
}
|
|
|
|
public protocol ServerIntentProviding {
|
|
var server: IntentServer? { get }
|
|
}
|
|
|
|
extension CallServiceIntent: ServerIntentProviding {}
|
|
extension FireEventIntent: ServerIntentProviding {}
|
|
extension GetCameraImageIntent: ServerIntentProviding {}
|
|
extension RenderTemplateIntent: ServerIntentProviding {}
|
|
extension AssistIntent: ServerIntentProviding {}
|
|
extension AssistInAppIntent: ServerIntentProviding {}
|
|
|
|
extension IntentPanel: ServerIntentProviding {
|
|
// this custom type as a property does not persist correctly in a configured widget
|
|
// FB9779882
|
|
public var server: IntentServer? {
|
|
get { serverIdentifier.flatMap { .init(identifier: $0, display: $0) } }
|
|
set { serverIdentifier = newValue?.identifier }
|
|
}
|
|
}
|