XML: Move to data/interfaces, install for dbus

This commit is contained in:
Vicki Pfau 2025-06-19 14:05:16 -07:00
parent 30a0a40279
commit 194646b8f1
5 changed files with 6 additions and 3 deletions

View file

@ -0,0 +1,82 @@
<!DOCTYPE node PUBLIC
"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<!--
Copyright © 2023 Collabora Ltd.
Copyright © 2024 Igalia S.L.
Copyright © 2024 Valve Corporation.
SPDX-License-Identifier: MIT
-->
<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
<!--
com.steampowered.SteamOSManager1.Manager
@short_description: Interface to control various aspects of SteamOS.
Deprecated: 9: This has been split up into multiple interfaces. This
interface will be removed in the future.
-->
<interface name="com.steampowered.SteamOSManager1.Manager">
<!--
Version:
The version of this interface implemented by this object.
The manager may not support the latest version of the API. Each
method/property has an associated version number that denotes in which
interface version it first became available.
-->
<property name="Version" type="u" access="read"/>
<!--
TdpLimitMin:
This is a dummy function. Use the GpuTdpLimit1 interface instead.
Since: 7
-->
<property name="TdpLimitMin" type="u" access="read"/>
<!--
WifiDebugModeState:
Whether Wi-Fi debug mode is currently enabled.
Valid states: 0 = Disabled, 1 = Enabled
Since: 7
-->
<property name="WifiDebugModeState" type="u" access="read"/>
<!--
SetWifiDebugMode:
@mode: 0 for off, 1 for on. Uses an integer for flexibility.
@buffer_size: The ring buffer size in kilobytes per CPU.
Enable/Disable Wi-Fi debug mode and configure the capture buffer size.
Since: 7
-->
<method name="SetWifiDebugMode">
<arg type="u" name="mode" direction="in"/>
<arg type="u" name="buffer_size" direction="in"/>
</method>
<!--
WifiBackend:
Controls which Wi-Fi backend is used by NetworkManager.
Valid states: 0 = iwd, 1 = wpa_supplicant
Since: 7
-->
<property name="WifiBackend" type="u" access="readwrite"/>
</interface>
</node>

View file

@ -0,0 +1,706 @@
<!DOCTYPE node PUBLIC
"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<!--
Copyright © 2023 Collabora Ltd.
Copyright © 2024 Igalia S.L.
Copyright © 2024 Valve Corporation.
SPDX-License-Identifier: MIT
-->
<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
<!--
com.steampowered.SteamOSManager1.AmbientLightSensor1
@short_description: Optional interface to interact with the built-in
ambient light sensor.
-->
<interface name="com.steampowered.SteamOSManager1.AmbientLightSensor1">
<!--
AlsCalibrationGain:
Provides the ALS calibration value.
Note: Will be -1.0 if ALS calibration is unavailable.
-->
<property name="AlsCalibrationGain" type="ad" access="read"/>
</interface>
<!--
com.steampowered.SteamOSManager1.BatteryChargeLimit1
@short_description: Optional interface for battery charging limit
properties.
-->
<interface name="com.steampowered.SteamOSManager1.BatteryChargeLimit1">
<!--
MaxChargeLevel:
The maximum allowable percentage for battery charging. If setting to
-1, this will reset to the default.
-->
<property name="MaxChargeLevel" type="i" access="readwrite"/>
<!--
SuggestedMinimumLimit:
The suggested minimum value for a frontend to allow setting the max
charge level.
-->
<property name="SuggestedMinimumLimit" type="i" access="read"/>
</interface>
<!--
com.steampowered.SteamOSManager1.CpuScaling1
@short_description: Optional interface for adjusting CPU scaling.
-->
<interface name="com.steampowered.SteamOSManager1.CpuScaling1">
<!--
CpuGovernors:
Enumerate the supported CPU governors on the system.
-->
<property name="AvailableCpuScalingGovernors" type="as" access="read"/>
<!--
CpuGovernor:
The current governor used for the system's CPUs. Valid values come from
the AvailableCpuGovernors property.
-->
<property name="CpuScalingGovernor" type="s" access="readwrite"/>
</interface>
<!--
com.steampowered.SteamOSManager1.FactoryReset1
@short_description: Optional interface for hardware that has a factory
reset functionality.
-->
<interface name="com.steampowered.SteamOSManager1.FactoryReset1">
<!--
PrepareFactoryReset:
Perform factory reset of device. Runs steamos-factory-reset script for
now.
@kind: 1 = Clear just user settings, 2 = Clear just OS, 3 = clear both user settings and OS
@returns: Status of reset operation.
Valid statuses: 0 = Unknown, 1 = RebootRequired
-->
<method name="PrepareFactoryReset">
<arg type="u" name="kind" direction="in"/>
<arg type="u" name="status" direction="out"/>
</method>
</interface>
<!--
com.steampowered.SteamOSManager1.FanControl1
@short_description: Optional interface for controlling the fans.
-->
<interface name="com.steampowered.SteamOSManager1.FanControl1">
<!--
FanControlState:
Controls whether the OS or the BIOS should manage fan speed.
Valid states: 0 = BIOS, 1 = OS
-->
<property name="FanControlState" type="u" access="readwrite"/>
</interface>
<!--
com.steampowered.SteamOSManager1.GpuPerformanceLevel1
@short_description: Optional interface for generic GPU properties.
-->
<interface name="com.steampowered.SteamOSManager1.GpuPerformanceLevel1">
<!--
AvailableGpuPerformanceLevels:
Enumerate the supported GPU performance levels on the system.
-->
<property name="AvailableGpuPerformanceLevels" type="as" access="read"/>
<!--
GpuPerformanceLevel:
The current GPU performance level. Valid values come from
the AvailableGpuPerformanceLevels property.
-->
<property name="GpuPerformanceLevel" type="s" access="readwrite"/>
<!--
ManualGpuClock:
Controls the GPU clock frequency in MHz when GPUPerformanceLevel is set
to manual.
-->
<property name="ManualGpuClock" type="u" access="readwrite"/>
<!--
ManualGpuClockMin:
Minimum frequency allowed for GPU clocks.
-->
<property name="ManualGpuClockMin" type="u" access="read"/>
<!--
ManualGpuClockMax:
Maximum frequency allowed for GPU clocks.
-->
<property name="ManualGpuClockMax" type="u" access="read"/>
</interface>
<!--
com.steampowered.SteamOSManager1.GpuPowerProfile1
@short_description: Optional interface for GPU power properties.
-->
<interface name="com.steampowered.SteamOSManager1.GpuPowerProfile1">
<!--
AvailableGpuPowerProfiles:
Enumerate the supported GPU power profiles available on the system.
A list of supported profiles.
-->
<property name="AvailableGpuPowerProfiles" type="as" access="read"/>
<!--
GpuPowerProfile:
The current GPU power profile. Valid values come from the
AvailableGpuPowerProfiles property.
-->
<property name="GpuPowerProfile" type="s" access="readwrite"/>
</interface>
<!--
com.steampowered.SteamOSManager1.HdmiCec1
@short_description: Optional interface for HDMI-CEC.
-->
<interface name="com.steampowered.SteamOSManager1.HdmiCec1">
<!--
HdmiCecState:
The current state of HDMI-CEC features on the system.
Valid states: 0 = Disabled, 1 = Control Only, 2 = Control And Wake
-->
<property name="HdmiCecState" type="u" access="readwrite"/>
</interface>
<!--
com.steampowered.SteamOSManager1.LowPowerMode1
@short_description: Interface for handling a low power mode.
-->
<interface name="com.steampowered.SteamOSManager1.LowPowerMode1">
<!--
EnterDownloadMode:
Enter a low power mode for downloads and get a handle that will keep
this mode active until all obtained handles are dropped.
@identifier: A human-readable string to identify who has obtained this handle.
@handle: A file handle that must be retained to keep download mode
active. When all handles are closed, low power mode is exited.
-->
<method name="EnterDownloadMode">
<arg type="s" name="identifier" direction="in"/>
<arg type="h" name="handle" direction="out"/>
</method>
<!--
ListDownloadModeHandles
Get a list of all of the currently open download mode handles.
@identifiers: A dict of all open download mode handles, as a pair of
the identifier passed to EnterDownloadMode and the number of handles
requested for that identifier.
-->
<method name="ListDownloadModeHandles">
<arg type="a{su}" name="identifiers" direction="out"/>
</method>
</interface>
<!--
com.steampowered.SteamOSManager1.Manager2
@short_description: Interface for basic manager control.
-->
<interface name="com.steampowered.SteamOSManager1.Manager2">
<!--
ReloadConfig:
Reloads the configuration from disk.
-->
<method name="ReloadConfig"/>
<!--
DeviceModel:
A tuple of the device model and variant that SteamOS Manager is running
on. If the device or variant isn't known the applicable fields will be
"unknown" instead.
-->
<property name="DeviceModel" type="ss" access="read"/>
</interface>
<!--
com.steampowered.SteamOSManager1.PerformanceProfile1
@short_description: Optional interface for platform power properties.
-->
<interface name="com.steampowered.SteamOSManager1.PerformanceProfile1">
<!--
AvailablePerformanceProfiles:
Enumerate the supported performance profiles available on the system.
A list of supported profiles.
-->
<property name="AvailablePerformanceProfiles" type="as" access="read"/>
<!--
PerformanceProfile:
The current perrormance profile. Valid values come from the
AvailablePerformanceProfiles property.
-->
<property name="PerformanceProfile" type="s" access="readwrite"/>
<!--
SuggestedDefaultPerformanceProfile:
The suggested default performance profile for the system.
-->
<property name="SuggestedDefaultPerformanceProfile" type="s" access="read"/>
</interface>
<!--
com.steampowered.SteamOSManager1.ScreenReader1
@short_description: Optional interface for managing a screen reader.
This interface is considered unstable and may change between verisons.
Once it is considered stable it will be renamed to ScreenReader1
-->
<interface name="com.steampowered.SteamOSManager1.ScreenReader0">
<!--
Enabled
True if screen reader is enabled, false otherwise.
-->
<property name="Enabled" type="b" access="readwrite"/>
<!--
Rate
The rate of speech output. Valid values are 0 for slowest to 100 for fastest.
-->
<property name="Rate" type="d" access="readwrite"/>
<!--
Pitch
The pitch for speech output. Valid values are 0.0 for lowest, and 10.0 for highest.
-->
<property name="Pitch" type="d" access="readwrite"/>
<!--
Volume
The volume for speech output. Valid values ar 0.0 for off, 10.0 for highest.
-->
<property name="Volume" type="d" access="readwrite"/>
<!--
Mode
Which mode the screen reader should operate in.
Valid modes: 0 - Browse mode, 1 - Focus mode.
-->
<property name="Mode" type="u" access="readwrite"/>
<!--
Voice
The voice to use for screen reading.
Valid voices can be found from GetVoicesForLocale
-->
<property name="Voice" type="s" access="readwrite"/>
<!--
Voice Locales
The list of known voice locales
-->
<property name="VoiceLocales" type="as" access="read"/>
<!--
Map of voice names per locale
-->
<property name="VoicesForLocale" type="a{sas}" access="read"/>
<!--
Trigger Action
Forward a user interaction event to the screen reader service.
@action: The action genereated via user input. Valid values:
0 = Stop Talking
1 = Read Next Word,
2 = Read Previous Word,
3 = Read Next Item,
4 = Read Previous Item,
5 = Move To Next Landmark,
6 = Move To Previous Landmark,
7 = Move To Next Heading,
8 = Move To Previous Heading,
9 = Toggle between Browse mode and Focus mode,
@timestamp: refers to the time the user interaction event
that triggered this event happened. E.g. when the user pressed
a key to request this action. (Encoded as nanoseconds since the
start of CLOCK_MONOTONIC_RAW).
-->
<method name="TriggerAction">
<arg type="u" name="action" direction="in"/>
<arg type="t" name="timestamp" direction="in"/>
</method>
</interface>
<!--
com.steampowered.SteamOSManager1.Storage1
@short_description: Optional interface for managing storage devices
and filesystems.
-->
<interface name="com.steampowered.SteamOSManager1.Storage1">
<!--
FormatDevice:
Format and optionally validate a storage device to a steam compatible
filesystem.
@device: Which device to format, e.g. /dev/mmcblk0.
@label: Filesystem label to assign to the formatted device.
@validate: When set runs common checks for conterfeit flash media
before formatting, i.e. f3probe.
@jobpath: An object path that can be used to pause/resume/cancel the
operation.
-->
<method name="FormatDevice">
<arg type="s" name="device" direction="in"/>
<arg type="s" name="label" direction="in"/>
<arg type="b" name="validate" direction="in"/>
<arg type="o" name="jobpath" direction="out"/>
</method>
<!--
TrimDevices:
Perform fstrim on relevant disk devices.
Calling this over fstrim is is important as some devices are not safe
to trim unless some kernel quirks are available.
@jobpath: An object path that can be used to pause/resume/cancel the
operation.
-->
<method name="TrimDevices">
<arg type="o" name="jobpath" direction="out"/>
</method>
</interface>
<!--
com.steampowered.SteamOSManager1.TdpLimit1
@short_description: Optional interface for TDP limits.
-->
<interface name="com.steampowered.SteamOSManager1.TdpLimit1">
<!--
TdpLimit:
Controls the TDP limit.
Valid states: In range of [ TdpLimitMin, TdpLimitMax ]
-->
<property name="TdpLimit" type="u" access="readwrite"/>
<!--
TdpLimitMin:
Minimum allowed TDP Limit.
-->
<property name="TdpLimitMin" type="u" access="read"/>
<!--
TdpLimitMax:
Maximum allowed TDP Limit.
-->
<property name="TdpLimitMax" type="u" access="read"/>
</interface>
<!--
com.steampowered.SteamOSManager1.UpdateBios1
@short_description: Optional interface for hardware that can update its
BIOS from a running operating system.
-->
<interface name="com.steampowered.SteamOSManager1.UpdateBios1">
<!--
UpdateBios:
Perform a BIOS update.
@jobpath: An object path that can be used to pause/resume/cancel the
operation.
-->
<method name="UpdateBios">
<arg type="o" name="jobpath" direction="out"/>
</method>
</interface>
<!--
com.steampowered.SteamOSManager1.UpdateBios1
@short_description: Optional interface for hardware that can update a
dock from a running operating system.
-->
<interface name="com.steampowered.SteamOSManager1.UpdateDock1">
<!--
UpdateDock:
Perform a Dock Firmware update.
@jobpath: An object path that can be used to pause/resume/cancel the
operation.
-->
<method name="UpdateDock">
<arg type="o" name="jobpath" direction="out"/>
</method>
</interface>
<!--
com.steampowered.SteamOSManager1.WifiDebug1
@short_description: Optional interface for debugging Wi-Fi chips.
-->
<interface name="com.steampowered.SteamOSManager1.WifiDebug1">
<!--
WifiDebugModeState:
Whether Wi-Fi debug mode is currently enabled.
Valid states: 0 = Disabled, 1 = Tracing.
-->
<property name="WifiDebugModeState" type="u" access="read"/>
<!--
SetWifiDebugMode:
@mode: 0 = Disabled, 1 = Tracing.
@options: A dictionary of options for the debug mode.
buffer_size (u, optional): The size of the kernel buffer per core,
in bytes.
Enable/Disable Wi-Fi debug mode.
-->
<method name="SetWifiDebugMode">
<arg type="u" name="mode" direction="in"/>
<arg type="a{sv}" name="options" direction="in"/>
</method>
<!--
WifiBackend:
Controls which Wi-Fi backend is used by NetworkManager.
Valid states: iwd, wpa_supplicant
-->
<property name="WifiBackend" type="s" access="readwrite"/>
<!--
CaptureDebugTraceOutput:
@path: The path to the captured file. This will be world-readable and
in a temporary directory, so make sure to move it to a permanent
location if keeping it is desired.
Extract the Wi-Fi trace to a file, if present.
-->
<method name="CaptureDebugTraceOutput">
<arg type="s" name="path" direction="out"/>
</method>
</interface>
<!--
com.steampowered.SteamOSManager1.WifiDebugDump1
@short_description: Optional interface for generating Wi-Fi driver dumps.
-->
<interface name="com.steampowered.SteamOSManager1.WifiDebugDump1">
<!--
GenerateDebugDump:
@path: The path to the generated file. This will be world-readable and
in a temporary directory, so make sure to move it to a permanent
location if keeping it is desired.
Generate a Wi-Fi driver dump and export it to a file.
-->
<method name="GenerateDebugDump">
<arg type="s" name="path" direction="out"/>
</method>
</interface>
<!--
com.steampowered.SteamOSManager1.WifiPowerManagement1
@short_description: Optional interface for Wi-Fi power management.
-->
<interface name="com.steampowered.SteamOSManager1.WifiPowerManagement1">
<!--
WifiPowerManagementState:
Controls the Wi-Fi chip's power management features.
Valid states: 0 = Disabled, 1 = Enabled
-->
<property name="WifiPowerManagementState" type="u" access="readwrite"/>
</interface>
<!--
com.steampowered.SteamOSManager1.Job1
@short_description: Interface to control a job
-->
<interface name="com.steampowered.SteamOSManager1.Job1">
<!--
Pause:
Pauses the job.
-->
<method name="Pause"/>
<!--
Resume:
Resumes the job.
-->
<method name="Resume"/>
<!--
Cancel:
Cancel the operation.
@force Use SIGKILL if true, SIGTERM otherwise.
-->
<method name="Cancel">
<arg type="b" name="force" direction="in"/>
</method>
<!--
Wait:
Wait for process to end and get exit code, resuming if paused.
@result: The exit code, or negative signal number if the process
exited via signal.
-->
<method name="Wait">
<arg type="i" name="result" direction="out"/>
</method>
<!--
ExitCode:
Get the exit code of the process if it's already exited.
@result: The exit code, or negative signal number if the process
exited via signal.
-->
<method name="ExitCode">
<arg type="i" name="result" direction="out"/>
</method>
</interface>
<!--
com.steampowered.SteamOSManager1.UdevEvents
@short_description: Specific udev events that are monitored to be
bubbled up to the desktop interface.
-->
<interface name="com.steampowered.SteamOSManager1.UdevEvents1">
<!--
OverCurrent:
Signals that a USB port has had an over-current event.
@devpath: The path in /sys of the USB device.
@port: The associated port.
@count: The number of times this devices has had an over-current
event.
-->
<signal name="UsbOverCurrent">
<arg type="s" name="devpath"/>
<arg type="s" name="port"/>
<arg type="t" name="count"/>
</signal>
</interface>
<!--
com.steampowered.SteamOSManager1.JobManager1
@short_description: Interface to manage jobs
-->
<interface name="com.steampowered.SteamOSManager1.JobManager1">
<!--
JobStarted:
Signals that a job has started
@job: The object path of the job
-->
<signal name="JobStarted">
<arg type="o" name="job"/>
</signal>
</interface>
</node>