Warning, /plasma/discover/libdiscover/backends/SteamOSBackend/com.steampowered.Atomupd1.xml is written in an unsupported language. File is not indexed.

0001 <!DOCTYPE node PUBLIC
0002 "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
0003 "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
0004 
0005 
0006 <!--
0007   Copyright © 2021-2022 Collabora Ltd.
0008   SPDX-License-Identifier: MIT
0009 
0010   Permission is hereby granted, free of charge, to any person obtaining
0011   a copy of this software and associated documentation files (the
0012   "Software"), to deal in the Software without restriction, including
0013   without limitation the rights to use, copy, modify, merge, publish,
0014   distribute, sublicense, and/or sell copies of the Software, and to
0015   permit persons to whom the Software is furnished to do so, subject to
0016   the following conditions:
0017 
0018   The above copyright notice and this permission notice shall be included
0019   in all copies or substantial portions of the Software.
0020 
0021   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
0022   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
0023   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
0024   IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
0025   CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
0026   TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
0027   SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
0028 -->
0029 
0030 <node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
0031   <!--
0032       com.steampowered.Atomupd1:
0033       @short_description: Interface to control an atomic update
0034   -->
0035   <interface name="com.steampowered.Atomupd1">
0036 
0037     <!--
0038         Version:
0039 
0040         The version of this interface implemented by this object.
0041         This file documents version 1 of the interface.
0042     -->
0043     <property name="Version" type="u" access="read"/>
0044 
0045     <!--
0046         ProgressPercentage:
0047 
0048         Percentage of how much of the update process has been completed.
0049     -->
0050     <property name="ProgressPercentage" type="d" access="read">
0051       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="true"/>
0052     </property>
0053 
0054     <!--
0055         EstimatedCompletionTime:
0056 
0057         A Unix timestamp with seconds precision, that indicates when the update
0058         process is expected to complete.
0059         0 if no estimate is available.
0060     -->
0061     <property name="EstimatedCompletionTime" type="t" access="read">
0062       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="true"/>
0063     </property>
0064 
0065     <!--
0066         UpdateStatus:
0067 
0068         An UpdateStatus enum, representing the status of the update.
0069         The possible values are:
0070         0 = IDLE, the update has not been launched yet
0071         1 = IN_PROGRESS, the update is currently being applied
0072         2 = PAUSED, the update has been paused
0073         3 = SUCCESSFUL, the update process successfully completed
0074         4 = FAILED, an error occurred during the update
0075         5 = CANCELLED, a special case of FAILED where the update attempt has been cancelled
0076     -->
0077     <property name="UpdateStatus" type="u" access="read">
0078       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="true"/>
0079     </property>
0080 
0081     <!--
0082         UpdateBuildID:
0083 
0084         String that uniquely represents the OS Build ID of the image update
0085         that has been chosen when `StartUpdate` method was executed.
0086         It is the empty string if `StartUpdate` has not been called yet.
0087         Please check `CurrentBuildID` description for an explanation of how
0088         Build ID can be interpreted.
0089     -->
0090     <property name="UpdateBuildID" type="s" access="read"/>
0091 
0092     <!--
0093         Variant:
0094 
0095         String that represents the chosen update variant that is currently
0096         being tracked.
0097         This value is updated every time a new variant is chosen with
0098         `SwitchToVariant` method or via the CLI tool steamos-select-branch.
0099         Typical values include `steamdeck` and `steamdeck-beta`.
0100         It defaults to the variant value from the steamos-atomupd manifest JSON
0101         if the text file is empty or missing.
0102     -->
0103     <property name="Variant" type="s" access="read">
0104       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="true"/>
0105     </property>
0106 
0107     <!--
0108         FailureCode:
0109 
0110         A D-Bus error name like `org.freedesktop.DBus.Failed`, or the empty string
0111         if the status of UpdateStatus is not FAILED.
0112     -->
0113     <property name="FailureCode" type="s" access="read">
0114       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="true"/>
0115     </property>
0116 
0117     <!--
0118         FailureMessage:
0119 
0120         A human-readable error message, or the empty string if the status of
0121         UpdateStatus is not FAILED.
0122     -->
0123     <property name="FailureMessage" type="s" access="read">
0124       <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="true"/>
0125     </property>
0126 
0127     <!--
0128         UpdatesAvailable:
0129 
0130         Map of available update Build IDs to their keys and values.
0131         It is an empty map if either there aren't any available
0132         updates or if `CheckForUpdates` has not been called yet.
0133 
0134         The values of this map are vardicts that include the following keys:
0135         <variablelist>
0136           <varlistentry>
0137             <term>variant s</term>
0138             <listitem><para>
0139               Represents the variant of this update. Possible values include
0140               `steamdeck` and `steamdeck-beta`.
0141             </para></listitem>
0142           </varlistentry>
0143           <varlistentry>
0144             <term>version s</term>
0145             <listitem><para>
0146               The version of this update. E.g. "3.5.1".
0147             </para></listitem>
0148           </varlistentry>
0149           <varlistentry>
0150             <term>estimated_size t</term>
0151             <listitem><para>
0152               Estimated download size, in Bytes, to perform the update.
0153             </para></listitem>
0154           </varlistentry>
0155           <varlistentry>
0156             <term>update_type u</term>
0157             <listitem><para>
0158               An enum representing the update type.
0159               Possible values are:
0160               <simplelist>
0161                 <member>0: MINOR_UPDATE</member>
0162                 <member>1: MAJOR_UPDATE</member>
0163               </simplelist>
0164             </para></listitem>
0165           </varlistentry>
0166         </variablelist>
0167     -->
0168     <property name="UpdatesAvailable" type="a{sa{sv}}" access="read">
0169         <annotation name="org.qtproject.QtDBus.QtTypeName" type="a{sa{sv}}" value="VariantMapMap"/>
0170     </property>
0171 
0172     <!--
0173         UpdatesAvailableLater:
0174 
0175         Map of available update IDs (i.e. version number) to their keys and
0176         values. These updates can't be directly installed because they require
0177         a base system version that is newer than the current one.
0178         It is an empty map if either there aren't any available
0179         later updates or if `CheckForUpdates` has not been called yet.
0180 
0181         The values of this map are the same as for `UpdatesAvailable`,
0182         plus additional vardicts with the following keys:
0183         <variablelist>
0184           <varlistentry>
0185             <term>requires s</term>
0186             <listitem><para>
0187               Version ID that must be installed before this update.
0188             </para></listitem>
0189           </varlistentry>
0190         </variablelist>
0191 
0192         Please note that here the key `estimated_size` represents the estimated
0193         download size, under the assumption that the update will be performed
0194         with a system running the version specified in the `requires` key.
0195     -->
0196     <property name="UpdatesAvailableLater" type="a{sa{sv}}" access="read">
0197         <annotation name="org.qtproject.QtDBus.QtTypeName" type="a{sa{sv}}" value="VariantMapMap"/>
0198     </property>
0199 
0200     <!--
0201         CurrentVersion:
0202 
0203         The user-facing version of the OS, suitable for display in user
0204         interfaces, for example 3.4.9. Internally, this behaves more like
0205         a branch than a version number: there can be several release-candidates
0206         for the same user-facing version.
0207         To avoid potentially showing in the UI an update to the same user-facing
0208         version, it is recommended to include the build ID alongside it.
0209     -->
0210     <property name="CurrentVersion" type="s" access="read"/>
0211 
0212     <!--
0213         CurrentBuildID:
0214 
0215         String that uniquely represents the OS Build ID of the image that is
0216         currently in use, for example "20230906.1".
0217         Build IDs for the same version can be compared like any other version
0218         number. Comparing Build IDs for different versions will instead only
0219         tell you the release order and not which one has the latest features.
0220     -->
0221     <property name="CurrentBuildID" type="s" access="read"/>
0222 
0223     <!--
0224         KnownVariants:
0225 
0226         Array of strings representing the known suggested variants that could
0227         be chosen.
0228     -->
0229     <property name="KnownVariants" type="as" access="read"/>
0230 
0231     <!--
0232         SwitchToVariant:
0233         @variant: Desired update variant. Possible values include `steamdeck` and
0234           and `steamdeck-beta`
0235 
0236         Change the update variant to @variant.
0237         This value is stored in the same text file that the CLI tool
0238         steamos-select-branch uses.
0239     -->
0240     <method name="SwitchToVariant">
0241       <arg type="s" name="variant" direction="in"/>
0242     </method>
0243 
0244     <!--
0245         CheckForUpdates:
0246         @options: Vardict with configuration options. None currently available,
0247           reserved for future use
0248         @updates_available: Map of available update Build IDs to their keys and values
0249         @updates_available_later: Map of available update Build IDs, to their keys and
0250           values, that require a newer system version
0251 
0252         At least one update is available, for the current system version, when
0253         @updates_available is not the empty map.
0254 
0255         For more information about the content of @updates_available and
0256         @updates_available_later, please refer to the description of the
0257         properties `UpdatesAvailable` and `UpdatesAvailableLater` respectively.
0258     -->
0259     <method name="CheckForUpdates">
0260       <arg type="a{sv}" name="options" direction="in"/>
0261       <arg type="a{sa{sv}}" name="updates_available" direction="out"/>
0262       <arg type="a{sa{sv}}" name="updates_available_later" direction="out"/>
0263       <annotation name="org.qtproject.QtDBus.QtTypeName.In0" type="a{sv}" value="QVariantMap"/>
0264       <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" type="a{sa{sv}}" value="VariantMapMap"/>
0265       <annotation name="org.qtproject.QtDBus.QtTypeName.Out1" type="a{sa{sv}}" value="VariantMapMap"/>
0266     </method>
0267 
0268     <!--
0269         StartUpdate:
0270         @id: Chosen update ID (i.e. version number) that needs be installed
0271 
0272         Start to apply the @id update.
0273         This method is expected to be called after `CheckForUpdates`, with an
0274         @id taken from the returned `updates_available`.
0275 
0276         If the provided @id is not a valid update, either because not available
0277         or because it requires a newer system version, this method will fail.
0278     -->
0279     <method name="StartUpdate">
0280       <arg type="s" name="id" direction="in"/>
0281     </method>
0282 
0283     <!--
0284         PauseUpdate:
0285 
0286         Pauses the update that is currently in progress, if any.
0287     -->
0288     <method name="PauseUpdate">
0289     </method>
0290 
0291     <!--
0292         ResumeUpdate:
0293 
0294         Resumes a previously paused update. If UpdateStatus is not set to
0295         UPDATE_PAUSED, this method is expected to fail.
0296     -->
0297     <method name="ResumeUpdate">
0298     </method>
0299 
0300     <!--
0301         CancelUpdate:
0302 
0303         Cancel the update that is currently in progress, if any.
0304     -->
0305     <method name="CancelUpdate">
0306     </method>
0307 
0308   </interface>
0309 
0310 </node>