Switch to introspection dbus interface and add licenses

This commit is contained in:
Bart De Vries 2021-05-31 20:50:00 +02:00
parent 8c620e63ac
commit 4ecbc0597a
2 changed files with 17 additions and 478 deletions

View File

@ -1,3 +1,8 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
SPDX-FileCopyrightText: none
SPDX-License-Identifier: CC0-1.0
-->
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd"> <!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node> <node>
<interface name="org.freedesktop.PowerManagement.Inhibit"> <interface name="org.freedesktop.PowerManagement.Inhibit">

View File

@ -1,492 +1,26 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!--
SPDX-FileCopyrightText: none
SPDX-License-Identifier: CC0-1.0
-->
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd"> <!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd"> <node xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
<interface name="org.gnome.SessionManager"> <interface name="org.gnome.SessionManager">
<!-- Initialization phase interfaces -->
<method name="Setenv">
<arg name="variable" type="s" direction="in">
<doc:doc>
<doc:summary>The variable name</doc:summary>
</doc:doc>
</arg>
<arg name="value" type="s" direction="in">
<doc:doc>
<doc:summary>The value</doc:summary>
</doc:doc>
</arg>
<doc:doc>
<doc:description>
<doc:para>Adds the variable name to the application launch environment with the specified value. May only be used during the Session Manager initialization phase.</doc:para>
</doc:description>
</doc:doc>
</method>
<method name="GetLocale">
<arg name="category" type="i" direction="in">
<doc:doc>
<doc:summary>The locale category</doc:summary>
</doc:doc>
</arg>
<arg name="value" type="s" direction="out">
<doc:doc>
<doc:summary>The value</doc:summary>
</doc:doc>
</arg>
<doc:doc>
<doc:description>
<doc:para>Reads the current state of the specific locale category.</doc:para>
</doc:description>
</doc:doc>
</method>
<method name="InitializationError">
<arg name="message" type="s" direction="in">
<doc:doc>
<doc:summary>The error message</doc:summary>
</doc:doc>
</arg>
<arg name="fatal" type="b" direction="in">
<doc:doc>
<doc:summary>Whether the error should be treated as fatal</doc:summary>
</doc:doc>
</arg>
<doc:doc>
<doc:description>
<doc:para>May be used by applications launched during the Session Manager initialization phase to indicate there was a problem.</doc:para>
</doc:description>
</doc:doc>
</method>
<method name="Initialized">
<doc:doc>
<doc:description>
<doc:para>Run from systemd to signal that gnome-session-initialized.target has been reached.</doc:para>
</doc:description>
</doc:doc>
</method>
<!-- Running phase interfaces -->
<method name="RegisterClient">
<arg type="s" name="app_id" direction="in">
<doc:doc>
<doc:summary>The application identifier</doc:summary>
</doc:doc>
</arg>
<arg type="s" name="client_startup_id" direction="in">
<doc:doc>
<doc:summary>Client startup identifier</doc:summary>
</doc:doc>
</arg>
<arg type="o" name="client_id" direction="out">
<doc:doc>
<doc:summary>The object path of the newly registered client</doc:summary>
</doc:doc>
</arg>
<doc:doc>
<doc:description>
<doc:para>Register the caller as a Session Management client.</doc:para>
</doc:description>
</doc:doc>
</method>
<method name="UnregisterClient">
<arg type="o" name="client_id" direction="in">
<doc:doc>
<doc:summary>The object path of the client</doc:summary>
</doc:doc>
</arg>
<doc:doc>
<doc:description>
<doc:para>Unregister the specified client from Session Management.</doc:para>
</doc:description>
</doc:doc>
</method>
<method name="Inhibit"> <method name="Inhibit">
<arg type="s" name="app_id" direction="in"> <arg type="s" name="app_id" direction="in"/>
<doc:doc> <arg type="u" name="toplevel_xid" direction="in"/>
<doc:summary>The application identifier</doc:summary> <arg type="s" name="reason" direction="in"/>
</doc:doc> <arg type="u" name="flags" direction="in"/>
</arg> <arg type="u" name="inhibit_cookie" direction="out"/>
<arg type="u" name="toplevel_xid" direction="in">
<doc:doc>
<doc:summary>The toplevel X window identifier</doc:summary>
</doc:doc>
</arg>
<arg type="s" name="reason" direction="in">
<doc:doc>
<doc:summary>The reason for the inhibit</doc:summary>
</doc:doc>
</arg>
<arg type="u" name="flags" direction="in">
<doc:doc>
<doc:summary>Flags that specify what should be inhibited</doc:summary>
</doc:doc>
</arg>
<arg type="u" name="inhibit_cookie" direction="out">
<doc:doc>
<doc:summary>The cookie</doc:summary>
</doc:doc>
</arg>
<doc:doc>
<doc:summary>
Proactively indicates that the calling application is performing an action that should not be interrupted and sets a reason to be displayed to the user when an interruption is about to take place.
</doc:summary>
<doc:description>
<doc:para>Applications should invoke this method when they begin an operation that
should not be interrupted, such as creating a CD or DVD. The types of actions
that may be blocked are specified by the flags parameter. When the application
completes the operation it should call <doc:ref type="method" to="org.gnome.SessionManager.Uninhibit">Uninhibit()</doc:ref>
or disconnect from the session bus.
</doc:para>
<doc:para>
Applications should not expect that they will always be able to block the
action. In most cases, users will be given the option to force the action
to take place.
</doc:para>
<doc:para>
Reasons should be short and to the point.
</doc:para>
<doc:para>
The flags parameter must include at least one of the following:
<doc:list>
<doc:item>
<doc:term>1</doc:term>
<doc:definition>Inhibit logging out</doc:definition>
</doc:item>
<doc:item>
<doc:term>2</doc:term>
<doc:definition>Inhibit user switching</doc:definition>
</doc:item>
<doc:item>
<doc:term>4</doc:term>
<doc:definition>Inhibit suspending the session or computer</doc:definition>
</doc:item>
<doc:item>
<doc:term>8</doc:term>
<doc:definition>Inhibit the session being marked as idle</doc:definition>
</doc:item>
<doc:item>
<doc:term>16</doc:term>
<doc:definition>Inhibit auto-mounting removable media for the session</doc:definition>
</doc:item>
</doc:list>
Values for flags may be bitwise or'ed together.
</doc:para>
<doc:para>
The returned cookie is used to uniquely identify this request. It should be used
as an argument to <doc:ref type="method" to="org.gnome.SessionManager.Uninhibit">Uninhibit()</doc:ref> in
order to remove the request.
</doc:para>
</doc:description>
</doc:doc>
</method> </method>
<method name="Uninhibit"> <method name="Uninhibit">
<arg type="u" name="inhibit_cookie" direction="in"> <arg type="u" name="inhibit_cookie" direction="in"/>
<doc:doc>
<doc:summary>The cookie</doc:summary>
</doc:doc>
</arg>
<doc:doc>
<doc:description>
<doc:para>Cancel a previous call to <doc:ref type="method" to="org.gnome.SessionManager.Inhibit">Inhibit()</doc:ref> identified by the cookie.</doc:para>
</doc:description>
</doc:doc>
</method> </method>
<method name="IsInhibited"> <method name="IsInhibited">
<arg type="u" name="flags" direction="in"> <arg type="u" name="flags" direction="in"/>
<doc:doc> <arg type="b" name="is_inhibited" direction="out"/>
<doc:summary>Flags that specify what should be inhibited</doc:summary>
</doc:doc>
</arg>
<arg type="b" name="is_inhibited" direction="out">
<doc:doc>
<doc:summary>Returns TRUE if any of the operations in the bitfield flags are inhibited</doc:summary>
</doc:doc>
</arg>
<doc:doc>
<doc:description>
<doc:para>Determine if operation(s) specified by the flags
are currently inhibited. Flags are same as those accepted
by the
<doc:ref type="method" to="org.gnome.SessionManager.Inhibit">Inhibit()</doc:ref>
method.</doc:para>
</doc:description>
</doc:doc>
</method> </method>
<method name="GetClients">
<arg name="clients" direction="out" type="ao">
<doc:doc>
<doc:summary>an array of client IDs</doc:summary>
</doc:doc>
</arg>
<doc:doc>
<doc:description>
<doc:para>This gets a list of all the <doc:ref type="interface" to="org.gnome.SessionManager.Client">Clients</doc:ref>
that are currently known to the session manager.</doc:para>
<doc:para>Each Client ID is an D-Bus object path for the object that implements the
<doc:ref type="interface" to="org.gnome.SessionManager.Client">Client</doc:ref> interface.</doc:para>
</doc:description>
<doc:seealso><doc:ref type="interface" to="org.gnome.SessionManager.Client">org.gnome.SessionManager.Client</doc:ref></doc:seealso>
</doc:doc>
</method>
<method name="GetInhibitors">
<arg name="inhibitors" direction="out" type="ao">
<doc:doc>
<doc:summary>an array of inhibitor IDs</doc:summary>
</doc:doc>
</arg>
<doc:doc>
<doc:description>
<doc:para>This gets a list of all the <doc:ref type="interface" to="org.gnome.SessionManager.Inhibitor">Inhibitors</doc:ref>
that are currently known to the session manager.</doc:para>
<doc:para>Each Inhibitor ID is an D-Bus object path for the object that implements the
<doc:ref type="interface" to="org.gnome.SessionManager.Inhibitor">Inhibitor</doc:ref> interface.</doc:para>
</doc:description>
<doc:seealso><doc:ref type="interface" to="org.gnome.SessionManager.Inhibitor">org.gnome.SessionManager.Inhibitor</doc:ref></doc:seealso>
</doc:doc>
</method>
<method name="IsAutostartConditionHandled">
<arg name="condition" direction="in" type="s">
<doc:doc>
<doc:summary>The autostart condition string</doc:summary>
</doc:doc>
</arg>
<arg name="handled" direction="out" type="b">
<doc:doc>
<doc:summary>True if condition is handled, false otherwise</doc:summary>
</doc:doc>
</arg>
<doc:doc>
<doc:description>
<doc:para>Allows the caller to determine whether the session manager is
handling changes to the specified autostart condition.</doc:para>
</doc:description>
</doc:doc>
</method>
<method name="Shutdown">
<doc:doc>
<doc:description>
<doc:para>Request a shutdown dialog.</doc:para>
</doc:description>
</doc:doc>
</method>
<method name="Reboot">
<doc:doc>
<doc:description>
<doc:para>Request a reboot dialog.</doc:para>
</doc:description>
</doc:doc>
</method>
<method name="CanShutdown">
<arg name="is_available" direction="out" type="b">
<doc:doc>
<doc:summary>True if shutdown is available to the user, false otherwise</doc:summary>
</doc:doc>
</arg>
<doc:doc>
<doc:description>
<doc:para>Allows the caller to determine whether or not it's okay to show
a shutdown option in the UI</doc:para>
</doc:description>
</doc:doc>
</method>
<method name="SetRebootToFirmwareSetup">
<arg name="enable" direction="in" type="b">
<doc:doc>
<doc:summary>Whether we should reboot into setup</doc:summary>
</doc:doc>
</arg>
<doc:doc>
<doc:description>
<doc:para>Allows the caller to indicate to the system's firmware to boot into setup mode</doc:para>
</doc:description>
</doc:doc>
</method>
<method name="CanRebootToFirmwareSetup">
<arg name="is_available" direction="out" type="b">
<doc:doc>
<doc:summary>True if boot into setup mode is available to the user, false otherwise</doc:summary>
</doc:doc>
</arg>
<doc:doc>
<doc:description>
<doc:para>Allows the caller to determine whether or not it's okay to show
a reboot to firmware option in the UI</doc:para>
</doc:description>
</doc:doc>
</method>
<method name="Logout">
<arg name="mode" type="u" direction="in">
<doc:doc>
<doc:summary>The type of logout that is being requested</doc:summary>
</doc:doc>
</arg>
<doc:doc>
<doc:description>
<doc:para>Request a logout dialog</doc:para>
<doc:para>
Allowed values for the mode parameter are:
<doc:list>
<doc:item>
<doc:term>0</doc:term>
<doc:definition>Normal.</doc:definition>
</doc:item>
<doc:item>
<doc:term>1</doc:term>
<doc:definition>No confirmation interface should be shown.</doc:definition>
</doc:item>
<doc:item>
<doc:term>2</doc:term>
<doc:definition>Forcefully logout. No confirmation will be shown and any inhibitors will be ignored.</doc:definition>
</doc:item>
</doc:list>
Values for flags may be bitwise or'ed together.
</doc:para>
</doc:description>
</doc:doc>
</method>
<method name="IsSessionRunning">
<arg name="running" direction="out" type="b">
<doc:doc>
<doc:summary>True if the session has entered the Running phase, false otherwise</doc:summary>
</doc:doc>
</arg>
<doc:doc>
<doc:description>
<doc:para>Allows the caller to determine whether the session manager
has entered the Running phase, in case the client missed the
SessionRunning signal.</doc:para>
</doc:description>
</doc:doc>
</method>
<!-- Signals -->
<signal name="ClientAdded">
<arg name="id" type="o">
<doc:doc>
<doc:summary>The object path for the added client</doc:summary>
</doc:doc>
</arg>
<doc:doc>
<doc:description>
<doc:para>Emitted when a client has been added to the session manager.
</doc:para>
</doc:description>
</doc:doc>
</signal>
<signal name="ClientRemoved">
<arg name="id" type="o">
<doc:doc>
<doc:summary>The object path for the removed client</doc:summary>
</doc:doc>
</arg>
<doc:doc>
<doc:description>
<doc:para>Emitted when a client has been removed from the session manager.
</doc:para>
</doc:description>
</doc:doc>
</signal>
<signal name="InhibitorAdded">
<arg name="id" type="o">
<doc:doc>
<doc:summary>The object path for the added inhibitor</doc:summary>
</doc:doc>
</arg>
<doc:doc>
<doc:description>
<doc:para>Emitted when an inhibitor has been added to the session manager.
</doc:para>
</doc:description>
</doc:doc>
</signal>
<signal name="InhibitorRemoved">
<arg name="id" type="o">
<doc:doc>
<doc:summary>The object path for the removed inhibitor</doc:summary>
</doc:doc>
</arg>
<doc:doc>
<doc:description>
<doc:para>Emitted when an inhibitor has been removed from the session manager.
</doc:para>
</doc:description>
</doc:doc>
</signal>
<signal name="SessionRunning">
<doc:doc>
<doc:description>
<doc:para>Indicates the session has entered the Running phase.</doc:para>
</doc:description>
</doc:doc>
</signal>
<signal name="SessionOver">
<doc:doc>
<doc:description>
<doc:para>Indicates the session is about to end.</doc:para>
</doc:description>
</doc:doc>
</signal>
<!-- Properties -->
<property name="SessionName" type="s" access="read">
<doc:doc>
<doc:description>
<doc:para>The name of the session that has been loaded.</doc:para>
</doc:description>
</doc:doc>
</property>
<property name="Renderer" type="s" access="read">
<doc:doc>
<doc:description>
<doc:para>The renderer for the session that has been loaded.
At the moment this supports GL and GLES, and is only used for the
X session.</doc:para>
</doc:description>
</doc:doc>
</property>
<property name="SessionIsActive" type="b" access="read">
<doc:doc>
<doc:description>
<doc:para>If true, the session is currently in the
foreground and available for user input.</doc:para>
</doc:description>
</doc:doc>
</property>
<property name="InhibitedActions" type="u" access="read">
<doc:doc>
<doc:description>
<doc:para>A bitmask of flags to indicate which actions
are inhibited. See the Inhibit() function's description
for a list of possible values.</doc:para>
</doc:description>
</doc:doc>
</property>
</interface> </interface>
</node> </node>