aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCharles Kerr <charles.kerr@canonical.com>2013-06-24 10:14:32 -0500
committerCharles Kerr <charles.kerr@canonical.com>2013-06-24 10:14:32 -0500
commitd7bb2123f7afffd93524110b4174ad855043f57d (patch)
tree35591117bfc8b32e3cae7e6e92a9f88b802b8ad1 /src
parentf6ab8644d81f403b0264e126e9631a00dd578418 (diff)
downloadayatana-indicator-session-d7bb2123f7afffd93524110b4174ad855043f57d.tar.gz
ayatana-indicator-session-d7bb2123f7afffd93524110b4174ad855043f57d.tar.bz2
ayatana-indicator-session-d7bb2123f7afffd93524110b4174ad855043f57d.zip
add replace consolekit xml files with login1; update build files
Diffstat (limited to 'src')
-rw-r--r--src/backend-dbus/CMakeLists.txt24
-rw-r--r--src/backend-dbus/org.freedesktop.ConsoleKit.Manager.xml353
-rw-r--r--src/backend-dbus/org.freedesktop.ConsoleKit.Seat.xml164
-rw-r--r--src/backend-dbus/org.freedesktop.ConsoleKit.Session.xml435
-rw-r--r--src/backend-dbus/org.freedesktop.login1.Manager.xml199
-rw-r--r--src/backend-dbus/org.freedesktop.login1.Seat.xml21
-rw-r--r--src/backend-dbus/org.freedesktop.login1.Session.xml49
-rw-r--r--src/backend-dbus/org.freedesktop.login1.User.xml56
-rw-r--r--src/backend-dbus/upower.xml309
9 files changed, 337 insertions, 1273 deletions
diff --git a/src/backend-dbus/CMakeLists.txt b/src/backend-dbus/CMakeLists.txt
index dd928cc..58d7b6a 100644
--- a/src/backend-dbus/CMakeLists.txt
+++ b/src/backend-dbus/CMakeLists.txt
@@ -3,7 +3,7 @@ set(BACKEND_GENERATED_SOURCES
add_gdbus_codegen (BACKEND_GENERATED_SOURCES dbus-display-manager
org.freedesktop
- ${CMAKE_CURRENT_SOURCE_DIR}/display-manager.xml)
+ ${CMAKE_CURRENT_SOURCE_DIR}/org.freedesktop.DisplayManager.Seat)
add_gdbus_codegen (BACKEND_GENERATED_SOURCES dbus-webcredentials
com.canonical.indicators
@@ -17,17 +17,21 @@ add_gdbus_codegen (BACKEND_GENERATED_SOURCES dbus-user
org.freedesktop
${CMAKE_CURRENT_SOURCE_DIR}/org.freedesktop.Accounts.User.xml)
-add_gdbus_codegen (BACKEND_GENERATED_SOURCES dbus-consolekit-manager
+add_gdbus_codegen (BACKEND_GENERATED_SOURCES dbus-login1-manager
org.freedesktop
- ${CMAKE_CURRENT_SOURCE_DIR}/org.freedesktop.ConsoleKit.Manager.xml)
+ ${CMAKE_CURRENT_SOURCE_DIR}/org.freedesktop.login1.Manager.xml)
-add_gdbus_codegen (BACKEND_GENERATED_SOURCES dbus-consolekit-seat
+add_gdbus_codegen (BACKEND_GENERATED_SOURCES dbus-login1-seat
org.freedesktop
- ${CMAKE_CURRENT_SOURCE_DIR}/org.freedesktop.ConsoleKit.Seat.xml)
+ ${CMAKE_CURRENT_SOURCE_DIR}/org.freedesktop.login1.Seat.xml)
-add_gdbus_codegen (BACKEND_GENERATED_SOURCES dbus-consolekit-session
+add_gdbus_codegen (BACKEND_GENERATED_SOURCES dbus-login1-session
org.freedesktop
- ${CMAKE_CURRENT_SOURCE_DIR}/org.freedesktop.ConsoleKit.Session.xml)
+ ${CMAKE_CURRENT_SOURCE_DIR}/org.freedesktop.login1.Session.xml)
+
+add_gdbus_codegen (BACKEND_GENERATED_SOURCES dbus-login1-user
+ org.freedesktop
+ ${CMAKE_CURRENT_SOURCE_DIR}/org.freedesktop.login1.User.xml)
add_gdbus_codegen (BACKEND_GENERATED_SOURCES gnome-screen-saver
org
@@ -41,11 +45,7 @@ add_gdbus_codegen (BACKEND_GENERATED_SOURCES dbus-end-session-dialog
org.gnome.SessionManager
${CMAKE_CURRENT_SOURCE_DIR}/org.gnome.SessionManager.EndSessionDialog.xml)
-add_gdbus_codegen (BACKEND_GENERATED_SOURCES dbus-upower
- org.freedesktop
- ${CMAKE_CURRENT_SOURCE_DIR}/upower.xml)
-
-set (SOURCES actions.c backend-dbus.c guest.c users.c utils.c)
+set (SOURCES actions.c guest.c users.c backend-dbus.c utils.c)
# add warnings/coverage info on handwritten files
# but not the autogenerated ones...
diff --git a/src/backend-dbus/org.freedesktop.ConsoleKit.Manager.xml b/src/backend-dbus/org.freedesktop.ConsoleKit.Manager.xml
deleted file mode 100644
index f903b55..0000000
--- a/src/backend-dbus/org.freedesktop.ConsoleKit.Manager.xml
+++ /dev/null
@@ -1,353 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<node name="/org/freedesktop/ConsoleKit/Manager"
- xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd"
->
-
- <interface name="org.freedesktop.ConsoleKit.Manager">
- <method name="Restart">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <doc:doc>
- <doc:description>
- <doc:para>This method initiates a request to restart (ie. reboot) the computer system.</doc:para>
- </doc:description>
- </doc:doc>
- </method>
-
- <method name="CanRestart">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <arg name="can_restart" type="b" direction="out"/>
- </method>
-
- <method name="Stop">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <doc:doc>
- <doc:description>
- <doc:para>This method initiates a request to stop (ie. shutdown) the computer system.</doc:para>
- </doc:description>
- </doc:doc>
- </method>
-
- <method name="CanStop">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <arg name="can_stop" type="b" direction="out"/>
- </method>
-
- <method name="OpenSession">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <arg name="cookie" direction="out" type="s">
- <doc:doc>
- <doc:summary>The secret cookie that is used to identify the new session</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>This method requests that a new <doc:ref type="interface" to="Session">Session</doc:ref>
- be created for the calling process. The properties of this new Session are set automatically
- from information collected about the calling process.
- </doc:para>
- <doc:para>This new session exists until the calling process disconnects from the system bus or
- calls <doc:ref type="method" to="Manager.CloseSession">CloseSession()</doc:ref>.
- </doc:para>
- <doc:para>It is the responsibility of the calling process to set the environment variable
- XDG_SESSION_COOKIE to the value of the returned cookie. This cookie should only
- be made available to child processes of the caller so that they may be identified
- as members of this session.
- </doc:para>
- <doc:para>See this simple example:
- <doc:example language="c" title="simple example"><doc:code>
- DBusError error;
- DBusMessage *message;
- DBusMessage *reply;
-
- message = dbus_message_new_method_call ("org.freedesktop.ConsoleKit",
- "/org/freedesktop/ConsoleKit/Manager",
- "org.freedesktop.ConsoleKit.Manager",
- "OpenSession");
- if (message == NULL) {
- goto out;
- }
-
- dbus_error_init (&amp;error);
- reply = dbus_connection_send_with_reply_and_block (connector->connection,
- message,
- -1,
- &amp;error);
- if (reply == NULL) {
- goto out;
- }
-
- dbus_error_init (&amp;error);
- if (! dbus_message_get_args (reply,
- &amp;error,
- DBUS_TYPE_STRING, &amp;cookie,
- DBUS_TYPE_INVALID)) {
- goto out;
- }
-
- </doc:code></doc:example></doc:para>
- </doc:description>
- <doc:seealso><doc:ref type="method" to="Manager.OpenSessionWithParameters">OpenSessionWithParameters()</doc:ref></doc:seealso>
- </doc:doc>
- </method>
- <method name="OpenSessionWithParameters">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <arg name="parameters" direction="in" type="a(sv)">
- <doc:doc>
- <doc:summary>An array of sets of property names and values</doc:summary>
- </doc:doc>
- </arg>
- <arg name="cookie" direction="out" type="s">
- <doc:doc>
- <doc:summary>The secret cookie that is used to identify the new session</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>This method requests that a new <doc:ref type="interface" to="Session">Session</doc:ref>
- be created for the calling process. The properties of this new Session are from the
- parameters provided.
- </doc:para>
- <doc:para>This new session exists until the calling process disconnects from the system bus or
- calls <doc:ref type="method" to="Manager.CloseSession">CloseSession()</doc:ref>.
- </doc:para>
- <doc:para>It is the responsibility of the calling process to set the environment variable
- XDG_SESSION_COOKIE to the value of the returned cookie. This cookie should only
- be made available to child processes of the caller so that they may be identified
- as members of this session.
- </doc:para>
- <doc:para>See the <doc:ref type="interface" to="Session">Session</doc:ref> properties for a list of valid parameters.</doc:para>
- </doc:description>
- <doc:seealso><doc:ref type="interface" to="Session">org.freedesktop.ConsoleKit.Session</doc:ref></doc:seealso>
- <doc:permission>This method is restricted to privileged users by D-Bus policy.</doc:permission>
- </doc:doc>
- </method>
- <method name="CloseSession">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <arg name="cookie" direction="in" type="s">
- <doc:doc>
- <doc:summary>The secret cookie that is used to identify the session</doc:summary>
- </doc:doc>
- </arg>
- <arg name="result" direction="out" type="b">
- <doc:doc>
- <doc:summary>Whether the session was successfully closed</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>This method is used to close the session identified by the supplied cookie.
- </doc:para>
- <doc:para>The session can only be closed by the same process that opened the session.
- </doc:para>
- </doc:description>
- </doc:doc>
- </method>
-
- <method name="GetSeats">
- <arg name="seats" direction="out" type="ao">
- <doc:doc>
- <doc:summary>an array of Seat IDs</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>This gets a list of all the <doc:ref type="interface" to="Seat">Seats</doc:ref>
- that are currently present on the system.</doc:para>
- <doc:para>Each Seat ID is an D-Bus object path for the object that implements the
- <doc:ref type="interface" to="Seat">Seat</doc:ref> interface.</doc:para>
- </doc:description>
- <doc:seealso><doc:ref type="interface" to="Seat">org.freedesktop.ConsoleKit.Seat</doc:ref></doc:seealso>
- </doc:doc>
- </method>
-
- <method name="GetSessions">
- <arg name="sessions" direction="out" type="ao">
- <doc:doc>
- <doc:summary>an array of Session IDs</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>This gets a list of all the <doc:ref type="interface" to="Session">Sessions</doc:ref>
- that are currently present on the system.</doc:para>
- <doc:para>Each Session ID is an D-Bus object path for the object that implements the
- <doc:ref type="interface" to="Session">Session</doc:ref> interface.</doc:para>
- </doc:description>
- <doc:seealso><doc:ref type="interface" to="Session">org.freedesktop.ConsoleKit.Session</doc:ref></doc:seealso>
- </doc:doc>
- </method>
-
- <method name="GetSessionForCookie">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <arg name="cookie" direction="in" type="s">
- <doc:doc>
- <doc:summary>The secret cookie that is used to identify the session</doc:summary>
- </doc:doc>
- </arg>
- <arg name="ssid" direction="out" type="o">
- <doc:doc>
- <doc:summary>The object identifier for the current session</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>Returns the session ID that is associated with the specified cookie.
- </doc:para>
- </doc:description>
- </doc:doc>
- </method>
- <method name="GetSessionForUnixProcess">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <arg name="pid" direction="in" type="u">
- <doc:doc>
- <doc:summary>The POSIX process ID</doc:summary>
- </doc:doc>
- </arg>
- <arg name="ssid" direction="out" type="o">
- <doc:doc>
- <doc:summary>The object identifier for the current session</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>Attempts to determine the session ID for the specified
- POSIX process ID (pid).
- </doc:para>
- </doc:description>
- </doc:doc>
- </method>
- <method name="GetCurrentSession">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <arg name="ssid" direction="out" type="o">
- <doc:doc>
- <doc:summary>The object identifier for the current session</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>Attempts to determine the session ID that the caller belongs to.
- </doc:para>
- <doc:para>See this example of using dbus-send:
- <doc:example language="shell" title="shell example"><doc:code>
- dbus-send --system --dest=org.freedesktop.ConsoleKit \
- --type=method_call --print-reply --reply-timeout=2000 \
- /org/freedesktop/ConsoleKit/Manager \
- org.freedesktop.ConsoleKit.Manager.GetCurrentSession
- </doc:code></doc:example></doc:para>
- </doc:description>
- </doc:doc>
- </method>
- <method name="GetSessionsForUnixUser">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <arg name="uid" direction="in" type="u">
- <doc:doc>
- <doc:summary>POSIX User identification</doc:summary>
- </doc:doc>
- </arg>
- <arg name="sessions" direction="out" type="ao">
- <doc:doc>
- <doc:summary>an array of Session IDs</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>This gets a list of all the <doc:ref type="interface" to="Session">Sessions</doc:ref>
- that are currently open for the specified user.</doc:para>
- <doc:para>Each Session ID is an D-Bus object path for the object that implements the
- <doc:ref type="interface" to="Session">Session</doc:ref> interface.</doc:para>
- </doc:description>
- </doc:doc>
- </method>
- <method name="GetSessionsForUser">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <arg name="uid" direction="in" type="u">
- <doc:doc>
- <doc:summary>User identification</doc:summary>
- </doc:doc>
- </arg>
- <arg name="sessions" direction="out" type="ao">
- <doc:doc>
- <doc:summary>an array of Session IDs</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>This gets a list of all the <doc:ref type="interface" to="Session">Sessions</doc:ref>
- that are currently open for the specified user.</doc:para>
- <doc:para>Each Session ID is an D-Bus object path for the object that implements the
- <doc:ref type="interface" to="Session">Session</doc:ref> interface.</doc:para>
- </doc:description>
- <doc:deprecated version="0.1.3" instead="GetSessionsForUnixUser"/>
- </doc:doc>
- </method>
-
- <method name="GetSystemIdleHint">
- <arg name="idle_hint" type="b" direction="out">
- <doc:doc>
- <doc:summary>The value of the system-idle-hint</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>Returns TRUE if the <doc:ref type="property" to="Session:idle-hint">idle-hint</doc:ref>
- property of every open session is TRUE or if there are no open sessions.
- </doc:para>
- </doc:description>
- </doc:doc>
- </method>
- <method name="GetSystemIdleSinceHint">
- <arg name="iso8601_datetime" type="s" direction="out">
- <doc:doc>
- <doc:summary>An ISO 8601 format date-type string</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>Returns an ISO 8601 date-time string that corresponds to
- the time of the last change of the system-idle-hint.
- </doc:para>
- </doc:description>
- </doc:doc>
- </method>
-
- <signal name="SeatAdded">
- <arg name="sid" type="o">
- <doc:doc>
- <doc:summary>The Seat ID for the added seat</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>Emitted when a Seat has been added to the system.
- </doc:para>
- </doc:description>
- </doc:doc>
- </signal>
- <signal name="SeatRemoved">
- <arg name="sid" type="o">
- <doc:doc>
- <doc:summary>The Seat ID for the removed seat</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>Emitted when a Seat has been removed from the system.
- </doc:para>
- </doc:description>
- </doc:doc>
- </signal>
- <signal name="SystemIdleHintChanged">
- <arg name="hint" type="b">
- <doc:doc>
- <doc:summary>The value of the system-idle-hint</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>Emitted when the value of the system-idle-hint has changed.
- </doc:para>
- </doc:description>
- </doc:doc>
- </signal>
- </interface>
-</node>
diff --git a/src/backend-dbus/org.freedesktop.ConsoleKit.Seat.xml b/src/backend-dbus/org.freedesktop.ConsoleKit.Seat.xml
deleted file mode 100644
index 58c2ce7..0000000
--- a/src/backend-dbus/org.freedesktop.ConsoleKit.Seat.xml
+++ /dev/null
@@ -1,164 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<node xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
-
- <interface name="org.freedesktop.ConsoleKit.Seat">
- <doc:doc>
- <doc:description>
- <doc:para>A seat is a collection of sessions and a set of hardware (usually at
-least a keyboard and mouse). Only one session may be active on a
-seat at a time.</doc:para>
- </doc:description>
- </doc:doc>
-
- <method name="GetId">
- <arg name="sid" direction="out" type="o">
- <doc:doc>
- <doc:summary>Seat ID</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>Returns the ID for Seat.</doc:para>
- </doc:description>
- </doc:doc>
- </method>
-
- <method name="GetSessions">
- <arg name="sessions" direction="out" type="ao">
- <doc:doc>
- <doc:summary>an array of Session IDs</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>This gets a list of all the <doc:ref type="interface" to="Session">Sessions</doc:ref>
- that are currently attached to this seat.</doc:para>
- <doc:para>Each Session ID is an D-Bus object path for the object that implements the
- <doc:ref type="interface" to="Session">Session</doc:ref> interface.</doc:para>
- </doc:description>
- </doc:doc>
- </method>
-
- <method name="GetDevices">
- <arg name="devices" direction="out" type="a(ss)">
- <doc:doc>
- <doc:summary>an array of devices</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>This gets a list of all the devices
- that are currently associated with this seat.</doc:para>
- <doc:para>Each device is an D-Bus structure that represents
- the device type and the device id.
- </doc:para>
- </doc:description>
- </doc:doc>
- </method>
-
- <method name="GetActiveSession">
- <arg name="ssid" direction="out" type="o">
- <doc:doc>
- <doc:summary>Session ID</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>Gets the Session ID that is currently active on this Seat.</doc:para>
- <doc:para>Returns NULL if there is no active session.</doc:para>
- </doc:description>
- </doc:doc>
- </method>
-
- <method name="CanActivateSessions">
- <arg name="can_activate" direction="out" type="b">
- <doc:doc>
- <doc:summary>TRUE if seat supports session activation</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description><doc:para>Used to determine whether the seat supports session activation.</doc:para>
- </doc:description>
- </doc:doc>
- </method>
-
- <method name="ActivateSession">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <arg name="ssid" direction="in" type="o">
- <doc:doc>
- <doc:summary>Session ID</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>Attempt to activate the specified session. In most
- cases, if successful, this will cause the session to
- become visible and take control of the hardware that is
- associated with this seat.</doc:para>
- </doc:description>
- <doc:seealso><doc:ref type="method" to="Session.Activate">Activate()</doc:ref></doc:seealso>
- </doc:doc>
- </method>
-
- <signal name="ActiveSessionChanged">
- <arg name="ssid" type="s">
- <doc:doc>
- <doc:summary>Session ID</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>Emitted when the active session has changed.</doc:para>
- </doc:description>
- </doc:doc>
- </signal>
- <signal name="SessionAdded">
- <arg name="ssid" type="o">
- <doc:doc>
- <doc:summary>Session ID</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>Emitted when a session has been added to the seat.</doc:para>
- </doc:description>
- </doc:doc>
- </signal>
- <signal name="SessionRemoved">
- <arg name="ssid" type="o">
- <doc:doc>
- <doc:summary>Session ID</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>Emitted when a session has been removed from the seat.</doc:para>
- </doc:description>
- </doc:doc>
- </signal>
- <signal name="DeviceAdded">
- <arg name="device" type="(ss)">
- <doc:doc>
- <doc:summary>Device structure</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>Emitted when a device has been associated with the seat.</doc:para>
- </doc:description>
- </doc:doc>
- </signal>
- <signal name="DeviceRemoved">
- <arg name="device" type="(ss)">
- <doc:doc>
- <doc:summary>Device structure</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>Emitted when a device has been dissociated from the seat.</doc:para>
- </doc:description>
- </doc:doc>
- </signal>
- </interface>
-</node>
diff --git a/src/backend-dbus/org.freedesktop.ConsoleKit.Session.xml b/src/backend-dbus/org.freedesktop.ConsoleKit.Session.xml
deleted file mode 100644
index b6e1cdb..0000000
--- a/src/backend-dbus/org.freedesktop.ConsoleKit.Session.xml
+++ /dev/null
@@ -1,435 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<node xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
-
- <interface name="org.freedesktop.ConsoleKit.Session">
- <doc:doc>
- <doc:description>
- <doc:para>Session objects represent and store information
- related to a user session.
- </doc:para>
- <doc:para>The properties associated with the Session
- specifically refer to the properties of the "session leader".
- </doc:para>
- </doc:description>
- </doc:doc>
- <method name="GetId">
- <arg name="ssid" direction="out" type="o">
- <doc:doc>
- <doc:summary>Session ID</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description><doc:para>Returns the ID for Session.</doc:para>
- </doc:description>
- </doc:doc>
- </method>
- <method name="GetSeatId">
- <arg name="sid" direction="out" type="o">
- <doc:doc>
- <doc:summary>Seat ID</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description><doc:para>Returns the ID for the Seat the Session is
- attached to.</doc:para>
- </doc:description>
- <doc:seealso><doc:ref type="interface" to="Seat">org.freedesktop.ConsoleKit.Seat</doc:ref></doc:seealso>
- </doc:doc>
- </method>
- <method name="GetSessionType">
- <arg name="type" direction="out" type="s">
- <doc:doc>
- <doc:summary>Session type</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>Returns the type of the session.</doc:para>
- <doc:para>Warning: we haven't yet defined the allowed values for this property.
- It is probably best to avoid this until we do.
- </doc:para>
- </doc:description>
- <doc:seealso><doc:ref type="property" to="Session:session-type">session-type</doc:ref></doc:seealso>
- </doc:doc>
- </method>
- <method name="GetUser">
- <arg name="uid" direction="out" type="u">
- <doc:doc>
- <doc:summary>User ID</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description><doc:para>Returns the user that the session belongs to.</doc:para>
- </doc:description>
- <doc:deprecated version="0.1.3" instead="GetUnixUser"/>
- <doc:seealso><doc:ref type="property" to="Session:user">user</doc:ref></doc:seealso>
- </doc:doc>
- </method>
- <method name="GetUnixUser">
- <arg name="uid" direction="out" type="u">
- <doc:doc>
- <doc:summary>POSIX User ID</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description><doc:para>Returns the POSIX user ID that the session belongs to.</doc:para>
- </doc:description>
- <doc:seealso><doc:ref type="property" to="Session:unix-user">unix-user</doc:ref></doc:seealso>
- </doc:doc>
- </method>
- <method name="GetX11Display">
- <arg name="display" direction="out" type="s">
- <doc:doc>
- <doc:summary>The value of the X11 display</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description><doc:para>Returns the value of the X11 DISPLAY for this session
- if one is present.</doc:para>
- </doc:description>
- <doc:seealso><doc:ref type="property" to="Session:x11-display">x11-display</doc:ref></doc:seealso>
- </doc:doc>
- </method>
- <method name="GetX11DisplayDevice">
- <arg name="x11_display_device" direction="out" type="s">
- <doc:doc>
- <doc:summary>The value of the X11 display device</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description><doc:para>Returns the value of the display device (aka TTY) that the
- X11 display for the session is connected to. If there is no x11-display set then this value
- is undefined.</doc:para>
- </doc:description>
- <doc:seealso><doc:ref type="property" to="Session:x11-display-device">x11-display-device</doc:ref></doc:seealso>
- </doc:doc>
- </method>
- <method name="GetDisplayDevice">
- <arg name="display_device" direction="out" type="s">
- <doc:doc>
- <doc:summary>The value of the display device</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description><doc:para>Returns the value of the display device (aka TTY) that the
- session is connected to.</doc:para>
- </doc:description>
- <doc:seealso><doc:ref type="property" to="Session:display-device">display-device</doc:ref></doc:seealso>
- </doc:doc>
- </method>
- <method name="GetRemoteHostName">
- <arg name="remote_host_name" direction="out" type="s">
- <doc:doc>
- <doc:summary>The remote host name</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description><doc:para>Returns the value of the remote host name for the session.
- </doc:para>
- </doc:description>
- <doc:seealso><doc:ref type="property" to="Session:remote-host-name">remote-host-name</doc:ref></doc:seealso>
- </doc:doc>
- </method>
- <method name="GetLoginSessionId">
- <arg name="login_session_id" direction="out" type="s">
- <doc:doc>
- <doc:summary>The value of the native system login session ID</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description><doc:para>Returns the value of the login session ID that the
- underlying system uses to enforce session boundaries. If there is no login session ID
- set then this value is an empty string.</doc:para>
- </doc:description>
- </doc:doc>
- </method>
- <method name="IsActive">
- <arg name="active" direction="out" type="b">
- <doc:doc>
- <doc:summary>TRUE if the session is active, otherwise FALSE</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description><doc:para>Returns whether the session is active on the Seat that
- it is attached to.</doc:para>
- <doc:para>If the session is not attached to a seat this value is undefined.
- </doc:para>
- </doc:description>
- <doc:seealso><doc:ref type="property" to="Session:active">active</doc:ref></doc:seealso>
- </doc:doc>
- </method>
- <method name="IsLocal">
- <arg name="local" direction="out" type="b">
- <doc:doc>
- <doc:summary>TRUE if the session is local, otherwise FALSE</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description><doc:para>Returns whether the session is local</doc:para>
- <doc:para>FIXME: we need to come up with a concrete definition for this value.
- It was originally used as a way to identify XDMCP sessions that originate
- from a remote system.
- </doc:para>
- </doc:description>
- <doc:seealso><doc:ref type="property" to="Session:is-local">is-local</doc:ref></doc:seealso>
- </doc:doc>
- </method>
- <method name="GetCreationTime">
- <arg name="iso8601_datetime" type="s" direction="out">
- <doc:doc>
- <doc:summary>An ISO 8601 format date-type string</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>Returns an ISO 8601 date-time string that corresponds to
- the time that the session was opened.
- </doc:para>
- </doc:description>
- </doc:doc>
- </method>
-
- <method name="Activate">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <doc:doc>
- <doc:description>
- <doc:para>Attempt to activate the this session. In most
- cases, if successful, this will cause the session to
- become visible and become active on the seat that it
- is attached to.</doc:para>
- </doc:description>
- <doc:seealso><doc:ref type="method" to="Seat.ActivateSession">Seat.ActivateSession()</doc:ref></doc:seealso>
- </doc:doc>
- </method>
- <method name="Lock">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <doc:doc>
- <doc:description>
- <doc:para>This will cause a <doc:ref type="signal" to="Session::Lock">Lock</doc:ref>
- signal to be emitted for this session.
- </doc:para>
- </doc:description>
- <doc:permission>This method is restricted to privileged users by D-Bus policy.</doc:permission>
- <doc:seealso><doc:ref type="signal" to="Session::Lock">Lock signal</doc:ref></doc:seealso>
- </doc:doc>
- </method>
- <method name="Unlock">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <doc:doc>
- <doc:description>
- <doc:para>This will cause an <doc:ref type="signal" to="Session::Unlock">Unlock</doc:ref>
- signal to be emitted for this session.
- </doc:para>
- <doc:para>This can be used by login managers to unlock a session before it is
- re-activated during fast-user-switching.
- </doc:para>
- </doc:description>
- <doc:permission>This method is restricted to privileged users by D-Bus policy.</doc:permission>
- <doc:seealso><doc:ref type="signal" to="Session::Unlock">Unlock signal</doc:ref></doc:seealso>
- </doc:doc>
- </method>
-
- <method name="GetIdleHint">
- <arg name="idle_hint" type="b" direction="out">
- <doc:doc>
- <doc:summary>The value of the idle-hint</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>Gets the value of the <doc:ref type="property" to="Session:idle-hint">idle-hint</doc:ref>
- property.
- </doc:para>
- </doc:description>
- <doc:seealso><doc:ref type="property" to="Session:idle-hint">idle-hint</doc:ref></doc:seealso>
- </doc:doc>
- </method>
- <method name="GetIdleSinceHint">
- <arg name="iso8601_datetime" type="s" direction="out">
- <doc:doc>
- <doc:summary>An ISO 8601 format date-type string</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>Returns an ISO 8601 date-time string that corresponds to
- the time of the last change of the idle-hint.
- </doc:para>
- </doc:description>
- </doc:doc>
- </method>
- <method name="SetIdleHint">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <arg name="idle_hint" type="b" direction="in">
- <doc:doc>
- <doc:summary>boolean value to set the idle-hint to</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>This may be used by the session to indicate that
- it is idle.
- </doc:para>
- <doc:para>Use of this method is restricted to the user
- that owns the session.</doc:para>
- </doc:description>
- </doc:doc>
- </method>
-
- <signal name="ActiveChanged">
- <arg name="is_active" type="b">
- <doc:doc>
- <doc:summary>TRUE if the session is active, otherwise FALSE</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>Emitted when the active property has changed.</doc:para>
- </doc:description>
- </doc:doc>
- </signal>
- <signal name="IdleHintChanged">
- <arg name="hint" type="b">
- <doc:doc>
- <doc:summary>the new value of idle-hint</doc:summary>
- </doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>Emitted when the idle-hint property has changed.</doc:para>
- </doc:description>
- </doc:doc>
- </signal>
- <signal name="Lock">
- <doc:doc>
- <doc:description>
- <doc:para>Emitted in response to a call to the <doc:ref type="method" to="Session.Lock">Lock()</doc:ref> method.</doc:para>
- <doc:para>It is intended that the screensaver for the session should lock the screen in response to this signal.</doc:para>
- </doc:description>
- </doc:doc>
- </signal>
- <signal name="Unlock">
- <doc:doc>
- <doc:description>
- <doc:para>Emitted in response to a call to the <doc:ref type="method" to="Session.Unlock">Unlock()</doc:ref> method.</doc:para>
- <doc:para>It is intended that the screensaver for the session should unlock the screen in response to this signal.</doc:para>
- </doc:description>
- </doc:doc>
- </signal>
-
- <property name="unix-user" type="u" access="readwrite">
- <doc:doc>
- <doc:description>
- <doc:para>The user assigned to the session.</doc:para>
- </doc:description>
- </doc:doc>
- </property>
- <property name="user" type="u" access="readwrite">
- <doc:doc>
- <doc:description>
- <doc:para>The user assigned to the session.</doc:para>
- </doc:description>
- <doc:deprecated version="0.1.3" instead="unix-user"/>
- </doc:doc>
- </property>
- <property name="session-type" type="s" access="readwrite">
- <doc:doc>
- <doc:description>
- <doc:para>The type of the session.</doc:para>
- <doc:para>Warning: we haven't yet defined the allowed values for this property.
- It is probably best to avoid this until we do.
- </doc:para>
- </doc:description>
- </doc:doc>
- </property>
- <property name="remote-host-name" type="s" access="readwrite">
- <doc:doc>
- <doc:description>
- <doc:para>The remote host name for the session.
- </doc:para>
- <doc:para>This will be set in situations where the session is
- opened and controlled from a remote system.
- </doc:para>
- <doc:para>For example, this value will be set when the
- session is created from an SSH or XDMCP connection.
- </doc:para>
- </doc:description>
- </doc:doc>
- </property>
- <property name="display-device" type="s" access="readwrite">
- <doc:doc>
- <doc:description>
- <doc:para>The display device (aka TTY) that the
- session is connected to.
- </doc:para>
- </doc:description>
- </doc:doc>
- </property>
- <property name="x11-display" type="s" access="readwrite">
- <doc:doc>
- <doc:description>
- <doc:para>Value of the X11 DISPLAY for this session
- if one is present.
- </doc:para>
- </doc:description>
- </doc:doc>
- </property>
- <property name="x11-display-device" type="s" access="readwrite">
- <doc:doc>
- <doc:description>
- <doc:para>
- The display device (aka TTY) that the X11 display for the
- session is connected to. If there is no x11-display set then
- this value is undefined.
- </doc:para>
- </doc:description>
- </doc:doc>
- </property>
- <property name="active" type="b" access="readwrite">
- <doc:doc>
- <doc:description>
- <doc:para>
- Whether the session is active on the Seat that
- it is attached to.</doc:para>
- <doc:para>If the session is not attached to a seat this value is undefined.
- </doc:para>
- </doc:description>
- </doc:doc>
- </property>
- <property name="is-local" type="b" access="readwrite">
- <doc:doc>
- <doc:description>
- <doc:para>
- Whether the session is local</doc:para>
- <doc:para>FIXME: we need to come up with a concrete definition for this value.
- It was originally used as a way to identify XDMCP sessions that originate
- from a remote system.
- </doc:para>
- </doc:description>
- </doc:doc>
- </property>
- <property name="idle-hint" type="b" access="readwrite">
- <doc:doc>
- <doc:description>
- <doc:para>
- This is a hint used to indicate that the session may be idle.
- </doc:para>
- <doc:para>
- For sessions with a <doc:ref type="property" to="Session:x11-display">x11-display</doc:ref> set (ie. graphical
- sessions), it is up to each session to delegate the
- responsibility for updating this value. Typically, the
- screensaver will set this.
- </doc:para>
- <doc:para>However, for non-graphical sessions with a <doc:ref type="property" to="Session:display-device">display-device</doc:ref> set
- the Session object itself will periodically update this value based
- on the activity detected on the display-device itself.
- </doc:para>
- <doc:para>
- This should not be considered authoritative.
- </doc:para>
- </doc:description>
- </doc:doc>
- </property>
-
- </interface>
-</node>
diff --git a/src/backend-dbus/org.freedesktop.login1.Manager.xml b/src/backend-dbus/org.freedesktop.login1.Manager.xml
new file mode 100644
index 0000000..91da5f2
--- /dev/null
+++ b/src/backend-dbus/org.freedesktop.login1.Manager.xml
@@ -0,0 +1,199 @@
+<?xml version="1.0"?>
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node>
+ <interface name="org.freedesktop.login1.Manager">
+ <method name="GetSession">
+ <arg name="id" type="s" direction="in"/>
+ <arg name="session" type="o" direction="out"/>
+ </method>
+ <method name="GetSessionByPID">
+ <arg name="pid" type="u" direction="in"/>
+ <arg name="session" type="o" direction="out"/>
+ </method>
+ <method name="GetUser">
+ <arg name="uid" type="u" direction="in"/>
+ <arg name="user" type="o" direction="out"/>
+ </method>
+ <method name="GetSeat">
+ <arg name="id" type="s" direction="in"/>
+ <arg name="seat" type="o" direction="out"/>
+ </method>
+ <method name="ListSessions">
+ <arg name="sessions" type="a(susso)" direction="out"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="SessionObjectList"/>
+ </method>
+ <method name="ListUsers">
+ <arg name="users" type="a(uso)" direction="out"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="UintStringPathList"/>
+ </method>
+ <method name="ListSeats">
+ <arg name="seats" type="a(so)" direction="out"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="StringPathList"/>
+ </method>
+ <method name="CreateSession">
+ <arg name="uid" type="u" direction="in"/>
+ <arg name="leader" type="u" direction="in"/>
+ <arg name="sevice" type="s" direction="in"/>
+ <arg name="type" type="s" direction="in"/>
+ <arg name="klass" type="s" direction="in"/>
+ <arg name="seat" type="s" direction="in"/>
+ <arg name="vtnr" type="u" direction="in"/>
+ <arg name="tty" type="s" direction="in"/>
+ <arg name="display" type="s" direction="in"/>
+ <arg name="remote" type="b" direction="in"/>
+ <arg name="remote_user" type="s" direction="in"/>
+ <arg name="remote_host" type="s" direction="in"/>
+ <arg name="controllers" type="as" direction="in"/>
+ <arg name="reset_controllers" type="as" direction="in"/>
+ <arg name="kill_processes" type="b" direction="in"/>
+ <arg name="id" type="s" direction="out"/>
+ <arg name="path" type="o" direction="out"/>
+ <arg name="runtime_path" type="o" direction="out"/>
+ <arg name="fd" type="h" direction="out"/>
+ <arg name="seat" type="s" direction="out"/>
+ <arg name="vtnr" type="u" direction="out"/>
+ <arg name="existing" type="b" direction="out"/>
+ </method>
+ <method name="ReleaseSession">
+ <arg name="id" type="s" direction="in"/>
+ </method>
+ <method name="ActivateSession">
+ <arg name="id" type="s" direction="in"/>
+ </method>
+ <method name="ActivateSessionOnSeat">
+ <arg name="id" type="s" direction="in"/>
+ <arg name="seat" type="s" direction="in"/>
+ </method>
+ <method name="LockSession">
+ <arg name="id" type="s" direction="in"/>
+ </method>
+ <method name="UnlockSession">
+ <arg name="id" type="s" direction="in"/>
+ </method>
+ <method name="LockSessions"/>
+ <method name="KillSession">
+ <arg name="id" type="s" direction="in"/>
+ <arg name="who" type="s" direction="in"/>
+ <arg name="signal" type="s" direction="in"/>
+ </method>
+ <method name="KillUser">
+ <arg name="uid" type="u" direction="in"/>
+ <arg name="signal" type="s" direction="in"/>
+ </method>
+ <method name="TerminateSession">
+ <arg name="id" type="s" direction="in"/>
+ </method>
+ <method name="TerminateUser">
+ <arg name="uid" type="u" direction="in"/>
+ </method>
+ <method name="TerminateSeat">
+ <arg name="id" type="s" direction="in"/>
+ </method>
+ <method name="SetUserLinger">
+ <arg name="uid" type="u" direction="in"/>
+ <arg name="b" type="b" direction="in"/>
+ <arg name="interactive" type="b" direction="in"/>
+ </method>
+ <method name="AttachDevice">
+ <arg name="seat" type="s" direction="in"/>
+ <arg name="sysfs" type="s" direction="in"/>
+ <arg name="interactive" type="b" direction="in"/>
+ </method>
+ <method name="FlushDevices">
+ <arg name="interactive" type="b" direction="in"/>
+ </method>
+ <method name="PowerOff">
+ <arg name="interactive" type="b" direction="in"/>
+ </method>
+ <method name="Reboot">
+ <arg name="interactive" type="b" direction="in"/>
+ </method>
+ <method name="Suspend">
+ <arg name="interactive" type="b" direction="in"/>
+ </method>
+ <method name="Hibernate">
+ <arg name="interactive" type="b" direction="in"/>
+ </method>
+ <method name="HybridSleep">
+ <arg name="interactive" type="b" direction="in"/>
+ </method>
+ <method name="CanPowerOff">
+ <arg name="result" type="s" direction="out"/>
+ </method>
+ <method name="CanReboot">
+ <arg name="result" type="s" direction="out"/>
+ </method>
+ <method name="CanSuspend">
+ <arg name="result" type="s" direction="out"/>
+ </method>
+ <method name="CanHibernate">
+ <arg name="result" type="s" direction="out"/>
+ </method>
+ <method name="CanHybridSleep">
+ <arg name="result" type="s" direction="out"/>
+ </method>
+ <method name="Inhibit">
+ <arg name="what" type="s" direction="in"/>
+ <arg name="who" type="s" direction="in"/>
+ <arg name="why" type="s" direction="in"/>
+ <arg name="mode" type="s" direction="in"/>
+ <arg name="fd" type="h" direction="out"/>
+ </method>
+ <method name="ListInhibitors">
+ <arg name="inhibitors" type="a(ssssuu)" direction="out"/>
+ <!-- TODO: Create an appropriate type -->
+ <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QVariantList"/>
+ </method>
+ <signal name="SessionNew">
+ <arg name="id" type="s"/>
+ <arg name="path" type="o"/>
+ </signal>
+ <signal name="SessionRemoved">
+ <arg name="id" type="s"/>
+ <arg name="path" type="o"/>
+ </signal>
+ <signal name="UserNew">
+ <arg name="uid" type="u"/>
+ <arg name="path" type="o"/>
+ </signal>
+ <signal name="UserRemoved">
+ <arg name="uid" type="u"/>
+ <arg name="path" type="o"/>
+ </signal>
+ <signal name="SeatNew">
+ <arg name="id" type="s"/>
+ <arg name="path" type="o"/>
+ </signal>
+ <signal name="SeatRemoved">
+ <arg name="id" type="s"/>
+ <arg name="path" type="o"/>
+ </signal>
+ <signal name="PrepareForShutdown">
+ <arg name="active" type="b"/>
+ </signal>
+ <signal name="PrepareForSleep">
+ <arg name="active" type="b"/>
+ </signal>
+ <property name="ControlGroupHierarchy" type="s" access="read"/>
+ <property name="Controllers" type="as" access="read"/>
+ <property name="ResetControllers" type="as" access="read"/>
+ <property name="NAutoVTs" type="u" access="read"/>
+ <property name="KillOnlyUsers" type="as" access="read"/>
+ <property name="KillExcludeUsers" type="as" access="read"/>
+ <property name="KillUserProcesses" type="b" access="read"/>
+ <property name="IdleHint" type="b" access="read"/>
+ <property name="IdleSinceHint" type="t" access="read"/>
+ <property name="IdleSinceHintMonotonic" type="t" access="read"/>
+ <property name="BlockInhibited" type="s" access="read"/>
+ <property name="DelayInhibited" type="s" access="read"/>
+ <property name="InhibitDelayMaxUSec" type="t" access="read"/>
+ <property name="HandlePowerKey" type="s" access="read"/>
+ <property name="HandleSuspendKey" type="s" access="read"/>
+ <property name="HandleHibernateKey" type="s" access="read"/>
+ <property name="HandleLidSwitch" type="s" access="read"/>
+ <property name="IdleAction" type="s" access="read"/>
+ <property name="IdleActionUSec" type="t" access="read"/>
+ <property name="PreparingForShutdown" type="b" access="read"/>
+ <property name="PreparingForSleep" type="b" access="read"/>
+ </interface>
+</node>
diff --git a/src/backend-dbus/org.freedesktop.login1.Seat.xml b/src/backend-dbus/org.freedesktop.login1.Seat.xml
new file mode 100644
index 0000000..b73f724
--- /dev/null
+++ b/src/backend-dbus/org.freedesktop.login1.Seat.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node>
+ <interface name="org.freedesktop.login1.Seat">
+ <method name="Terminate"/>
+ <method name="ActivateSession">
+ <arg name="id" direction="in" type="s"/>
+ </method>
+ <property name="Id" type="s" access="read"/>
+ <property name="ActiveSession" type="(so)" access="read"/>
+ <property name="CanMultiSession" type="b" access="read"/>
+ <property name="CanTTY" type="b" access="read"/>
+ <property name="CanGraphical" type="b" access="read"/>
+ <property name="Sessions" type="a(so)" access="read">
+ <annotation name="org.qtproject.QtDBus.QtTypeName" value="StringPathList"/>
+ </property>
+ <property name="IdleHint" type="b" access="read"/>
+ <property name="IdleSinceHint" type="t" access="read"/>
+ <property name="IdleSinceHintMonotonic" type="t" access="read"/>
+ </interface>
+</node>
diff --git a/src/backend-dbus/org.freedesktop.login1.Session.xml b/src/backend-dbus/org.freedesktop.login1.Session.xml
new file mode 100644
index 0000000..24a6fac
--- /dev/null
+++ b/src/backend-dbus/org.freedesktop.login1.Session.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node>
+ <interface name="org.freedesktop.login1.Session">
+ <method name="Terminate"/>
+ <method name="Activate"/>
+ <method name="Lock"/>
+ <method name="Unlock"/>
+ <method name="SetIdleHint">
+ <arg name="b" direction="in" type="b"/>
+ </method>
+ <method name="Kill">
+ <arg name="who" direction="in" type="s"/>
+ <arg name="signal" direction="in" type="s"/>
+ </method>
+ <signal name="Lock"/>
+ <signal name="Unlock"/>
+ <property name="Id" type="s" access="read"/>
+ <property name="User" type="(uo)" access="read">
+ <annotation name="org.qtproject.QtDBus.QtTypeName" value="UintPath"/>
+ </property>
+ <property name="Name" type="s" access="read"/>
+ <property name="Timestamp" type="t" access="read"/>
+ <property name="TimestampMonotonic" type="t" access="read"/>
+ <property name="DefaultControlGroup" type="s" access="read"/>
+ <property name="VTNr" type="u" access="read"/>
+ <property name="Seat" type="(so)" access="read">
+ <annotation name="org.qtproject.QtDBus.QtTypeName" value="StringPath"/>
+ </property>
+ <property name="TTY" type="s" access="read"/>
+ <property name="Display" type="s" access="read"/>
+ <property name="Remote" type="b" access="read"/>
+ <property name="RemoteHost" type="s" access="read"/>
+ <property name="RemoteUser" type="s" access="read"/>
+ <property name="Service" type="s" access="read"/>
+ <property name="Leader" type="u" access="read"/>
+ <property name="Audit" type="u" access="read"/>
+ <property name="Type" type="s" access="read"/>
+ <property name="Class" type="s" access="read"/>
+ <property name="Active" type="b" access="read"/>
+ <property name="State" type="s" access="read"/>
+ <property name="Controllers" type="as" access="read"/>
+ <property name="ResetControllers" type="as" access="read"/>
+ <property name="KillProcesses" type="b" access="read"/>
+ <property name="IdleHint" type="b" access="read"/>
+ <property name="IdleSinceHint" type="t" access="read"/>
+ <property name="IdleSinceHintMonotonic" type="t" access="read"/>
+ </interface>
+</node>
diff --git a/src/backend-dbus/org.freedesktop.login1.User.xml b/src/backend-dbus/org.freedesktop.login1.User.xml
new file mode 100644
index 0000000..8253706
--- /dev/null
+++ b/src/backend-dbus/org.freedesktop.login1.User.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node>
+ <interface name="org.freedesktop.login1.User">
+ <method name="Terminate"/>
+ <method name="Kill">
+ <arg name="signal" direction="in" type="s"/>
+ </method>
+ <property name="UID" type="u" access="read"/>
+ <property name="GID" type="u" access="read"/>
+ <property name="Name" type="s" access="read"/>
+ <property name="Timestamp" type="t" access="read"/>
+ <property name="TimestampMonotonic" type="t" access="read"/>
+ <property name="RuntimePath" type="s" access="read"/>
+ <property name="DefaultControlGroup" type="s" access="read"/>
+ <property name="Service" type="s" access="read"/>
+ <property name="Display" type="(so)" access="read"/>
+ <property name="State" type="s" access="read"/>
+ <property name="Sessions" type="a(so)" access="read"/>
+ <property name="IdleHint" type="b" access="read"/>
+ <property name="IdleSinceHint" type="t" access="read"/>
+ <property name="IdleSinceHintMonotonic" type="t" access="read"/>
+ </interface>
+ <interface name="org.freedesktop.DBus.Properties">
+ <method name="Get">
+ <arg name="interface" direction="in" type="s"/>
+ <arg name="property" direction="in" type="s"/>
+ <arg name="value" direction="out" type="v"/>
+ </method>
+ <method name="GetAll">
+ <arg name="interface" direction="in" type="s"/>
+ <arg name="properties" direction="out" type="a{sv}"/>
+ </method>
+ <method name="Set">
+ <arg name="interface" direction="in" type="s"/>
+ <arg name="property" direction="in" type="s"/>
+ <arg name="value" direction="in" type="v"/>
+ </method>
+ <signal name="PropertiesChanged">
+ <arg type="s" name="interface"/>
+ <arg type="a{sv}" name="changed_properties"/>
+ <arg type="as" name="invalidated_properties"/>
+ </signal>
+ </interface>
+<interface name="org.freedesktop.DBus.Peer">
+ <method name="Ping"/>
+ <method name="GetMachineId">
+ <arg type="s" name="machine_uuid" direction="out"/>
+ </method>
+</interface>
+ <interface name="org.freedesktop.DBus.Introspectable">
+ <method name="Introspect">
+ <arg name="data" type="s" direction="out"/>
+ </method>
+ </interface>
+</node>
diff --git a/src/backend-dbus/upower.xml b/src/backend-dbus/upower.xml
deleted file mode 100644
index 18d5fbd..0000000
--- a/src/backend-dbus/upower.xml
+++ /dev/null
@@ -1,309 +0,0 @@
-<!DOCTYPE node PUBLIC
-"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
-"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
-<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
-
- <interface name="org.freedesktop.UPower">
- <doc:doc>
- <doc:description>
- <doc:para>
- The DeviceKit-power service is available via the system message
- bus. To access the service, use
- the <doc:tt>org.freedesktop.UPower</doc:tt> interface on
- the <doc:tt>/org/freedesktop/UPower</doc:tt> object on
- the D-Bus system bus service with the well-known
- name <doc:tt>org.freedesktop.UPower</doc:tt>.
- </doc:para>
- <doc:para>
- <doc:example language="shell" title="simple example">
- <doc:code>
-$ dbus-send --print-reply \
- --system \
- --dest=org.freedesktop.UPower \
- /org/freedesktop/UPower \
- org.freedesktop.UPower.EnumerateDevices
-
-method return sender=:1.386 -> dest=:1.451 reply_serial=2
- array [
- object path "/org/freedesktop/UPower/devices/line_power_AC"
- object path "/org/freedesktop/UPower/devices/battery_BAT0"
- ]
- </doc:code>
- </doc:example>
- </doc:para>
- </doc:description>
- </doc:doc>
-
- <!-- ************************************************************ -->
-
- <method name="EnumerateDevices">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <arg name="devices" direction="out" type="ao">
- <doc:doc><doc:summary>An array of object paths for devices.</doc:summary></doc:doc>
- </arg>
-
- <doc:doc>
- <doc:description>
- <doc:para>
- Enumerate all power objects on the system.
- </doc:para>
- </doc:description>
- </doc:doc>
- </method>
-
- <!-- ************************************************************ -->
-
- <signal name="DeviceAdded">
- <arg name="device" type="o">
- <doc:doc><doc:summary>Object path of device that was added.</doc:summary></doc:doc>
- </arg>
-
- <doc:doc>
- <doc:description>
- <doc:para>
- Emitted when a device is added.
- </doc:para>
- </doc:description>
- </doc:doc>
- </signal>
-
- <!-- ************************************************************ -->
-
- <signal name="DeviceRemoved">
- <arg name="device" type="o">
- <doc:doc><doc:summary>Object path of device that was removed.</doc:summary></doc:doc>
- </arg>
-
- <doc:doc>
- <doc:description>
- <doc:para>
- Emitted when a device is removed.
- </doc:para>
- </doc:description>
- </doc:doc>
- </signal>
-
- <!-- ************************************************************ -->
-
- <signal name="DeviceChanged">
- <arg name="device" type="s">
- <doc:doc><doc:summary>Object path of device that was changed.</doc:summary></doc:doc>
- </arg>
-
- <doc:doc>
- <doc:description>
- <doc:para>
- Emitted when a device changed.
- </doc:para>
- </doc:description>
- </doc:doc>
- </signal>
-
- <!-- ************************************************************ -->
-
- <signal name="Changed">
- <doc:doc>
- <doc:description>
- <doc:para>
- Emitted when one or more properties on the object changes.
- </doc:para>
- </doc:description>
- </doc:doc>
- </signal>
-
- <!-- ************************************************************ -->
-
- <signal name="Sleeping">
- <doc:doc>
- <doc:description>
- <doc:para>
- This signal is sent when the session is about to be suspended or
- hibernated.
- Session and system programs have one second to do anything required
- before the sleep action is taken (such as sending out Avahi or
- Jabber messages).
- </doc:para>
- </doc:description>
- </doc:doc>
- </signal>
-
- <!-- ************************************************************ -->
-
- <signal name="Resuming">
- <doc:doc>
- <doc:description>
- <doc:para>
- This signal is sent when the session has just returned from
- Suspend() or Hibernate().
- Session and system programs can then do anything required (such as
- sending out Avahi or Jabber messages).
- </doc:para>
- </doc:description>
- </doc:doc>
- </signal>
-
- <!-- ************************************************************ -->
-
- <method name="AboutToSleep">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <doc:doc>
- <doc:description>
- <doc:para>
- This method tells UPower that the Suspend() or Hibernate() method
- is about to be called.
- This allows UPower to emit the Suspending signal whilst
- session activities are happening that have to be done before the
- suspend process is started.
- </doc:para>
- <doc:para>
- This method would typically be called by the session power
- management daemon, before it locks the screen and waits for the
- screen to fade to black.
- The session power management component would then call Suspend() or
- Hibernate() when these syncronous tasks have completed.
- </doc:para>
- <doc:para>
- If this method is not called than nothing bad will happen and
- Suspend() or Hibernate() will block for the required second.
- </doc:para>
- </doc:description>
- </doc:doc>
- </method>
-
- <!-- ************************************************************ -->
-
- <method name="Suspend">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <doc:doc>
- <doc:description>
- <doc:para>
- Suspends the computer into a low power state.
- System state is not preserved if the power is lost.
- </doc:para>
- <doc:para>
- If AboutToRequestSleep() has not been called then UPower will send
- the Sleeping() signal and block for one second.
- </doc:para>
- <doc:para>
- If AboutToRequestSleep() has been called less than one second
- before this method is called then UPower will block for the
- remaining time to complete one second of delay.
- </doc:para>
- </doc:description>
- </doc:doc>
- </method>
-
- <!-- ************************************************************ -->
-
- <method name="SuspendAllowed">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <arg name="allowed" direction="out" type="b">
- <doc:doc><doc:summary>TRUE if allowed, otherwise FALSE</doc:summary></doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>
- Check if the caller has (or can get) the PolicyKit privilege to call
- <doc:ref type="method" to="Power.Suspend">Suspend</doc:ref>.
- </doc:para>
- </doc:description>
- </doc:doc>
- </method>
-
- <!-- ************************************************************ -->
-
- <method name="Hibernate">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <doc:doc>
- <doc:description>
- <doc:para>
- Hibernates the computer into a low power state.
- System state is preserved if the power is lost.
- </doc:para>
- <doc:para>
- If AboutToRequestSleep() has not been called then UPower will send
- the Sleeping() signal and block for one second.
- </doc:para>
- <doc:para>
- If AboutToRequestSleep() has been called less than one second
- before this method is called then UPower will block for the
- remaining time to complete one second of delay.
- </doc:para>
- </doc:description>
- </doc:doc>
- </method>
-
- <!-- ************************************************************ -->
-
- <method name="HibernateAllowed">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <arg name="allowed" direction="out" type="b">
- <doc:doc><doc:summary>TRUE if allowed, otherwise FALSE</doc:summary></doc:doc>
- </arg>
- <doc:doc>
- <doc:description>
- <doc:para>
- Check if the caller has (or can get) the PolicyKit privilege to call
- <doc:ref type="method" to="Power.Hibernate">Hibernate</doc:ref>.
- </doc:para>
- </doc:description>
- </doc:doc>
- </method>
-
- <!-- ************************************************************ -->
-
- <property name="DaemonVersion" type="s" access="read">
- <doc:doc><doc:description><doc:para>
- Version of the running daemon, e.g. <doc:tt>002</doc:tt>.
- </doc:para></doc:description></doc:doc>
- </property>
-
- <property name="CanSuspend" type="b" access="read">
- <doc:doc><doc:description><doc:para>
- Whether the system is able to suspend.
- </doc:para></doc:description></doc:doc>
- </property>
-
- <property name="CanHibernate" type="b" access="read">
- <doc:doc><doc:description><doc:para>
- Whether the system is able to hibernate.
- </doc:para></doc:description></doc:doc>
- </property>
-
- <property name="OnBattery" type="b" access="read">
- <doc:doc><doc:description><doc:para>
- Indicates whether the system is running on battery power.
- This property is provided for convenience.
- </doc:para></doc:description></doc:doc>
- </property>
-
- <property name="OnLowBattery" type="b" access="read">
- <doc:doc><doc:description><doc:para>
- Indicates whether the system is running on battery power and if the battery is critically low.
- This property is provided for convenience.
- </doc:para></doc:description></doc:doc>
- </property>
-
- <property name="LidIsClosed" type="b" access="read">
- <doc:doc>
- <doc:description>
- <doc:para>
- Indicates if the laptop lid is closed where the display cannot be seen.
- </doc:para>
- </doc:description>
- </doc:doc>
- </property>
-
- <property name="LidIsPresent" type="b" access="read">
- <doc:doc>
- <doc:description>
- <doc:para>
- If the system has a lid device.
- </doc:para>
- </doc:description>
- </doc:doc>
- </property>
-
- </interface>
-
-</node>