summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/ConsoleKit.html336
-rw-r--r--doc/ConsoleKit.xml.in9
-rw-r--r--doc/Makefile.am8
-rw-r--r--doc/dbus-introspect-docs.dtd31
-rw-r--r--doc/docbook.css5
-rw-r--r--doc/ref-ck-manager.xml181
-rw-r--r--doc/ref-ck-seat.xml111
-rw-r--r--doc/ref-ck-session.xml350
-rw-r--r--doc/spec/ck-manager.xml286
-rw-r--r--doc/spec/ck-seat.xml110
-rw-r--r--doc/spec/ck-session.xml401
-rwxr-xr-xdoc/tools/spec-strip-docs34
-rw-r--r--doc/tools/spec-strip-docs.xsl36
-rwxr-xr-xdoc/tools/spec-to-docbook (renamed from doc/docize-dbus-xml.sh)2
-rw-r--r--doc/tools/spec-to-docbook.xsl (renamed from doc/docbook-dbus.xsl)148
-rwxr-xr-xdoc/tools/update-from-spec25
-rw-r--r--doc/xml/ck-introduction.xml (renamed from doc/ck-introduction.xml)3
-rw-r--r--doc/xml/ref-ck-manager.xml174
-rw-r--r--doc/xml/ref-ck-seat.xml72
-rw-r--r--doc/xml/ref-ck-session.xml240
-rw-r--r--src/ck-manager.xml16
-rw-r--r--src/ck-seat.xml14
-rw-r--r--src/ck-session.xml11
23 files changed, 1832 insertions, 771 deletions
diff --git a/doc/ConsoleKit.html b/doc/ConsoleKit.html
index 4aeac2b..b79bf4d 100644
--- a/doc/ConsoleKit.html
+++ b/doc/ConsoleKit.html
@@ -1,13 +1,13 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>ConsoleKit 0.1.3 Documentation</title><link rel="stylesheet" href="docbook.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.72.0"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="index"></a>ConsoleKit 0.1.3 Documentation</h1></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname">William Jon</span> <span class="surname">McCann</span></h3><div class="affiliation"><div class="address"><p><br>
            <code class="email">&lt;<a href="mailto:mccann@jhu.edu">mccann@jhu.edu</a>&gt;</code><br>
-          </p></div></div></div></div></div><div><p class="releaseinfo">Version 0.1.3</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="preface"><a href="#id3015624">Introduction</a></span></dt><dt><span class="part"><a href="#id3015634">I. Concepts</a></span></dt><dd><dl><dt><span class="chapter"><a href="#introduction">1. Introduction</a></span></dt><dd><dl><dt><span class="sect1"><a href="#id3050619">About</a></span></dt><dt><span class="sect1"><a href="#id2979025">Defining the Problem</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="#id3015648">II. Reference</a></span></dt><dd><dl><dt><span class="reference"><a href="#dbus-reference">I. D-Bus API Reference</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="#Manager">org.freedesktop.ConsoleKit.Manager</a></span><span class="refpurpose"> &#8212; Manager interface</span></dt><dt><span class="refentrytitle"><a href="#Seat">org.freedesktop.ConsoleKit.Seat</a></span><span class="refpurpose"> &#8212; Seat interface</span></dt><dt><span class="refentrytitle"><a href="#Session">org.freedesktop.ConsoleKit.Session</a></span><span class="refpurpose"> &#8212; Session interface</span></dt></dl></dd></dl></dd><dt><span class="index"><a href="#id3029093">Index</a></span></dt></dl></div><div class="preface" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="id3015624"></a>Introduction</h2></div></div></div><p>
- </p></div><div class="part" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="id3015634"></a>Part I. Concepts</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="#introduction">1. Introduction</a></span></dt><dd><dl><dt><span class="sect1"><a href="#id3050619">About</a></span></dt><dt><span class="sect1"><a href="#id2979025">Defining the Problem</a></span></dt></dl></dd></dl></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="introduction"></a>Chapter 1. Introduction</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#id3050619">About</a></span></dt><dt><span class="sect1"><a href="#id2979025">Defining the Problem</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id3050619"></a>About</h2></div></div></div><p>
+          </p></div></div></div></div></div><div><p class="releaseinfo">Version 0.1.3</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="preface"><a href="#id2822389">Introduction</a></span></dt><dt><span class="part"><a href="#id2822399">I. Concepts</a></span></dt><dd><dl><dt><span class="chapter"><a href="#introduction">1. Introduction</a></span></dt><dd><dl><dt><span class="sect1"><a href="#id2853100">About</a></span></dt><dt><span class="sect1"><a href="#id2853114">Defining the Problem</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="#id2853134">II. Reference</a></span></dt><dd><dl><dt><span class="reference"><a href="#dbus-reference">I. D-Bus API Reference</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="#Manager">org.freedesktop.ConsoleKit.Manager</a></span><span class="refpurpose"> &#8212; Manager interface</span></dt><dt><span class="refentrytitle"><a href="#Seat">org.freedesktop.ConsoleKit.Seat</a></span><span class="refpurpose"> &#8212; Seat interface</span></dt><dt><span class="refentrytitle"><a href="#Session">org.freedesktop.ConsoleKit.Session</a></span><span class="refpurpose"> &#8212; Session interface</span></dt></dl></dd></dl></dd><dt><span class="index"><a href="#id2868235">Index</a></span></dt></dl></div><div class="preface" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="id2822389"></a>Introduction</h2></div></div></div><p>
+ </p></div><div class="part" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="id2822399"></a>Part I. Concepts</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="#introduction">1. Introduction</a></span></dt><dd><dl><dt><span class="sect1"><a href="#id2853100">About</a></span></dt><dt><span class="sect1"><a href="#id2853114">Defining the Problem</a></span></dt></dl></dd></dl></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="introduction"></a>Chapter 1. Introduction</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#id2853100">About</a></span></dt><dt><span class="sect1"><a href="#id2853114">Defining the Problem</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2853100"></a>About</h2></div></div></div><p>
ConsoleKit is a framework for keeping track of the various
users, sessions, and seats present on a system. It
provides a mechanism for software to react to changes of any of
these items or of any of the metadata associated with them.
- </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2979025"></a>Defining the Problem</h2></div></div></div><p>
- </p></div></div></div><div class="part" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="id3015648"></a>Part II. Reference</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="reference"><a href="#dbus-reference">I. D-Bus API Reference</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="#Manager">org.freedesktop.ConsoleKit.Manager</a></span><span class="refpurpose"> &#8212; Manager interface</span></dt><dt><span class="refentrytitle"><a href="#Seat">org.freedesktop.ConsoleKit.Seat</a></span><span class="refpurpose"> &#8212; Seat interface</span></dt><dt><span class="refentrytitle"><a href="#Session">org.freedesktop.ConsoleKit.Session</a></span><span class="refpurpose"> &#8212; Session interface</span></dt></dl></dd></dl></div><div class="reference" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="dbus-reference"></a>D-Bus API Reference</h1></div></div><hr></div><div class="partintro" lang="en"><div></div><p>
+ </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2853114"></a>Defining the Problem</h2></div></div></div><p>
+ </p></div></div></div><div class="part" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="id2853134"></a>Part II. Reference</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="reference"><a href="#dbus-reference">I. D-Bus API Reference</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="#Manager">org.freedesktop.ConsoleKit.Manager</a></span><span class="refpurpose"> &#8212; Manager interface</span></dt><dt><span class="refentrytitle"><a href="#Seat">org.freedesktop.ConsoleKit.Seat</a></span><span class="refpurpose"> &#8212; Seat interface</span></dt><dt><span class="refentrytitle"><a href="#Session">org.freedesktop.ConsoleKit.Session</a></span><span class="refpurpose"> &#8212; Session interface</span></dt></dl></dd></dl></div><div class="reference" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="dbus-reference"></a>D-Bus API Reference</h1></div></div><hr></div><div class="partintro" lang="en"><div></div><p>
ConsoleKit provides a D-Bus API for programs to obtain information about the
users, sessions, and seats that are present on a system.
</p><p>
@@ -15,82 +15,274 @@
these concepts.
</p><p>
This API is not yet stable and is likely to change in the future.
- </p><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="refentrytitle"><a href="#Manager">org.freedesktop.ConsoleKit.Manager</a></span><span class="refpurpose"> &#8212; Manager interface</span></dt><dt><span class="refentrytitle"><a href="#Seat">org.freedesktop.ConsoleKit.Seat</a></span><span class="refpurpose"> &#8212; Seat interface</span></dt><dt><span class="refentrytitle"><a href="#Session">org.freedesktop.ConsoleKit.Session</a></span><span class="refpurpose"> &#8212; Session interface</span></dt></dl></div></div><div class="refentry" lang="en"><a name="Manager"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.ConsoleKit.Manager &#8212; Manager interface</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis"><a href="#Manager-OpenSession">OpenSession</a> (out 's' cookie)
-<a href="#Manager-OpenSessionWithParameters">OpenSessionWithParameters</a> (in 'a(sv)' parameters,
+ </p><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="refentrytitle"><a href="#Manager">org.freedesktop.ConsoleKit.Manager</a></span><span class="refpurpose"> &#8212; Manager interface</span></dt><dt><span class="refentrytitle"><a href="#Seat">org.freedesktop.ConsoleKit.Seat</a></span><span class="refpurpose"> &#8212; Seat interface</span></dt><dt><span class="refentrytitle"><a href="#Session">org.freedesktop.ConsoleKit.Session</a></span><span class="refpurpose"> &#8212; Session interface</span></dt></dl></div></div><div class="refentry" lang="en"><a name="Manager"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.ConsoleKit.Manager &#8212; Manager interface</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis"><a href="#Manager.OpenSession">OpenSession</a> (out 's' cookie)
+<a href="#Manager.OpenSessionWithParameters">OpenSessionWithParameters</a> (in 'a(sv)' parameters,
out 's' cookie)
-<a href="#Manager-CloseSession">CloseSession</a> (in 's' cookie,
+<a href="#Manager.CloseSession">CloseSession</a> (in 's' cookie,
out 'b' result)
-<a href="#Manager-GetSeats">GetSeats</a> (out 'ao' seats)
-<a href="#Manager-GetCurrentSession">GetCurrentSession</a> (out 'o' ssid)
-<a href="#Manager-GetSessionForCookie">GetSessionForCookie</a> (in 's' cookie,
+<a href="#Manager.GetSeats">GetSeats</a> (out 'ao' seats)
+<a href="#Manager.GetSessionForCookie">GetSessionForCookie</a> (in 's' cookie,
out 'o' ssid)
-<a href="#Manager-GetSessionForUnixProcess">GetSessionForUnixProcess</a> (in 'u' pid,
+<a href="#Manager.GetSessionForUnixProcess">GetSessionForUnixProcess</a> (in 'u' pid,
out 'o' ssid)
-<a href="#Manager-GetSessionsForUser">GetSessionsForUser</a> (in 'u' uid,
+<a href="#Manager.GetCurrentSession">GetCurrentSession</a> (out 'o' ssid)
+<a href="#Manager.GetSessionsForUser">GetSessionsForUser</a> (in 'u' uid,
out 'ao' sessions)
-<a href="#Manager-GetSystemIdleHint">GetSystemIdleHint</a> (out 'b' idle_hint)
-<a href="#Manager-GetSystemIdleSinceHint">GetSystemIdleSinceHint</a> (out 's' iso8601_datetime)
-</pre></div><div class="refsect1" lang="en"><a name="id2981760"></a><h2>Signals</h2><pre class="synopsis"><a href="#Manager-signal-SeatAdded">SeatAdded</a> ('o' sid)
-<a href="#Manager-signal-SeatRemoved">SeatRemoved</a> ('o' sid)
-<a href="#Manager-signal-SystemIdleHintChanged">SystemIdleHintChanged</a> ('b' hint)
-</pre></div><div class="refsect1" lang="en"><a name="id2981803"></a><h2>Implemented Interfaces</h2><p>org.freedesktop.ConsoleKit.Manager implements
+<a href="#Manager.GetSystemIdleHint">GetSystemIdleHint</a> (out 'b' idle_hint)
+<a href="#Manager.GetSystemIdleSinceHint">GetSystemIdleSinceHint</a> (out 's' iso8601_datetime)
+</pre></div><div class="refsect1" lang="en"><a name="id2817480"></a><h2>Signals</h2><pre class="synopsis"><a href="#Manager::SeatAdded">SeatAdded</a> ('o' sid)
+<a href="#Manager::SeatRemoved">SeatRemoved</a> ('o' sid)
+<a href="#Manager::SystemIdleHintChanged">SystemIdleHintChanged</a> ('b' hint)
+</pre></div><div class="refsect1" lang="en"><a name="id2862092"></a><h2>Implemented Interfaces</h2><p>org.freedesktop.ConsoleKit.Manager implements
org.freedesktop.DBus.Introspectable,
org.freedesktop.DBus.Properties
- </p></div><div class="refsect1" lang="en"><a name="id2981820"></a><h2>Properties</h2><pre class="synopsis"></pre></div><div class="refsect1" lang="en"><a name="id3024598"></a><h2>Description</h2><p></p></div><div class="refsect1" lang="en"><a name="id3024612"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id3024622"></a><h3><a name="Manager-OpenSession"></a>OpenSession ()</h3><a class="indexterm" name="id3024634"></a><pre class="programlisting">OpenSession (out 's' cookie)</pre></div><div class="refsect2" lang="en"><a name="id3024658"></a><h3><a name="Manager-OpenSessionWithParameters"></a>OpenSessionWithParameters ()</h3><a class="indexterm" name="id3024671"></a><pre class="programlisting">OpenSessionWithParameters (in 'a(sv)' parameters,
- out 's' cookie)</pre></div><div class="refsect2" lang="en"><a name="id3024695"></a><h3><a name="Manager-CloseSession"></a>CloseSession ()</h3><a class="indexterm" name="id3024708"></a><pre class="programlisting">CloseSession (in 's' cookie,
- out 'b' result)</pre></div><div class="refsect2" lang="en"><a name="id3024732"></a><h3><a name="Manager-GetSeats"></a>GetSeats ()</h3><a class="indexterm" name="id3024744"></a><pre class="programlisting">GetSeats (out 'ao' seats)</pre></div><div class="refsect2" lang="en"><a name="id3024767"></a><h3><a name="Manager-GetCurrentSession"></a>GetCurrentSession ()</h3><a class="indexterm" name="id3024780"></a><pre class="programlisting">GetCurrentSession (out 'o' ssid)</pre></div><div class="refsect2" lang="en"><a name="id3024803"></a><h3><a name="Manager-GetSessionForCookie"></a>GetSessionForCookie ()</h3><a class="indexterm" name="id3024816"></a><pre class="programlisting">GetSessionForCookie (in 's' cookie,
- out 'o' ssid)</pre></div><div class="refsect2" lang="en"><a name="id3024840"></a><h3><a name="Manager-GetSessionForUnixProcess"></a>GetSessionForUnixProcess ()</h3><a class="indexterm" name="id3024854"></a><pre class="programlisting">GetSessionForUnixProcess (in 'u' pid,
- out 'o' ssid)</pre></div><div class="refsect2" lang="en"><a name="id3024878"></a><h3><a name="Manager-GetSessionsForUser"></a>GetSessionsForUser ()</h3><a class="indexterm" name="id3024891"></a><pre class="programlisting">GetSessionsForUser (in 'u' uid,
- out 'ao' sessions)</pre></div><div class="refsect2" lang="en"><a name="id3024915"></a><h3><a name="Manager-GetSystemIdleHint"></a>GetSystemIdleHint ()</h3><a class="indexterm" name="id3024928"></a><pre class="programlisting">GetSystemIdleHint (out 'b' idle_hint)</pre></div><div class="refsect2" lang="en"><a name="id3024950"></a><h3><a name="Manager-GetSystemIdleSinceHint"></a>GetSystemIdleSinceHint ()</h3><a class="indexterm" name="id3024963"></a><pre class="programlisting">GetSystemIdleSinceHint (out 's' iso8601_datetime)</pre></div></div><div class="refsect1" lang="en"><a name="id3024988"></a><h2>Signal Details</h2><div class="refsect2" lang="en"><a name="id3024998"></a><h3><a name="Manager-signal-SeatAdded"></a>SeatAdded ()</h3><a class="indexterm" name="id3025012"></a><pre class="programlisting">SeatAdded ('o' sid)</pre></div><div class="refsect2" lang="en"><a name="id3025035"></a><h3><a name="Manager-signal-SeatRemoved"></a>SeatRemoved ()</h3><a class="indexterm" name="id3025047"></a><pre class="programlisting">SeatRemoved ('o' sid)</pre></div><div class="refsect2" lang="en"><a name="id3025070"></a><h3><a name="Manager-signal-SystemIdleHintChanged"></a>SystemIdleHintChanged ()</h3><a class="indexterm" name="id3025084"></a><pre class="programlisting">SystemIdleHintChanged ('b' hint)</pre></div></div><div class="refsect1" lang="en"><a name="id3025108"></a><h2>Property Details</h2></div></div><div class="refentry" lang="en"><div class="refentry.separator"><hr></div><a name="Seat"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.ConsoleKit.Seat &#8212; Seat interface</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis"><a href="#Seat-GetId">GetId</a> (out 'o' sid)
-<a href="#Seat-GetSessions">GetSessions</a> (out 'ao' sessions)
-<a href="#Seat-GetActiveSession">GetActiveSession</a> (out 'o' ssid)
-<a href="#Seat-ActivateSession">ActivateSession</a> (in 'o' ssid)
-</pre></div><div class="refsect1" lang="en"><a name="id3025926"></a><h2>Signals</h2><pre class="synopsis"><a href="#Seat-signal-ActiveSessionChanged">ActiveSessionChanged</a> ('o' sid)
-<a href="#Seat-signal-SessionAdded">SessionAdded</a> ('o' sid)
-<a href="#Seat-signal-SessionRemoved">SessionRemoved</a> ('o' sid)
-</pre></div><div class="refsect1" lang="en"><a name="id3025969"></a><h2>Implemented Interfaces</h2><p>org.freedesktop.ConsoleKit.Seat implements
+ </p></div><div class="refsect1" lang="en"><a name="id2862109"></a><h2>Properties</h2><pre class="synopsis"></pre></div><div class="refsect1" lang="en"><a name="id2862125"></a><h2>Description</h2><p></p></div><div class="refsect1" lang="en"><a name="id2862139"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2862147"></a><h3><a name="Manager.OpenSession"></a>OpenSession ()</h3><a class="indexterm" name="id2862157"></a><pre class="programlisting">OpenSession (out 's' cookie)</pre></div><p>This method requests that a new <a href="#Session" title="org.freedesktop.ConsoleKit.Session">Session</a>
+ be created for the calling process. The properties of this new Session are set automatically
+ from information collected about the calling process.
+ </p><p>This new session exists until the calling process disconnects from the system bus or
+ calls <a href="#Manager.CloseSession"><code class="function">CloseSession()</code></a>.
+ </p><p>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.
+ </p><p>See this simple example:
+ </p><div class="informalexample"><pre class="programlisting">
+ 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-&gt;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;
+ }
+
+ </pre></div><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>cookie</code></em>:</span></dt><dd>The secret cookie that is used to identify the new session</dd></dl></div><p>
+See also:
+<a href="#Manager.OpenSessionWithParameters"><code class="function">OpenSessionWithParameters()</code></a></p><div class="refsect2" lang="en"><a name="id2862272"></a><h3><a name="Manager.OpenSessionWithParameters"></a>OpenSessionWithParameters ()</h3><a class="indexterm" name="id2862283"></a><pre class="programlisting">OpenSessionWithParameters (in 'a(sv)' parameters,
+ out 's' cookie)</pre></div><p>This method requests that a new <a href="#Session" title="org.freedesktop.ConsoleKit.Session">Session</a>
+ be created for the calling process. The properties of this new Session are from the
+ parameters provided.
+ </p><p>This new session exists until the calling process disconnects from the system bus or
+ calls <a href="#Manager.CloseSession"><code class="function">CloseSession()</code></a>.
+ </p><p>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.
+ </p><p>See the <a href="#Session" title="org.freedesktop.ConsoleKit.Session">Session</a> properties for a list of valid parameters.</p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>parameters</code></em>:</span></dt><dd>An array of sets of property names and values</dd><dt><span class="term"><em class="parameter"><code>cookie</code></em>:</span></dt><dd>The secret cookie that is used to identify the new session</dd></dl></div><p class="permission">This method is restricted to privileged users by D-Bus policy.</p><p>
+See also:
+<a href="#Session" title="org.freedesktop.ConsoleKit.Session">org.freedesktop.ConsoleKit.Session</a></p><div class="refsect2" lang="en"><a name="id2862389"></a><h3><a name="Manager.CloseSession"></a>CloseSession ()</h3><a class="indexterm" name="id2862399"></a><pre class="programlisting">CloseSession (in 's' cookie,
+ out 'b' result)</pre></div><p>This method is used to close the session identified by the supplied cookie.
+ </p><p>The session can only be closed by the same process that opened the session.
+ </p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>cookie</code></em>:</span></dt><dd>The secret cookie that is used to identify the session</dd><dt><span class="term"><em class="parameter"><code>result</code></em>:</span></dt><dd>Whether the session was successfully closed</dd></dl></div><div class="refsect2" lang="en"><a name="id2862451"></a><h3><a name="Manager.GetSeats"></a>GetSeats ()</h3><a class="indexterm" name="id2862461"></a><pre class="programlisting">GetSeats (out 'ao' seats)</pre></div><p>This gets a list of all the <a href="#Seat" title="org.freedesktop.ConsoleKit.Seat">Seats</a>
+ that are currently present on the system.</p><p>Each Seat ID is an D-Bus object path for the object that implements the
+ <a href="#Seat" title="org.freedesktop.ConsoleKit.Seat">Seat</a> interface.</p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>seats</code></em>:</span></dt><dd>an array of Seat IDs</dd></dl></div><p>
+See also:
+<a href="#Seat" title="org.freedesktop.ConsoleKit.Seat">org.freedesktop.ConsoleKit.Seat</a></p><div class="refsect2" lang="en"><a name="id2862522"></a><h3><a name="Manager.GetSessionForCookie"></a>GetSessionForCookie ()</h3><a class="indexterm" name="id2862533"></a><pre class="programlisting">GetSessionForCookie (in 's' cookie,
+ out 'o' ssid)</pre></div><p>Returns the session ID that is associated with the specified cookie.
+ </p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>cookie</code></em>:</span></dt><dd>The secret cookie that is used to identify the session</dd><dt><span class="term"><em class="parameter"><code>ssid</code></em>:</span></dt><dd>The object identifier for the current session</dd></dl></div><div class="refsect2" lang="en"><a name="id2862580"></a><h3><a name="Manager.GetSessionForUnixProcess"></a>GetSessionForUnixProcess ()</h3><a class="indexterm" name="id2862592"></a><pre class="programlisting">GetSessionForUnixProcess (in 'u' pid,
+ out 'o' ssid)</pre></div><p>Attempts to determine the session ID for the specified
+ POSIX process ID (pid).
+ </p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>pid</code></em>:</span></dt><dd>The POSIX process ID</dd><dt><span class="term"><em class="parameter"><code>ssid</code></em>:</span></dt><dd>The object identifier for the current session</dd></dl></div><div class="refsect2" lang="en"><a name="id2862639"></a><h3><a name="Manager.GetCurrentSession"></a>GetCurrentSession ()</h3><a class="indexterm" name="id2862650"></a><pre class="programlisting">GetCurrentSession (out 'o' ssid)</pre></div><p>Attempts to determine the session ID that the caller belongs to.
+ </p><p>See this example of using dbus-send:
+ </p><div class="informalexample"><pre class="programlisting">
+ dbus-send --system --dest=org.freedesktop.ConsoleKit \
+ --type=method_call --print-reply --reply-timeout=2000 \
+ /org/freedesktop/ConsoleKit/Manager \
+ org.freedesktop.ConsoleKit.Manager.GetCurrentSession
+ </pre></div><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>ssid</code></em>:</span></dt><dd>The object identifier for the current session</dd></dl></div><div class="refsect2" lang="en"><a name="id2862697"></a><h3><a name="Manager.GetSessionsForUser"></a>GetSessionsForUser ()</h3><a class="indexterm" name="id2862708"></a><pre class="programlisting">GetSessionsForUser (in 'u' uid,
+ out 'ao' sessions)</pre></div><p>This gets a list of all the <a href="#Session" title="org.freedesktop.ConsoleKit.Session">Sessions</a>
+ that are currently open for the specified user.</p><p>Each Session ID is an D-Bus object path for the object that implements the
+ <a href="#Session" title="org.freedesktop.ConsoleKit.Session">Session</a> interface.</p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>uid</code></em>:</span></dt><dd>User identification</dd><dt><span class="term"><em class="parameter"><code>sessions</code></em>:</span></dt><dd>an array of Session IDs</dd></dl></div><div class="refsect2" lang="en"><a name="id2862773"></a><h3><a name="Manager.GetSystemIdleHint"></a>GetSystemIdleHint ()</h3><a class="indexterm" name="id2862783"></a><pre class="programlisting">GetSystemIdleHint (out 'b' idle_hint)</pre></div><p>Returns TRUE if the <a href="#Session:idle-hint"><code class="literal">idle-hint</code></a>
+ property of every open session is TRUE or if there are no open sessions.
+ </p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>idle_hint</code></em>:</span></dt><dd>The value of the system-idle-hint</dd></dl></div><div class="refsect2" lang="en"><a name="id2862830"></a><h3><a name="Manager.GetSystemIdleSinceHint"></a>GetSystemIdleSinceHint ()</h3><a class="indexterm" name="id2862842"></a><pre class="programlisting">GetSystemIdleSinceHint (out 's' iso8601_datetime)</pre></div><p>Returns an ISO 8601 date-time string that corresponds to
+ the time of the last change of the system-idle-hint.
+ </p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>iso8601_datetime</code></em>:</span></dt><dd>An ISO 8601 format date-type string</dd></dl></div></div><div class="refsect1" lang="en"><a name="id2862877"></a><h2>Signal Details</h2><div class="refsect2" lang="en"><a name="id2862886"></a><h3><a name="Manager::SeatAdded"></a>The SeatAdded signal</h3><a class="indexterm" name="id2862896"></a><pre class="programlisting">SeatAdded ('o' sid)</pre></div><p>Emitted when a Seat has been added to the system.
+ </p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>sid</code></em>:</span></dt><dd>The Seat ID for the added seat</dd></dl></div><div class="refsect2" lang="en"><a name="id2862930"></a><h3><a name="Manager::SeatRemoved"></a>The SeatRemoved signal</h3><a class="indexterm" name="id2862940"></a><pre class="programlisting">SeatRemoved ('o' sid)</pre></div><p>Emitted when a Seat has been removed from the system.
+ </p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>sid</code></em>:</span></dt><dd>The Seat ID for the removed seat</dd></dl></div><div class="refsect2" lang="en"><a name="id2862974"></a><h3><a name="Manager::SystemIdleHintChanged"></a>The SystemIdleHintChanged signal</h3><a class="indexterm" name="id2862985"></a><pre class="programlisting">SystemIdleHintChanged ('b' hint)</pre></div><p>Emitted when the value of the system-idle-hint has changed.
+ </p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>hint</code></em>:</span></dt><dd>The value of the system-idle-hint</dd></dl></div></div><div class="refsect1" lang="en"><a name="id2863020"></a><h2>Property Details</h2></div></div><div class="refentry" lang="en"><div class="refentry.separator"><hr></div><a name="Seat"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.ConsoleKit.Seat &#8212; Seat interface</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis"><a href="#Seat.GetId">GetId</a> (out 'o' sid)
+<a href="#Seat.GetSessions">GetSessions</a> (out 'ao' sessions)
+<a href="#Seat.GetActiveSession">GetActiveSession</a> (out 'o' ssid)
+<a href="#Seat.ActivateSession">ActivateSession</a> (in 'o' ssid)
+</pre></div><div class="refsect1" lang="en"><a name="id2864183"></a><h2>Signals</h2><pre class="synopsis"><a href="#Seat::ActiveSessionChanged">ActiveSessionChanged</a> ('o' ssid)
+<a href="#Seat::SessionAdded">SessionAdded</a> ('o' ssid)
+<a href="#Seat::SessionRemoved">SessionRemoved</a> ('o' ssid)
+</pre></div><div class="refsect1" lang="en"><a name="id2864226"></a><h2>Implemented Interfaces</h2><p>org.freedesktop.ConsoleKit.Seat implements
org.freedesktop.DBus.Introspectable,
org.freedesktop.DBus.Properties
- </p></div><div class="refsect1" lang="en"><a name="id3025986"></a><h2>Properties</h2><pre class="synopsis"></pre></div><div class="refsect1" lang="en"><a name="id3026001"></a><h2>Description</h2><p></p></div><div class="refsect1" lang="en"><a name="id3026014"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id3026025"></a><h3><a name="Seat-GetId"></a>GetId ()</h3><a class="indexterm" name="id3026037"></a><pre class="programlisting">GetId (out 'o' sid)</pre></div><div class="refsect2" lang="en"><a name="id3026060"></a><h3><a name="Seat-GetSessions"></a>GetSessions ()</h3><a class="indexterm" name="id3026072"></a><pre class="programlisting">GetSessions (out 'ao' sessions)</pre></div><div class="refsect2" lang="en"><a name="id3026095"></a><h3><a name="Seat-GetActiveSession"></a>GetActiveSession ()</h3><a class="indexterm" name="id3026109"></a><pre class="programlisting">GetActiveSession (out 'o' ssid)</pre></div><div class="refsect2" lang="en"><a name="id3026132"></a><h3><a name="Seat-ActivateSession"></a>ActivateSession ()</h3><a class="indexterm" name="id3026145"></a><pre class="programlisting">ActivateSession (in 'o' ssid)</pre></div></div><div class="refsect1" lang="en"><a name="id3026169"></a><h2>Signal Details</h2><div class="refsect2" lang="en"><a name="id3026180"></a><h3><a name="Seat-signal-ActiveSessionChanged"></a>ActiveSessionChanged ()</h3><a class="indexterm" name="id3026194"></a><pre class="programlisting">ActiveSessionChanged ('o' sid)</pre></div><div class="refsect2" lang="en"><a name="id3026216"></a><h3><a name="Seat-signal-SessionAdded"></a>SessionAdded ()</h3><a class="indexterm" name="id3026230"></a><pre class="programlisting">SessionAdded ('o' sid)</pre></div><div class="refsect2" lang="en"><a name="id3026252"></a><h3><a name="Seat-signal-SessionRemoved"></a>SessionRemoved ()</h3><a class="indexterm" name="id3026265"></a><pre class="programlisting">SessionRemoved ('o' sid)</pre></div></div><div class="refsect1" lang="en"><a name="id3026289"></a><h2>Property Details</h2></div></div><div class="refentry" lang="en"><div class="refentry.separator"><hr></div><a name="Session"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.ConsoleKit.Session &#8212; Session interface</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis"><a href="#Session-GetId">GetId</a> (out 'o' ssid)
-<a href="#Session-GetSeatId">GetSeatId</a> (out 'o' sid)
-<a href="#Session-GetSessionType">GetSessionType</a> (out 's' type)
-<a href="#Session-GetUser">GetUser</a> (out 'i' uid)
-<a href="#Session-GetX11Display">GetX11Display</a> (out 's' display)
-<a href="#Session-GetX11DisplayDevice">GetX11DisplayDevice</a> (out 's' x11_display_device)
-<a href="#Session-GetDisplayDevice">GetDisplayDevice</a> (out 's' display_device)
-<a href="#Session-GetRemoteHostName">GetRemoteHostName</a> (out 's' remote_host_name)
-<a href="#Session-IsActive">IsActive</a> (out 'b' active)
-<a href="#Session-IsLocal">IsLocal</a> (out 'b' local)
-<a href="#Session-GetCreationTime">GetCreationTime</a> (out 's' iso8601_datetime)
-<a href="#Session-Activate">Activate</a> ()
-<a href="#Session-Lock">Lock</a> ()
-<a href="#Session-Unlock">Unlock</a> ()
-<a href="#Session-GetIdleHint">GetIdleHint</a> (out 'b' idle_hint)
-<a href="#Session-GetIdleSinceHint">GetIdleSinceHint</a> (out 's' iso8601_datetime)
-<a href="#Session-SetIdleHint">SetIdleHint</a> (in 'b' idle_hint)
-</pre></div><div class="refsect1" lang="en"><a name="id3026944"></a><h2>Signals</h2><pre class="synopsis"><a href="#Session-signal-ActiveChanged">ActiveChanged</a> ('b' is_active)
-<a href="#Session-signal-IdleHintChanged">IdleHintChanged</a> ('b' hint)
-<a href="#Session-signal-Lock">Lock</a> ()
-<a href="#Session-signal-Unlock">Unlock</a> ()
-</pre></div><div class="refsect1" lang="en"><a name="id3026995"></a><h2>Implemented Interfaces</h2><p>org.freedesktop.ConsoleKit.Session implements
+ </p></div><div class="refsect1" lang="en"><a name="id2864242"></a><h2>Properties</h2><pre class="synopsis"></pre></div><div class="refsect1" lang="en"><a name="id2864258"></a><h2>Description</h2><p>
+
+ </p><p>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.</p><p>
+
+ </p></div><div class="refsect1" lang="en"><a name="id2864279"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2864287"></a><h3><a name="Seat.GetId"></a>GetId ()</h3><a class="indexterm" name="id2864297"></a><pre class="programlisting">GetId (out 'o' sid)</pre></div>Returns the ID for Seat.
+ <div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>sid</code></em>:</span></dt><dd>Seat ID</dd></dl></div><div class="refsect2" lang="en"><a name="id2864326"></a><h3><a name="Seat.GetSessions"></a>GetSessions ()</h3><a class="indexterm" name="id2864336"></a><pre class="programlisting">GetSessions (out 'ao' sessions)</pre></div><p>This gets a list of all the <a href="#Session" title="org.freedesktop.ConsoleKit.Session">Sessions</a>
+ that are currently attached to this seat.</p><p>Each Session ID is an D-Bus object path for the object that implements the
+ <a href="#Session" title="org.freedesktop.ConsoleKit.Session">Session</a> interface.</p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>sessions</code></em>:</span></dt><dd>an array of Session IDs</dd></dl></div><div class="refsect2" lang="en"><a name="id2864389"></a><h3><a name="Seat.GetActiveSession"></a>GetActiveSession ()</h3><a class="indexterm" name="id2864400"></a><pre class="programlisting">GetActiveSession (out 'o' ssid)</pre></div><p>Gets the Session ID that is currently active on this Seat.</p><p>Returns NULL if there is no active session.</p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>ssid</code></em>:</span></dt><dd>Session ID</dd></dl></div><div class="refsect2" lang="en"><a name="id2864438"></a><h3><a name="Seat.ActivateSession"></a>ActivateSession ()</h3><a class="indexterm" name="id2864448"></a><pre class="programlisting">ActivateSession (in 'o' ssid)</pre></div><p>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.</p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>ssid</code></em>:</span></dt><dd>Session ID</dd></dl></div><p>
+See also:
+<a href="#Session.Activate"><code class="function">Activate()</code></a></p></div><div class="refsect1" lang="en"><a name="id2864498"></a><h2>Signal Details</h2><div class="refsect2" lang="en"><a name="id2864506"></a><h3><a name="Seat::ActiveSessionChanged"></a>The ActiveSessionChanged signal</h3><a class="indexterm" name="id2864517"></a><pre class="programlisting">ActiveSessionChanged ('o' ssid)</pre></div><p>Emitted when the active session has changed.</p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>ssid</code></em>:</span></dt><dd>Session ID</dd></dl></div><div class="refsect2" lang="en"><a name="id2864550"></a><h3><a name="Seat::SessionAdded"></a>The SessionAdded signal</h3><a class="indexterm" name="id2864561"></a><pre class="programlisting">SessionAdded ('o' ssid)</pre></div><p>Emitted when a session has been added to the seat.</p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>ssid</code></em>:</span></dt><dd>Session ID</dd></dl></div><div class="refsect2" lang="en"><a name="id2864594"></a><h3><a name="Seat::SessionRemoved"></a>The SessionRemoved signal</h3><a class="indexterm" name="id2864604"></a><pre class="programlisting">SessionRemoved ('o' ssid)</pre></div><p>Emitted when a session has been removed from the seat.</p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>ssid</code></em>:</span></dt><dd>Session ID</dd></dl></div></div><div class="refsect1" lang="en"><a name="id2864639"></a><h2>Property Details</h2></div></div><div class="refentry" lang="en"><div class="refentry.separator"><hr></div><a name="Session"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>org.freedesktop.ConsoleKit.Session &#8212; Session interface</p></div><div class="refsynopsisdiv"><h2>Methods</h2><pre class="synopsis"><a href="#Session.GetId">GetId</a> (out 'o' ssid)
+<a href="#Session.GetSeatId">GetSeatId</a> (out 'o' sid)
+<a href="#Session.GetSessionType">GetSessionType</a> (out 's' type)
+<a href="#Session.GetUser">GetUser</a> (out 'i' uid)
+<a href="#Session.GetX11Display">GetX11Display</a> (out 's' display)
+<a href="#Session.GetX11DisplayDevice">GetX11DisplayDevice</a> (out 's' x11_display_device)
+<a href="#Session.GetDisplayDevice">GetDisplayDevice</a> (out 's' display_device)
+<a href="#Session.GetRemoteHostName">GetRemoteHostName</a> (out 's' remote_host_name)
+<a href="#Session.IsActive">IsActive</a> (out 'b' active)
+<a href="#Session.IsLocal">IsLocal</a> (out 'b' local)
+<a href="#Session.GetCreationTime">GetCreationTime</a> (out 's' iso8601_datetime)
+<a href="#Session.Activate">Activate</a> ()
+<a href="#Session.Lock">Lock</a> ()
+<a href="#Session.Unlock">Unlock</a> ()
+<a href="#Session.GetIdleHint">GetIdleHint</a> (out 'b' idle_hint)
+<a href="#Session.GetIdleSinceHint">GetIdleSinceHint</a> (out 's' iso8601_datetime)
+<a href="#Session.SetIdleHint">SetIdleHint</a> (in 'b' idle_hint)
+</pre></div><div class="refsect1" lang="en"><a name="id2865373"></a><h2>Signals</h2><pre class="synopsis"><a href="#Session::ActiveChanged">ActiveChanged</a> ('b' is_active)
+<a href="#Session::IdleHintChanged">IdleHintChanged</a> ('b' hint)
+<a href="#Session::Lock">Lock</a> ()
+<a href="#Session::Unlock">Unlock</a> ()
+</pre></div><div class="refsect1" lang="en"><a name="id2865422"></a><h2>Implemented Interfaces</h2><p>org.freedesktop.ConsoleKit.Session implements
org.freedesktop.DBus.Introspectable,
org.freedesktop.DBus.Properties
- </p></div><div class="refsect1" lang="en"><a name="id3027012"></a><h2>Properties</h2><pre class="synopsis"><a href="#Session-property-user">'user'</a> readwrite 'u'
-<a href="#Session-property-session-type">'session-type'</a> readwrite 's'
-<a href="#Session-property-remote-host-name">'remote-host-name'</a> readwrite 's'
-<a href="#Session-property-display-device">'display-device'</a> readwrite 's'
-<a href="#Session-property-x11-display">'x11-display'</a> readwrite 's'
-<a href="#Session-property-x11-display-device">'x11-display-device'</a> readwrite 's'
-<a href="#Session-property-active">'active'</a> readwrite 'b'
-<a href="#Session-property-is-local">'is-local'</a> readwrite 'b'
-<a href="#Session-property-idle-hint">'idle-hint'</a> readwrite 'b'
-</pre></div><div class="refsect1" lang="en"><a name="id3027108"></a><h2>Description</h2><p></p></div><div class="refsect1" lang="en"><a name="id3027122"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id3027132"></a><h3><a name="Session-GetId"></a>GetId ()</h3><a class="indexterm" name="id3027144"></a><pre class="programlisting">GetId (out 'o' ssid)</pre></div><div class="refsect2" lang="en"><a name="id3027167"></a><h3><a name="Session-GetSeatId"></a>GetSeatId ()</h3><a class="indexterm" name="id3027180"></a><pre class="programlisting">GetSeatId (out 'o' sid)</pre></div><div class="refsect2" lang="en"><a name="id3027203"></a><h3><a name="Session-GetSessionType"></a>GetSessionType ()</h3><a class="indexterm" name="id3027216"></a><pre class="programlisting">GetSessionType (out 's' type)</pre></div><div class="refsect2" lang="en"><a name="id3027238"></a><h3><a name="Session-GetUser"></a>GetUser ()</h3><a class="indexterm" name="id3027251"></a><pre class="programlisting">GetUser (out 'i' uid)</pre></div><div class="refsect2" lang="en"><a name="id3027274"></a><h3><a name="Session-GetX11Display"></a>GetX11Display ()</h3><a class="indexterm" name="id3027287"></a><pre class="programlisting">GetX11Display (out 's' display)</pre></div><div class="refsect2" lang="en"><a name="id3027310"></a><h3><a name="Session-GetX11DisplayDevice"></a>GetX11DisplayDevice ()</h3><a class="indexterm" name="id3027323"></a><pre class="programlisting">GetX11DisplayDevice (out 's' x11_display_device)</pre></div><div class="refsect2" lang="en"><a name="id3027346"></a><h3><a name="Session-GetDisplayDevice"></a>GetDisplayDevice ()</h3><a class="indexterm" name="id3027359"></a><pre class="programlisting">GetDisplayDevice (out 's' display_device)</pre></div><div class="refsect2" lang="en"><a name="id3027383"></a><h3><a name="Session-GetRemoteHostName"></a>GetRemoteHostName ()</h3><a class="indexterm" name="id3027395"></a><pre class="programlisting">GetRemoteHostName (out 's' remote_host_name)</pre></div><div class="refsect2" lang="en"><a name="id3027419"></a><h3><a name="Session-IsActive"></a>IsActive ()</h3><a class="indexterm" name="id3027431"></a><pre class="programlisting">IsActive (out 'b' active)</pre></div><div class="refsect2" lang="en"><a name="id3027454"></a><h3><a name="Session-IsLocal"></a>IsLocal ()</h3><a class="indexterm" name="id3027467"></a><pre class="programlisting">IsLocal (out 'b' local)</pre></div><div class="refsect2" lang="en"><a name="id3027489"></a><h3><a name="Session-GetCreationTime"></a>GetCreationTime ()</h3><a class="indexterm" name="id3027503"></a><pre class="programlisting">GetCreationTime (out 's' iso8601_datetime)</pre></div><div class="refsect2" lang="en"><a name="id3027526"></a><h3><a name="Session-Activate"></a>Activate ()</h3><a class="indexterm" name="id3027538"></a><pre class="programlisting">Activate ()</pre></div><div class="refsect2" lang="en"><a name="id3027561"></a><h3><a name="Session-Lock"></a>Lock ()</h3><a class="indexterm" name="id3027573"></a><pre class="programlisting">Lock ()</pre></div><div class="refsect2" lang="en"><a name="id3027596"></a><h3><a name="Session-Unlock"></a>Unlock ()</h3><a class="indexterm" name="id3027608"></a><pre class="programlisting">Unlock ()</pre></div><div class="refsect2" lang="en"><a name="id3027631"></a><h3><a name="Session-GetIdleHint"></a>GetIdleHint ()</h3><a class="indexterm" name="id3027643"></a><pre class="programlisting">GetIdleHint (out 'b' idle_hint)</pre></div><div class="refsect2" lang="en"><a name="id3027666"></a><h3><a name="Session-GetIdleSinceHint"></a>GetIdleSinceHint ()</h3><a class="indexterm" name="id3027680"></a><pre class="programlisting">GetIdleSinceHint (out 's' iso8601_datetime)</pre></div><div class="refsect2" lang="en"><a name="id3027703"></a><h3><a name="Session-SetIdleHint"></a>SetIdleHint ()</h3><a class="indexterm" name="id3027715"></a><pre class="programlisting">SetIdleHint (in 'b' idle_hint)</pre></div></div><div class="refsect1" lang="en"><a name="id3027739"></a><h2>Signal Details</h2><div class="refsect2" lang="en"><a name="id3027750"></a><h3><a name="Session-signal-ActiveChanged"></a>ActiveChanged ()</h3><a class="indexterm" name="id3027763"></a><pre class="programlisting">ActiveChanged ('b' is_active)</pre></div><div class="refsect2" lang="en"><a name="id3027786"></a><h3><a name="Session-signal-IdleHintChanged"></a>IdleHintChanged ()</h3><a class="indexterm" name="id3027799"></a><pre class="programlisting">IdleHintChanged ('b' hint)</pre></div><div class="refsect2" lang="en"><a name="id3027823"></a><h3><a name="Session-signal-Lock"></a>Lock ()</h3><a class="indexterm" name="id3027835"></a><pre class="programlisting">Lock ()</pre></div><div class="refsect2" lang="en"><a name="id3027858"></a><h3><a name="Session-signal-Unlock"></a>Unlock ()</h3><a class="indexterm" name="id3027871"></a><pre class="programlisting">Unlock ()</pre></div></div><div class="refsect1" lang="en"><a name="id3027895"></a><h2>Property Details</h2><div class="refsect2" lang="en"><a name="id3027905"></a><h3><a name="Session-property-user"></a>'user'</h3><a class="indexterm" name="id3027918"></a><pre class="programlisting">'user' readwrite 'u'
-</pre></div><div class="refsect2" lang="en"><a name="id3027941"></a><h3><a name="Session-property-session-type"></a>'session-type'</h3><a class="indexterm" name="id3027954"></a><pre class="programlisting">'session-type' readwrite 's'
-</pre></div><div class="refsect2" lang="en"><a name="id3027976"></a><h3><a name="Session-property-remote-host-name"></a>'remote-host-name'</h3><a class="indexterm" name="id3027990"></a><pre class="programlisting">'remote-host-name' readwrite 's'
-</pre></div><div class="refsect2" lang="en"><a name="id3028013"></a><h3><a name="Session-property-display-device"></a>'display-device'</h3><a class="indexterm" name="id3028026"></a><pre class="programlisting">'display-device' readwrite 's'
-</pre></div><div class="refsect2" lang="en"><a name="id3028049"></a><h3><a name="Session-property-x11-display"></a>'x11-display'</h3><a class="indexterm" name="id3028063"></a><pre class="programlisting">'x11-display' readwrite 's'
-</pre></div><div class="refsect2" lang="en"><a name="id3028086"></a><h3><a name="Session-property-x11-display-device"></a>'x11-display-device'</h3><a class="indexterm" name="id3028100"></a><pre class="programlisting">'x11-display-device' readwrite 's'
-</pre></div><div class="refsect2" lang="en"><a name="id3028123"></a><h3><a name="Session-property-active"></a>'active'</h3><a class="indexterm" name="id3028136"></a><pre class="programlisting">'active' readwrite 'b'
-</pre></div><div class="refsect2" lang="en"><a name="id3028159"></a><h3><a name="Session-property-is-local"></a>'is-local'</h3><a class="indexterm" name="id3028172"></a><pre class="programlisting">'is-local' readwrite 'b'
-</pre></div><div class="refsect2" lang="en"><a name="id3028195"></a><h3><a name="Session-property-idle-hint"></a>'idle-hint'</h3><a class="indexterm" name="id3028208"></a><pre class="programlisting">'idle-hint' readwrite 'b'
-</pre></div></div></div></div></div><div class="index"><div class="titlepage"><div><div><h2 class="title"><a name="id3029093"></a>Index</h2></div></div></div><div class="index"><div class="indexdiv"><h3>A</h3><dl><dt>Activate</dt><dd><dl><dt>Session</dt><dd><dl><dt>method, <a href="#id3027526">Activate ()</a></dt></dl></dd></dl></dd><dt>ActivateSession</dt><dd><dl><dt>Seat</dt><dd><dl><dt>method, <a href="#id3026132">ActivateSession ()</a></dt></dl></dd></dl></dd><dt>active</dt><dd><dl><dt>Session</dt><dd><dl><dt>property, <a href="#id3028123">'active'</a></dt></dl></dd></dl></dd><dt>ActiveChanged</dt><dd><dl><dt>Session</dt><dd><dl><dt>signal, <a href="#id3027750">ActiveChanged ()</a></dt></dl></dd></dl></dd><dt>ActiveSessionChanged</dt><dd><dl><dt>Seat</dt><dd><dl><dt>signal, <a href="#id3026180">ActiveSessionChanged ()</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>C</h3><dl><dt>CloseSession</dt><dd><dl><dt>Manager</dt><dd><dl><dt>method, <a href="#id3024695">CloseSession ()</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>D</h3><dl><dt>display-device</dt><dd><dl><dt>Session</dt><dd><dl><dt>property, <a href="#id3028013">'display-device'</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>G</h3><dl><dt>GetActiveSession</dt><dd><dl><dt>Seat</dt><dd><dl><dt>method, <a href="#id3026095">GetActiveSession ()</a></dt></dl></dd></dl></dd><dt>GetCreationTime</dt><dd><dl><dt>Session</dt><dd><dl><dt>method, <a href="#id3027489">GetCreationTime ()</a></dt></dl></dd></dl></dd><dt>GetCurrentSession</dt><dd><dl><dt>Manager</dt><dd><dl><dt>method, <a href="#id3024767">GetCurrentSession ()</a></dt></dl></dd></dl></dd><dt>GetDisplayDevice</dt><dd><dl><dt>Session</dt><dd><dl><dt>method, <a href="#id3027346">GetDisplayDevice ()</a></dt></dl></dd></dl></dd><dt>GetId</dt><dd><dl><dt>Seat</dt><dd><dl><dt>method, <a href="#id3026025">GetId ()</a></dt></dl></dd><dt>Session</dt><dd><dl><dt>method, <a href="#id3027132">GetId ()</a></dt></dl></dd></dl></dd><dt>GetIdleHint</dt><dd><dl><dt>Session</dt><dd><dl><dt>method, <a href="#id3027631">GetIdleHint ()</a></dt></dl></dd></dl></dd><dt>GetIdleSinceHint</dt><dd><dl><dt>Session</dt><dd><dl><dt>method, <a href="#id3027666">GetIdleSinceHint ()</a></dt></dl></dd></dl></dd><dt>GetRemoteHostName</dt><dd><dl><dt>Session</dt><dd><dl><dt>method, <a href="#id3027383">GetRemoteHostName ()</a></dt></dl></dd></dl></dd><dt>GetSeatId</dt><dd><dl><dt>Session</dt><dd><dl><dt>method, <a href="#id3027167">GetSeatId ()</a></dt></dl></dd></dl></dd><dt>GetSeats</dt><dd><dl><dt>Manager</dt><dd><dl><dt>method, <a href="#id3024732">GetSeats ()</a></dt></dl></dd></dl></dd><dt>GetSessionForCookie</dt><dd><dl><dt>Manager</dt><dd><dl><dt>method, <a href="#id3024803">GetSessionForCookie ()</a></dt></dl></dd></dl></dd><dt>GetSessionForUnixProcess</dt><dd><dl><dt>Manager</dt><dd><dl><dt>method, <a href="#id3024840">GetSessionForUnixProcess ()</a></dt></dl></dd></dl></dd><dt>GetSessions</dt><dd><dl><dt>Seat</dt><dd><dl><dt>method, <a href="#id3026060">GetSessions ()</a></dt></dl></dd></dl></dd><dt>GetSessionsForUser</dt><dd><dl><dt>Manager</dt><dd><dl><dt>method, <a href="#id3024878">GetSessionsForUser ()</a></dt></dl></dd></dl></dd><dt>GetSessionType</dt><dd><dl><dt>Session</dt><dd><dl><dt>method, <a href="#id3027203">GetSessionType ()</a></dt></dl></dd></dl></dd><dt>GetSystemIdleHint</dt><dd><dl><dt>Manager</dt><dd><dl><dt>method, <a href="#id3024915">GetSystemIdleHint ()</a></dt></dl></dd></dl></dd><dt>GetSystemIdleSinceHint</dt><dd><dl><dt>Manager</dt><dd><dl><dt>method, <a href="#id3024950">GetSystemIdleSinceHint ()</a></dt></dl></dd></dl></dd><dt>GetUser</dt><dd><dl><dt>Session</dt><dd><dl><dt>method, <a href="#id3027238">GetUser ()</a></dt></dl></dd></dl></dd><dt>GetX11Display</dt><dd><dl><dt>Session</dt><dd><dl><dt>method, <a href="#id3027274">GetX11Display ()</a></dt></dl></dd></dl></dd><dt>GetX11DisplayDevice</dt><dd><dl><dt>Session</dt><dd><dl><dt>method, <a href="#id3027310">GetX11DisplayDevice ()</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>I</h3><dl><dt>idle-hint</dt><dd><dl><dt>Session</dt><dd><dl><dt>property, <a href="#id3028195">'idle-hint'</a></dt></dl></dd></dl></dd><dt>IdleHintChanged</dt><dd><dl><dt>Session</dt><dd><dl><dt>signal, <a href="#id3027786">IdleHintChanged ()</a></dt></dl></dd></dl></dd><dt>is-local</dt><dd><dl><dt>Session</dt><dd><dl><dt>property, <a href="#id3028159">'is-local'</a></dt></dl></dd></dl></dd><dt>IsActive</dt><dd><dl><dt>Session</dt><dd><dl><dt>method, <a href="#id3027419">IsActive ()</a></dt></dl></dd></dl></dd><dt>IsLocal</dt><dd><dl><dt>Session</dt><dd><dl><dt>method, <a href="#id3027454">IsLocal ()</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>L</h3><dl><dt>Lock</dt><dd><dl><dt>Session</dt><dd><dl><dt>method, <a href="#id3027561">Lock ()</a></dt><dt>signal, <a href="#id3027823">Lock ()</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>O</h3><dl><dt>OpenSession</dt><dd><dl><dt>Manager</dt><dd><dl><dt>method, <a href="#id3024622">OpenSession ()</a></dt></dl></dd></dl></dd><dt>OpenSessionWithParameters</dt><dd><dl><dt>Manager</dt><dd><dl><dt>method, <a href="#id3024658">OpenSessionWithParameters ()</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>R</h3><dl><dt>remote-host-name</dt><dd><dl><dt>Session</dt><dd><dl><dt>property, <a href="#id3027976">'remote-host-name'</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>S</h3><dl><dt>SeatAdded</dt><dd><dl><dt>Manager</dt><dd><dl><dt>signal, <a href="#id3024998">SeatAdded ()</a></dt></dl></dd></dl></dd><dt>SeatRemoved</dt><dd><dl><dt>Manager</dt><dd><dl><dt>signal, <a href="#id3025035">SeatRemoved ()</a></dt></dl></dd></dl></dd><dt>session-type</dt><dd><dl><dt>Session</dt><dd><dl><dt>property, <a href="#id3027941">'session-type'</a></dt></dl></dd></dl></dd><dt>SessionAdded</dt><dd><dl><dt>Seat</dt><dd><dl><dt>signal, <a href="#id3026216">SessionAdded ()</a></dt></dl></dd></dl></dd><dt>SessionRemoved</dt><dd><dl><dt>Seat</dt><dd><dl><dt>signal, <a href="#id3026252">SessionRemoved ()</a></dt></dl></dd></dl></dd><dt>SetIdleHint</dt><dd><dl><dt>Session</dt><dd><dl><dt>method, <a href="#id3027703">SetIdleHint ()</a></dt></dl></dd></dl></dd><dt>SystemIdleHintChanged</dt><dd><dl><dt>Manager</dt><dd><dl><dt>signal, <a href="#id3025070">SystemIdleHintChanged ()</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>U</h3><dl><dt>Unlock</dt><dd><dl><dt>Session</dt><dd><dl><dt>method, <a href="#id3027596">Unlock ()</a></dt><dt>signal, <a href="#id3027858">Unlock ()</a></dt></dl></dd></dl></dd><dt>user</dt><dd><dl><dt>Session</dt><dd><dl><dt>property, <a href="#id3027905">'user'</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>X</h3><dl><dt>x11-display</dt><dd><dl><dt>Session</dt><dd><dl><dt>property, <a href="#id3028049">'x11-display'</a></dt></dl></dd></dl></dd><dt>x11-display-device</dt><dd><dl><dt>Session</dt><dd><dl><dt>property, <a href="#id3028086">'x11-display-device'</a></dt></dl></dd></dl></dd></dl></div></div></div></div></body></html>
+ </p></div><div class="refsect1" lang="en"><a name="id2865439"></a><h2>Properties</h2><pre class="synopsis"><a href="#Session:user">'user'</a> readwrite 'u'
+<a href="#Session:session-type">'session-type'</a> readwrite 's'
+<a href="#Session:remote-host-name">'remote-host-name'</a> readwrite 's'
+<a href="#Session:display-device">'display-device'</a> readwrite 's'
+<a href="#Session:x11-display">'x11-display'</a> readwrite 's'
+<a href="#Session:x11-display-device">'x11-display-device'</a> readwrite 's'
+<a href="#Session:active">'active'</a> readwrite 'b'
+<a href="#Session:is-local">'is-local'</a> readwrite 'b'
+<a href="#Session:idle-hint">'idle-hint'</a> readwrite 'b'
+</pre></div><div class="refsect1" lang="en"><a name="id2865531"></a><h2>Description</h2><p>
+
+ </p><p>Session objects represent and store information
+ related to a user session.
+ </p><p>
+ </p><p>The properties associated with the Session
+ specifically refer to the properties of the "session leader".
+ </p><p>
+
+ </p></div><div class="refsect1" lang="en"><a name="id2865555"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2865563"></a><h3><a name="Session.GetId"></a>GetId ()</h3><a class="indexterm" name="id2865574"></a><pre class="programlisting">GetId (out 'o' ssid)</pre></div><p>Returns the ID for Session.</p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>ssid</code></em>:</span></dt><dd>Session ID</dd></dl></div><div class="refsect2" lang="en"><a name="id2865605"></a><h3><a name="Session.GetSeatId"></a>GetSeatId ()</h3><a class="indexterm" name="id2865616"></a><pre class="programlisting">GetSeatId (out 'o' sid)</pre></div><p>Returns the ID for the Seat the Session is
+ attached to.</p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>sid</code></em>:</span></dt><dd>Seat ID</dd></dl></div><p>
+See also:
+<a href="#Seat" title="org.freedesktop.ConsoleKit.Seat">org.freedesktop.ConsoleKit.Seat</a></p><div class="refsect2" lang="en"><a name="id2865657"></a><h3><a name="Session.GetSessionType"></a>GetSessionType ()</h3><a class="indexterm" name="id2865667"></a><pre class="programlisting">GetSessionType (out 's' type)</pre></div><p>Returns the type of the session.</p><p>Warning: we haven't yet defined the allowed values for this property.
+ It is probably best to avoid this until we do.
+ </p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>type</code></em>:</span></dt><dd>Session type</dd></dl></div><p>
+See also:
+<a href="#Session:session-type"><code class="literal">session-type</code></a></p><div class="refsect2" lang="en"><a name="id2865718"></a><h3><a name="Session.GetUser"></a>GetUser ()</h3><a class="indexterm" name="id2865728"></a><pre class="programlisting">GetUser (out 'i' uid)</pre></div><p>Returns the user that the session belongs to.</p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>uid</code></em>:</span></dt><dd>User ID</dd></dl></div><p>
+See also:
+<a href="#Session:user"><code class="literal">user</code></a></p><div class="refsect2" lang="en"><a name="id2865772"></a><h3><a name="Session.GetX11Display"></a>GetX11Display ()</h3><a class="indexterm" name="id2865782"></a><pre class="programlisting">GetX11Display (out 's' display)</pre></div><p>Returns the value of the X11 DISPLAY for this session
+ if one is present.</p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>display</code></em>:</span></dt><dd>The value of the X11 display</dd></dl></div><p>
+See also:
+<a href="#Session:x11-display"><code class="literal">x11-display</code></a></p><div class="refsect2" lang="en"><a name="id2865827"></a><h3><a name="Session.GetX11DisplayDevice"></a>GetX11DisplayDevice ()</h3><a class="indexterm" name="id2865838"></a><pre class="programlisting">GetX11DisplayDevice (out 's' x11_display_device)</pre></div><p>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.</p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>x11_display_device</code></em>:</span></dt><dd>The value of the X11 display device</dd></dl></div><p>
+See also:
+<a href="#Session:x11-display-device"><code class="literal">x11-display-device</code></a></p><div class="refsect2" lang="en"><a name="id2865886"></a><h3><a name="Session.GetDisplayDevice"></a>GetDisplayDevice ()</h3><a class="indexterm" name="id2865897"></a><pre class="programlisting">GetDisplayDevice (out 's' display_device)</pre></div><p>Returns the value of the display device (aka TTY) that the
+ session is connected to.</p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>display_device</code></em>:</span></dt><dd>The value of the display device</dd></dl></div><p>
+See also:
+<a href="#Session:display-device"><code class="literal">display-device</code></a></p><div class="refsect2" lang="en"><a name="id2865942"></a><h3><a name="Session.GetRemoteHostName"></a>GetRemoteHostName ()</h3><a class="indexterm" name="id2865953"></a><pre class="programlisting">GetRemoteHostName (out 's' remote_host_name)</pre></div><p>Returns the value of the remote host name for the session.
+ </p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>remote_host_name</code></em>:</span></dt><dd>The remote host name</dd></dl></div><p>
+See also:
+<a href="#Session:remote-host-name"><code class="literal">remote-host-name</code></a></p><div class="refsect2" lang="en"><a name="id2865999"></a><h3><a name="Session.IsActive"></a>IsActive ()</h3><a class="indexterm" name="id2866009"></a><pre class="programlisting">IsActive (out 'b' active)</pre></div><p>Returns whether the session is active on the Seat that
+ it is attached to.</p><p>If the session is not attached to a seat this value is undefined.
+ </p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>active</code></em>:</span></dt><dd>TRUE if the session is active, otherwise FALSE</dd></dl></div><p>
+See also:
+<a href="#Session:active"><code class="literal">active</code></a></p><div class="refsect2" lang="en"><a name="id2866058"></a><h3><a name="Session.IsLocal"></a>IsLocal ()</h3><a class="indexterm" name="id2866068"></a><pre class="programlisting">IsLocal (out 'b' local)</pre></div><p>Returns whether the session is local</p><p>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.
+ </p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>local</code></em>:</span></dt><dd>TRUE if the session is local, otherwise FALSE</dd></dl></div><p>
+See also:
+<a href="#Session:is-local"><code class="literal">is-local</code></a></p><div class="refsect2" lang="en"><a name="id2866119"></a><h3><a name="Session.GetCreationTime"></a>GetCreationTime ()</h3><a class="indexterm" name="id2866129"></a><pre class="programlisting">GetCreationTime (out 's' iso8601_datetime)</pre></div><p>Returns an ISO 8601 date-time string that corresponds to
+ the time that the session was opened.
+ </p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>iso8601_datetime</code></em>:</span></dt><dd>An ISO 8601 format date-type string</dd></dl></div><div class="refsect2" lang="en"><a name="id2866164"></a><h3><a name="Session.Activate"></a>Activate ()</h3><a class="indexterm" name="id2866174"></a><pre class="programlisting">Activate ()</pre></div><p>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.</p><div class="variablelist"><dl></dl></div><p>
+See also:
+<a href="#Seat.ActivateSession"><code class="function">Seat.ActivateSession()</code></a></p><div class="refsect2" lang="en"><a name="id2866210"></a><h3><a name="Session.Lock"></a>Lock ()</h3><a class="indexterm" name="id2866221"></a><pre class="programlisting">Lock ()</pre></div><p>This will cause a <a href="#Session::Lock"><code class="literal">Lock</code></a>
+ signal to be emitted for this session.
+ </p><div class="variablelist"><dl></dl></div><p>
+See also:
+<a href="#Session::Lock"><code class="literal">Lock signal</code></a></p><div class="refsect2" lang="en"><a name="id2866265"></a><h3><a name="Session.Unlock"></a>Unlock ()</h3><a class="indexterm" name="id2866275"></a><pre class="programlisting">Unlock ()</pre></div><p>This will cause an <a href="#Session::Unlock"><code class="literal">Unlock</code></a>
+ signal to be emitted for this session.
+ </p><p>This can be used by login managers to unlock a session before it is
+ re-activated during fast-user-switching.
+ </p><div class="variablelist"><dl></dl></div><p>
+See also:
+<a href="#Session::Unlock"><code class="literal">Unlock signal</code></a></p><div class="refsect2" lang="en"><a name="id2866324"></a><h3><a name="Session.GetIdleHint"></a>GetIdleHint ()</h3><a class="indexterm" name="id2866334"></a><pre class="programlisting">GetIdleHint (out 'b' idle_hint)</pre></div><p>Gets the value of the <a href="#Session:idle-hint"><code class="literal">idle-hint</code></a>
+ property.
+ </p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>idle_hint</code></em>:</span></dt><dd>The value of the idle-hint</dd></dl></div><p>
+See also:
+<a href="#Session:idle-hint"><code class="literal">idle-hint</code></a></p><div class="refsect2" lang="en"><a name="id2866390"></a><h3><a name="Session.GetIdleSinceHint"></a>GetIdleSinceHint ()</h3><a class="indexterm" name="id2866401"></a><pre class="programlisting">GetIdleSinceHint (out 's' iso8601_datetime)</pre></div><p>Returns an ISO 8601 date-time string that corresponds to
+ the time of the last change of the idle-hint.
+ </p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>iso8601_datetime</code></em>:</span></dt><dd>An ISO 8601 format date-type string</dd></dl></div><div class="refsect2" lang="en"><a name="id2866436"></a><h3><a name="Session.SetIdleHint"></a>SetIdleHint ()</h3><a class="indexterm" name="id2866446"></a><pre class="programlisting">SetIdleHint (in 'b' idle_hint)</pre></div><p>This may be used by the session to indicate that
+ it is idle.
+ </p><p>Use of this method is restricted to the user
+ that owns the session.</p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>idle_hint</code></em>:</span></dt><dd>boolean value to set the idle-hint to</dd></dl></div></div><div class="refsect1" lang="en"><a name="id2866486"></a><h2>Signal Details</h2><div class="refsect2" lang="en"><a name="id2866494"></a><h3><a name="Session::ActiveChanged"></a>The ActiveChanged signal</h3><a class="indexterm" name="id2866505"></a><pre class="programlisting">ActiveChanged ('b' is_active)</pre></div><p>Emitted when the active property has changed.</p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>is_active</code></em>:</span></dt><dd>TRUE if the session is active, otherwise FALSE</dd></dl></div><div class="refsect2" lang="en"><a name="id2866539"></a><h3><a name="Session::IdleHintChanged"></a>The IdleHintChanged signal</h3><a class="indexterm" name="id2866550"></a><pre class="programlisting">IdleHintChanged ('b' hint)</pre></div><p>Emitted when the idle-hint property has changed.</p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>hint</code></em>:</span></dt><dd>the new value of idle-hint</dd></dl></div><div class="refsect2" lang="en"><a name="id2866583"></a><h3><a name="Session::Lock"></a>The Lock signal</h3><a class="indexterm" name="id2866593"></a><pre class="programlisting">Lock ()</pre></div><p>Emitted in response to a call to the <a href="#Session.Lock"><code class="function">Lock()</code></a> method.</p><p>It is intended that the screensaver for the session should lock the screen in response to this signal.</p><div class="variablelist"><dl></dl></div><div class="refsect2" lang="en"><a name="id2866631"></a><h3><a name="Session::Unlock"></a>The Unlock signal</h3><a class="indexterm" name="id2866640"></a><pre class="programlisting">Unlock ()</pre></div><p>Emitted in response to a call to the <a href="#Session.Unlock"><code class="function">Unlock()</code></a> method.</p><p>It is intended that the screensaver for the session should unlock the screen in response to this signal.</p><div class="variablelist"><dl></dl></div></div><div class="refsect1" lang="en"><a name="id2866679"></a><h2>Property Details</h2><div class="refsect2" lang="en"><a name="id2866687"></a><h3><a name="Session:user"></a>The "user" property</h3><a class="indexterm" name="id2866697"></a><pre class="programlisting">'user' readwrite 'u'
+</pre></div><p>The user assigned to the session.</p><div class="variablelist"><dl></dl></div><div class="refsect2" lang="en"><a name="id2866719"></a><h3><a name="Session:session-type"></a>The "session-type" property</h3><a class="indexterm" name="id2866729"></a><pre class="programlisting">'session-type' readwrite 's'
+</pre></div><p>The type of the session.</p><p>Warning: we haven't yet defined the allowed values for this property.
+ It is probably best to avoid this until we do.
+ </p><div class="variablelist"><dl></dl></div><div class="refsect2" lang="en"><a name="id2866757"></a><h3><a name="Session:remote-host-name"></a>The "remote-host-name" property</h3><a class="indexterm" name="id2866768"></a><pre class="programlisting">'remote-host-name' readwrite 's'
+</pre></div><p>The remote host name for the session.
+ </p><p>This will be set in situations where the session is
+ opened and controlled from a remote system.
+ </p><p>For example, this value will be set when the
+ session is created from an SSH or XDMCP connection.
+ </p><div class="variablelist"><dl></dl></div><div class="refsect2" lang="en"><a name="id2866801"></a><h3><a name="Session:display-device"></a>The "display-device" property</h3><a class="indexterm" name="id2866811"></a><pre class="programlisting">'display-device' readwrite 's'
+</pre></div><p>The display device (aka TTY) that the
+ session is connected to.
+ </p><div class="variablelist"><dl></dl></div><div class="refsect2" lang="en"><a name="id2866834"></a><h3><a name="Session:x11-display"></a>The "x11-display" property</h3><a class="indexterm" name="id2866844"></a><pre class="programlisting">'x11-display' readwrite 's'
+</pre></div><p>Value of the X11 DISPLAY for this session
+ if one is present.
+ </p><div class="variablelist"><dl></dl></div><div class="refsect2" lang="en"><a name="id2866866"></a><h3><a name="Session:x11-display-device"></a>The "x11-display-device" property</h3><a class="indexterm" name="id2866878"></a><pre class="programlisting">'x11-display-device' readwrite 's'
+</pre></div><p>
+ 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.
+ </p><div class="variablelist"><dl></dl></div><div class="refsect2" lang="en"><a name="id2866902"></a><h3><a name="Session:active"></a>The "active" property</h3><a class="indexterm" name="id2866912"></a><pre class="programlisting">'active' readwrite 'b'
+</pre></div><p>
+ Whether the session is active on the Seat that
+ it is attached to.</p><p>If the session is not attached to a seat this value is undefined.
+ </p><div class="variablelist"><dl></dl></div><div class="refsect2" lang="en"><a name="id2866939"></a><h3><a name="Session:is-local"></a>The "is-local" property</h3><a class="indexterm" name="id2866950"></a><pre class="programlisting">'is-local' readwrite 'b'
+</pre></div><p>
+ Whether the session is local</p><p>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.
+ </p><div class="variablelist"><dl></dl></div><div class="refsect2" lang="en"><a name="id2866977"></a><h3><a name="Session:idle-hint"></a>The "idle-hint" property</h3><a class="indexterm" name="id2866989"></a><pre class="programlisting">'idle-hint' readwrite 'b'
+</pre></div><p>
+ This is a hint used to indicate that the session may be idle.
+ </p><p>
+ For sessions with a <a href="#Session:x11-display"><code class="literal">x11-display</code></a> set (ie. graphical
+ sessions), it is up to each session to delegate the
+ responsibility for updating this value. Typically, the
+ screensaver will set this.
+ </p><p>However, for non-graphical sessions with a <a href="#Session:display-device"><code class="literal">display-device</code></a> set
+ the Session object itself will periodically update this value based
+ on the activity detected on the display-device itself.
+ </p><p>
+ This should not be considered authoritative.
+ </p><div class="variablelist"><dl></dl></div></div></div></div></div><div class="index"><div class="titlepage"><div><div><h2 class="title"><a name="id2868235"></a>Index</h2></div></div></div><div class="index"><div class="indexdiv"><h3>A</h3><dl><dt>Activate</dt><dd><dl><dt>Session, <a href="#id2866164">Activate ()</a></dt></dl></dd><dt>ActivateSession</dt><dd><dl><dt>Seat, <a href="#id2864438">ActivateSession ()</a></dt></dl></dd><dt>active</dt><dd><dl><dt>Session, <a href="#id2866902">The "active" property</a></dt></dl></dd><dt>ActiveChanged</dt><dd><dl><dt>Session, <a href="#id2866494">The ActiveChanged signal</a></dt></dl></dd><dt>ActiveSessionChanged</dt><dd><dl><dt>Seat, <a href="#id2864506">The ActiveSessionChanged signal</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>C</h3><dl><dt>CloseSession</dt><dd><dl><dt>Manager, <a href="#id2862389">CloseSession ()</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>D</h3><dl><dt>display-device</dt><dd><dl><dt>Session, <a href="#id2866801">The "display-device" property</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>G</h3><dl><dt>GetActiveSession</dt><dd><dl><dt>Seat, <a href="#id2864389">GetActiveSession ()</a></dt></dl></dd><dt>GetCreationTime</dt><dd><dl><dt>Session, <a href="#id2866119">GetCreationTime ()</a></dt></dl></dd><dt>GetCurrentSession</dt><dd><dl><dt>Manager, <a href="#id2862639">GetCurrentSession ()</a></dt></dl></dd><dt>GetDisplayDevice</dt><dd><dl><dt>Session, <a href="#id2865886">GetDisplayDevice ()</a></dt></dl></dd><dt>GetId</dt><dd><dl><dt>Seat, <a href="#id2864287">GetId ()</a></dt><dt>Session, <a href="#id2865563">GetId ()</a></dt></dl></dd><dt>GetIdleHint</dt><dd><dl><dt>Session, <a href="#id2866324">GetIdleHint ()</a></dt></dl></dd><dt>GetIdleSinceHint</dt><dd><dl><dt>Session, <a href="#id2866390">GetIdleSinceHint ()</a></dt></dl></dd><dt>GetRemoteHostName</dt><dd><dl><dt>Session, <a href="#id2865942">GetRemoteHostName ()</a></dt></dl></dd><dt>GetSeatId</dt><dd><dl><dt>Session, <a href="#id2865605">GetSeatId ()</a></dt></dl></dd><dt>GetSeats</dt><dd><dl><dt>Manager, <a href="#id2862451">GetSeats ()</a></dt></dl></dd><dt>GetSessionForCookie</dt><dd><dl><dt>Manager, <a href="#id2862522">GetSessionForCookie ()</a></dt></dl></dd><dt>GetSessionForUnixProcess</dt><dd><dl><dt>Manager, <a href="#id2862580">GetSessionForUnixProcess ()</a></dt></dl></dd><dt>GetSessions</dt><dd><dl><dt>Seat, <a href="#id2864326">GetSessions ()</a></dt></dl></dd><dt>GetSessionsForUser</dt><dd><dl><dt>Manager, <a href="#id2862697">GetSessionsForUser ()</a></dt></dl></dd><dt>GetSessionType</dt><dd><dl><dt>Session, <a href="#id2865657">GetSessionType ()</a></dt></dl></dd><dt>GetSystemIdleHint</dt><dd><dl><dt>Manager, <a href="#id2862773">GetSystemIdleHint ()</a></dt></dl></dd><dt>GetSystemIdleSinceHint</dt><dd><dl><dt>Manager, <a href="#id2862830">GetSystemIdleSinceHint ()</a></dt></dl></dd><dt>GetUser</dt><dd><dl><dt>Session, <a href="#id2865718">GetUser ()</a></dt></dl></dd><dt>GetX11Display</dt><dd><dl><dt>Session, <a href="#id2865772">GetX11Display ()</a></dt></dl></dd><dt>GetX11DisplayDevice</dt><dd><dl><dt>Session, <a href="#id2865827">GetX11DisplayDevice ()</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>I</h3><dl><dt>idle-hint</dt><dd><dl><dt>Session, <a href="#id2866977">The "idle-hint" property</a></dt></dl></dd><dt>IdleHintChanged</dt><dd><dl><dt>Session, <a href="#id2866539">The IdleHintChanged signal</a></dt></dl></dd><dt>is-local</dt><dd><dl><dt>Session, <a href="#id2866939">The "is-local" property</a></dt></dl></dd><dt>IsActive</dt><dd><dl><dt>Session, <a href="#id2865999">IsActive ()</a></dt></dl></dd><dt>IsLocal</dt><dd><dl><dt>Session, <a href="#id2866058">IsLocal ()</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>L</h3><dl><dt>Lock</dt><dd><dl><dt>Session, <a href="#id2866210">Lock ()</a>, <a href="#id2866583">The Lock signal</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>O</h3><dl><dt>OpenSession</dt><dd><dl><dt>Manager, <a href="#id2862147">OpenSession ()</a></dt></dl></dd><dt>OpenSessionWithParameters</dt><dd><dl><dt>Manager, <a href="#id2862272">OpenSessionWithParameters ()</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>R</h3><dl><dt>remote-host-name</dt><dd><dl><dt>Session, <a href="#id2866757">The "remote-host-name" property</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>S</h3><dl><dt>SeatAdded</dt><dd><dl><dt>Manager, <a href="#id2862886">The SeatAdded signal</a></dt></dl></dd><dt>SeatRemoved</dt><dd><dl><dt>Manager, <a href="#id2862930">The SeatRemoved signal</a></dt></dl></dd><dt>session-type</dt><dd><dl><dt>Session, <a href="#id2866719">The "session-type" property</a></dt></dl></dd><dt>SessionAdded</dt><dd><dl><dt>Seat, <a href="#id2864550">The SessionAdded signal</a></dt></dl></dd><dt>SessionRemoved</dt><dd><dl><dt>Seat, <a href="#id2864594">The SessionRemoved signal</a></dt></dl></dd><dt>SetIdleHint</dt><dd><dl><dt>Session, <a href="#id2866436">SetIdleHint ()</a></dt></dl></dd><dt>SystemIdleHintChanged</dt><dd><dl><dt>Manager, <a href="#id2862974">The SystemIdleHintChanged signal</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>U</h3><dl><dt>Unlock</dt><dd><dl><dt>Session, <a href="#id2866265">Unlock ()</a>, <a href="#id2866631">The Unlock signal</a></dt></dl></dd><dt>user</dt><dd><dl><dt>Session, <a href="#id2866687">The "user" property</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>X</h3><dl><dt>x11-display</dt><dd><dl><dt>Session, <a href="#id2866834">The "x11-display" property</a></dt></dl></dd><dt>x11-display-device</dt><dd><dl><dt>Session, <a href="#id2866866">The "x11-display-device" property</a></dt></dl></dd></dl></div></div></div></div></body></html>
diff --git a/doc/ConsoleKit.xml.in b/doc/ConsoleKit.xml.in
index fca0aa4..3aa5fbf 100644
--- a/doc/ConsoleKit.xml.in
+++ b/doc/ConsoleKit.xml.in
@@ -1,8 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
-<!ENTITY dbus-Manager SYSTEM "./ref-ck-manager.xml">
-<!ENTITY dbus-Seat SYSTEM "./ref-ck-seat.xml">
-<!ENTITY dbus-Session SYSTEM "./ref-ck-session.xml">
+<!ENTITY dbus-Manager SYSTEM "xml/ref-ck-manager.xml">
+<!ENTITY dbus-Seat SYSTEM "xml/ref-ck-seat.xml">
+<!ENTITY dbus-Session SYSTEM "xml/ref-ck-session.xml">
+<!ENTITY Intro SYSTEM "xml/ck-introduction.xml">
]>
<book id="index">
@@ -32,7 +33,7 @@
<part>
<title>Concepts</title>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ck-introduction.xml" />
+ &Intro;
</part>
<part>
diff --git a/doc/Makefile.am b/doc/Makefile.am
index c7ac22a..a291f01 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -2,10 +2,10 @@ NULL =
SPEC_XML_FILES = \
ConsoleKit.xml \
- ck-introduction.xml \
- ref-ck-manager.xml \
- ref-ck-seat.xml \
- ref-ck-session.xml \
+ xml/ck-introduction.xml \
+ xml/ref-ck-manager.xml \
+ xml/ref-ck-seat.xml \
+ xml/ref-ck-session.xml \
$(NULL)
if DOCBOOK_DOCS_ENABLED
diff --git a/doc/dbus-introspect-docs.dtd b/doc/dbus-introspect-docs.dtd
new file mode 100644
index 0000000..ce7204e
--- /dev/null
+++ b/doc/dbus-introspect-docs.dtd
@@ -0,0 +1,31 @@
+<!-- DTD for D-Bus Introspection Documentation -->
+
+<!ELEMENT documentation (summary?,description?,errors?,permission?,since?,deprecated,seealso?)>
+
+<!ELEMENT summary (#PCDATA|ref)*>
+<!ELEMENT description (#PCDATA|para|example)*>
+<!ELEMENT errors (error)*>
+<!ELEMENT permission (#PCDATA|ref|para)*>
+<!ELEMENT since EMPTY>
+<!ATTLIST since version CDATA #REQUIRED>
+<!ELEMENT deprecated EMPTY>
+<!ATTLIST deprecated version CDATA #REQUIRED>
+<!ELEMENT seealso (ref+)>
+
+<!ELEMENT error (#PCDATA|para)*>
+<!ATTLIST error name CDATA #REQUIRED>
+<!ELEMENT para (#PCDATA|example|code|list|ref)*>
+<!ELEMENT example (#PCDATA|para|code|ref)*>
+<!ATTLIST language (c|glib|python|shell) #REQUIRED>
+<!ATTLIST title CDATA #IMPLIED>
+<!ELEMENT list (listheader?, item*)>
+<!ATTLIST list type (bullet|number|table) #REQUIRED>
+<!ELEMENT item (term|definition)*>
+<!ELEMENT term (#PCDATA|ref)*>
+<!ELEMENT definition (#PCDATA|para)*>
+
+<!ELEMENT code (#PCDATA)>
+<!ATTLIST code lang CDATA #IMPLIED>
+<!ELEMENT ref CDATA>
+<!ATTLIST ref type (parameter|arg|signal|method|interface) #REQUIRED>
+<!ATTLIST ref to CDATA #REQUIRED>
diff --git a/doc/docbook.css b/doc/docbook.css
index f1ee7e1..6a7373e 100644
--- a/doc/docbook.css
+++ b/doc/docbook.css
@@ -5,6 +5,11 @@ body
h1.title
{
}
+.permission
+{
+ color: #ee0000;
+ text-decoration: underline;
+}
.synopsis, .classsynopsis
{
background: #eeeeee;
diff --git a/doc/ref-ck-manager.xml b/doc/ref-ck-manager.xml
deleted file mode 100644
index c2392f3..0000000
--- a/doc/ref-ck-manager.xml
+++ /dev/null
@@ -1,181 +0,0 @@
-<refentry id="Manager">
- <refmeta>
- <refentrytitle role="top_of_page">org.freedesktop.ConsoleKit.Manager</refentrytitle>
- </refmeta>
- <refnamediv>
- <refname>org.freedesktop.ConsoleKit.Manager</refname>
- <refpurpose>Manager interface</refpurpose>
- </refnamediv>
- <refsynopsisdiv role="synopsis">
- <title role="synopsis.title">Methods</title>
- <synopsis><link linkend="Manager-OpenSession">OpenSession</link> (out 's' cookie)
-<link linkend="Manager-OpenSessionWithParameters">OpenSessionWithParameters</link> (in 'a(sv)' parameters,
- out 's' cookie)
-<link linkend="Manager-CloseSession">CloseSession</link> (in 's' cookie,
- out 'b' result)
-<link linkend="Manager-GetSeats">GetSeats</link> (out 'ao' seats)
-<link linkend="Manager-GetCurrentSession">GetCurrentSession</link> (out 'o' ssid)
-<link linkend="Manager-GetSessionForCookie">GetSessionForCookie</link> (in 's' cookie,
- out 'o' ssid)
-<link linkend="Manager-GetSessionForUnixProcess">GetSessionForUnixProcess</link> (in 'u' pid,
- out 'o' ssid)
-<link linkend="Manager-GetSessionsForUser">GetSessionsForUser</link> (in 'u' uid,
- out 'ao' sessions)
-<link linkend="Manager-GetSystemIdleHint">GetSystemIdleHint</link> (out 'b' idle_hint)
-<link linkend="Manager-GetSystemIdleSinceHint">GetSystemIdleSinceHint</link> (out 's' iso8601_datetime)
-</synopsis>
- </refsynopsisdiv>
- <refsect1 role="signal_proto">
- <title role="signal_proto.title">Signals</title>
- <synopsis><link linkend="Manager-signal-SeatAdded">SeatAdded</link> ('o' sid)
-<link linkend="Manager-signal-SeatRemoved">SeatRemoved</link> ('o' sid)
-<link linkend="Manager-signal-SystemIdleHintChanged">SystemIdleHintChanged</link> ('b' hint)
-</synopsis>
- </refsect1>
- <refsect1 role="impl_interfaces">
- <title role="impl_interfaces.title">Implemented Interfaces</title>
- <para>org.freedesktop.ConsoleKit.Manager implements
- org.freedesktop.DBus.Introspectable,
- org.freedesktop.DBus.Properties
- </para>
- </refsect1>
- <refsect1 role="properties">
- <title role="properties.title">Properties</title>
- <synopsis/>
- </refsect1>
- <refsect1 role="desc">
- <title role="desc.title">Description</title>
- <para/>
- </refsect1>
- <refsect1 role="details">
- <title role="details.title">Details</title>
- <refsect2>
- <title><anchor role="function" id="Manager-OpenSession"/>OpenSession ()</title>
- <indexterm>
- <primary>OpenSession</primary>
- <secondary>Manager</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>OpenSession (out 's' cookie)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Manager-OpenSessionWithParameters"/>OpenSessionWithParameters ()</title>
- <indexterm>
- <primary>OpenSessionWithParameters</primary>
- <secondary>Manager</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>OpenSessionWithParameters (in 'a(sv)' parameters,
- out 's' cookie)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Manager-CloseSession"/>CloseSession ()</title>
- <indexterm>
- <primary>CloseSession</primary>
- <secondary>Manager</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>CloseSession (in 's' cookie,
- out 'b' result)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Manager-GetSeats"/>GetSeats ()</title>
- <indexterm>
- <primary>GetSeats</primary>
- <secondary>Manager</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>GetSeats (out 'ao' seats)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Manager-GetCurrentSession"/>GetCurrentSession ()</title>
- <indexterm>
- <primary>GetCurrentSession</primary>
- <secondary>Manager</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>GetCurrentSession (out 'o' ssid)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Manager-GetSessionForCookie"/>GetSessionForCookie ()</title>
- <indexterm>
- <primary>GetSessionForCookie</primary>
- <secondary>Manager</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>GetSessionForCookie (in 's' cookie,
- out 'o' ssid)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Manager-GetSessionForUnixProcess"/>GetSessionForUnixProcess ()</title>
- <indexterm>
- <primary>GetSessionForUnixProcess</primary>
- <secondary>Manager</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>GetSessionForUnixProcess (in 'u' pid,
- out 'o' ssid)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Manager-GetSessionsForUser"/>GetSessionsForUser ()</title>
- <indexterm>
- <primary>GetSessionsForUser</primary>
- <secondary>Manager</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>GetSessionsForUser (in 'u' uid,
- out 'ao' sessions)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Manager-GetSystemIdleHint"/>GetSystemIdleHint ()</title>
- <indexterm>
- <primary>GetSystemIdleHint</primary>
- <secondary>Manager</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>GetSystemIdleHint (out 'b' idle_hint)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Manager-GetSystemIdleSinceHint"/>GetSystemIdleSinceHint ()</title>
- <indexterm>
- <primary>GetSystemIdleSinceHint</primary>
- <secondary>Manager</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>GetSystemIdleSinceHint (out 's' iso8601_datetime)</programlisting>
- </refsect2>
- </refsect1>
- <refsect1 role="signals">
- <title role="signals.title">Signal Details</title>
- <refsect2>
- <title><anchor role="function" id="Manager-signal-SeatAdded"/>SeatAdded ()</title>
- <indexterm>
- <primary>SeatAdded</primary>
- <secondary>Manager</secondary>
- <tertiary>signal</tertiary>
- </indexterm>
- <programlisting>SeatAdded ('o' sid)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Manager-signal-SeatRemoved"/>SeatRemoved ()</title>
- <indexterm>
- <primary>SeatRemoved</primary>
- <secondary>Manager</secondary>
- <tertiary>signal</tertiary>
- </indexterm>
- <programlisting>SeatRemoved ('o' sid)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Manager-signal-SystemIdleHintChanged"/>SystemIdleHintChanged ()</title>
- <indexterm>
- <primary>SystemIdleHintChanged</primary>
- <secondary>Manager</secondary>
- <tertiary>signal</tertiary>
- </indexterm>
- <programlisting>SystemIdleHintChanged ('b' hint)</programlisting>
- </refsect2>
- </refsect1>
- <refsect1 role="property_details">
- <title role="property_details.title">Property Details</title>
- </refsect1>
-</refentry>
diff --git a/doc/ref-ck-seat.xml b/doc/ref-ck-seat.xml
deleted file mode 100644
index a679d8e..0000000
--- a/doc/ref-ck-seat.xml
+++ /dev/null
@@ -1,111 +0,0 @@
-<refentry id="Seat">
- <refmeta>
- <refentrytitle role="top_of_page">org.freedesktop.ConsoleKit.Seat</refentrytitle>
- </refmeta>
- <refnamediv>
- <refname>org.freedesktop.ConsoleKit.Seat</refname>
- <refpurpose>Seat interface</refpurpose>
- </refnamediv>
- <refsynopsisdiv role="synopsis">
- <title role="synopsis.title">Methods</title>
- <synopsis><link linkend="Seat-GetId">GetId</link> (out 'o' sid)
-<link linkend="Seat-GetSessions">GetSessions</link> (out 'ao' sessions)
-<link linkend="Seat-GetActiveSession">GetActiveSession</link> (out 'o' ssid)
-<link linkend="Seat-ActivateSession">ActivateSession</link> (in 'o' ssid)
-</synopsis>
- </refsynopsisdiv>
- <refsect1 role="signal_proto">
- <title role="signal_proto.title">Signals</title>
- <synopsis><link linkend="Seat-signal-ActiveSessionChanged">ActiveSessionChanged</link> ('o' sid)
-<link linkend="Seat-signal-SessionAdded">SessionAdded</link> ('o' sid)
-<link linkend="Seat-signal-SessionRemoved">SessionRemoved</link> ('o' sid)
-</synopsis>
- </refsect1>
- <refsect1 role="impl_interfaces">
- <title role="impl_interfaces.title">Implemented Interfaces</title>
- <para>org.freedesktop.ConsoleKit.Seat implements
- org.freedesktop.DBus.Introspectable,
- org.freedesktop.DBus.Properties
- </para>
- </refsect1>
- <refsect1 role="properties">
- <title role="properties.title">Properties</title>
- <synopsis/>
- </refsect1>
- <refsect1 role="desc">
- <title role="desc.title">Description</title>
- <para/>
- </refsect1>
- <refsect1 role="details">
- <title role="details.title">Details</title>
- <refsect2>
- <title><anchor role="function" id="Seat-GetId"/>GetId ()</title>
- <indexterm>
- <primary>GetId</primary>
- <secondary>Seat</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>GetId (out 'o' sid)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Seat-GetSessions"/>GetSessions ()</title>
- <indexterm>
- <primary>GetSessions</primary>
- <secondary>Seat</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>GetSessions (out 'ao' sessions)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Seat-GetActiveSession"/>GetActiveSession ()</title>
- <indexterm>
- <primary>GetActiveSession</primary>
- <secondary>Seat</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>GetActiveSession (out 'o' ssid)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Seat-ActivateSession"/>ActivateSession ()</title>
- <indexterm>
- <primary>ActivateSession</primary>
- <secondary>Seat</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>ActivateSession (in 'o' ssid)</programlisting>
- </refsect2>
- </refsect1>
- <refsect1 role="signals">
- <title role="signals.title">Signal Details</title>
- <refsect2>
- <title><anchor role="function" id="Seat-signal-ActiveSessionChanged"/>ActiveSessionChanged ()</title>
- <indexterm>
- <primary>ActiveSessionChanged</primary>
- <secondary>Seat</secondary>
- <tertiary>signal</tertiary>
- </indexterm>
- <programlisting>ActiveSessionChanged ('o' sid)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Seat-signal-SessionAdded"/>SessionAdded ()</title>
- <indexterm>
- <primary>SessionAdded</primary>
- <secondary>Seat</secondary>
- <tertiary>signal</tertiary>
- </indexterm>
- <programlisting>SessionAdded ('o' sid)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Seat-signal-SessionRemoved"/>SessionRemoved ()</title>
- <indexterm>
- <primary>SessionRemoved</primary>
- <secondary>Seat</secondary>
- <tertiary>signal</tertiary>
- </indexterm>
- <programlisting>SessionRemoved ('o' sid)</programlisting>
- </refsect2>
- </refsect1>
- <refsect1 role="property_details">
- <title role="property_details.title">Property Details</title>
- </refsect1>
-</refentry>
diff --git a/doc/ref-ck-session.xml b/doc/ref-ck-session.xml
deleted file mode 100644
index 9a4a4db..0000000
--- a/doc/ref-ck-session.xml
+++ /dev/null
@@ -1,350 +0,0 @@
-<refentry id="Session">
- <refmeta>
- <refentrytitle role="top_of_page">org.freedesktop.ConsoleKit.Session</refentrytitle>
- </refmeta>
- <refnamediv>
- <refname>org.freedesktop.ConsoleKit.Session</refname>
- <refpurpose>Session interface</refpurpose>
- </refnamediv>
- <refsynopsisdiv role="synopsis">
- <title role="synopsis.title">Methods</title>
- <synopsis><link linkend="Session-GetId">GetId</link> (out 'o' ssid)
-<link linkend="Session-GetSeatId">GetSeatId</link> (out 'o' sid)
-<link linkend="Session-GetSessionType">GetSessionType</link> (out 's' type)
-<link linkend="Session-GetUser">GetUser</link> (out 'i' uid)
-<link linkend="Session-GetX11Display">GetX11Display</link> (out 's' display)
-<link linkend="Session-GetX11DisplayDevice">GetX11DisplayDevice</link> (out 's' x11_display_device)
-<link linkend="Session-GetDisplayDevice">GetDisplayDevice</link> (out 's' display_device)
-<link linkend="Session-GetRemoteHostName">GetRemoteHostName</link> (out 's' remote_host_name)
-<link linkend="Session-IsActive">IsActive</link> (out 'b' active)
-<link linkend="Session-IsLocal">IsLocal</link> (out 'b' local)
-<link linkend="Session-GetCreationTime">GetCreationTime</link> (out 's' iso8601_datetime)
-<link linkend="Session-Activate">Activate</link> ()
-<link linkend="Session-Lock">Lock</link> ()
-<link linkend="Session-Unlock">Unlock</link> ()
-<link linkend="Session-GetIdleHint">GetIdleHint</link> (out 'b' idle_hint)
-<link linkend="Session-GetIdleSinceHint">GetIdleSinceHint</link> (out 's' iso8601_datetime)
-<link linkend="Session-SetIdleHint">SetIdleHint</link> (in 'b' idle_hint)
-</synopsis>
- </refsynopsisdiv>
- <refsect1 role="signal_proto">
- <title role="signal_proto.title">Signals</title>
- <synopsis><link linkend="Session-signal-ActiveChanged">ActiveChanged</link> ('b' is_active)
-<link linkend="Session-signal-IdleHintChanged">IdleHintChanged</link> ('b' hint)
-<link linkend="Session-signal-Lock">Lock</link> ()
-<link linkend="Session-signal-Unlock">Unlock</link> ()
-</synopsis>
- </refsect1>
- <refsect1 role="impl_interfaces">
- <title role="impl_interfaces.title">Implemented Interfaces</title>
- <para>org.freedesktop.ConsoleKit.Session implements
- org.freedesktop.DBus.Introspectable,
- org.freedesktop.DBus.Properties
- </para>
- </refsect1>
- <refsect1 role="properties">
- <title role="properties.title">Properties</title>
- <synopsis><link linkend="Session-property-user">'user'</link> readwrite 'u'
-<link linkend="Session-property-session-type">'session-type'</link> readwrite 's'
-<link linkend="Session-property-remote-host-name">'remote-host-name'</link> readwrite 's'
-<link linkend="Session-property-display-device">'display-device'</link> readwrite 's'
-<link linkend="Session-property-x11-display">'x11-display'</link> readwrite 's'
-<link linkend="Session-property-x11-display-device">'x11-display-device'</link> readwrite 's'
-<link linkend="Session-property-active">'active'</link> readwrite 'b'
-<link linkend="Session-property-is-local">'is-local'</link> readwrite 'b'
-<link linkend="Session-property-idle-hint">'idle-hint'</link> readwrite 'b'
-</synopsis>
- </refsect1>
- <refsect1 role="desc">
- <title role="desc.title">Description</title>
- <para/>
- </refsect1>
- <refsect1 role="details">
- <title role="details.title">Details</title>
- <refsect2>
- <title><anchor role="function" id="Session-GetId"/>GetId ()</title>
- <indexterm>
- <primary>GetId</primary>
- <secondary>Session</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>GetId (out 'o' ssid)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-GetSeatId"/>GetSeatId ()</title>
- <indexterm>
- <primary>GetSeatId</primary>
- <secondary>Session</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>GetSeatId (out 'o' sid)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-GetSessionType"/>GetSessionType ()</title>
- <indexterm>
- <primary>GetSessionType</primary>
- <secondary>Session</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>GetSessionType (out 's' type)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-GetUser"/>GetUser ()</title>
- <indexterm>
- <primary>GetUser</primary>
- <secondary>Session</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>GetUser (out 'i' uid)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-GetX11Display"/>GetX11Display ()</title>
- <indexterm>
- <primary>GetX11Display</primary>
- <secondary>Session</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>GetX11Display (out 's' display)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-GetX11DisplayDevice"/>GetX11DisplayDevice ()</title>
- <indexterm>
- <primary>GetX11DisplayDevice</primary>
- <secondary>Session</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>GetX11DisplayDevice (out 's' x11_display_device)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-GetDisplayDevice"/>GetDisplayDevice ()</title>
- <indexterm>
- <primary>GetDisplayDevice</primary>
- <secondary>Session</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>GetDisplayDevice (out 's' display_device)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-GetRemoteHostName"/>GetRemoteHostName ()</title>
- <indexterm>
- <primary>GetRemoteHostName</primary>
- <secondary>Session</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>GetRemoteHostName (out 's' remote_host_name)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-IsActive"/>IsActive ()</title>
- <indexterm>
- <primary>IsActive</primary>
- <secondary>Session</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>IsActive (out 'b' active)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-IsLocal"/>IsLocal ()</title>
- <indexterm>
- <primary>IsLocal</primary>
- <secondary>Session</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>IsLocal (out 'b' local)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-GetCreationTime"/>GetCreationTime ()</title>
- <indexterm>
- <primary>GetCreationTime</primary>
- <secondary>Session</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>GetCreationTime (out 's' iso8601_datetime)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-Activate"/>Activate ()</title>
- <indexterm>
- <primary>Activate</primary>
- <secondary>Session</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>Activate ()</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-Lock"/>Lock ()</title>
- <indexterm>
- <primary>Lock</primary>
- <secondary>Session</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>Lock ()</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-Unlock"/>Unlock ()</title>
- <indexterm>
- <primary>Unlock</primary>
- <secondary>Session</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>Unlock ()</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-GetIdleHint"/>GetIdleHint ()</title>
- <indexterm>
- <primary>GetIdleHint</primary>
- <secondary>Session</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>GetIdleHint (out 'b' idle_hint)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-GetIdleSinceHint"/>GetIdleSinceHint ()</title>
- <indexterm>
- <primary>GetIdleSinceHint</primary>
- <secondary>Session</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>GetIdleSinceHint (out 's' iso8601_datetime)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-SetIdleHint"/>SetIdleHint ()</title>
- <indexterm>
- <primary>SetIdleHint</primary>
- <secondary>Session</secondary>
- <tertiary>method</tertiary>
- </indexterm>
- <programlisting>SetIdleHint (in 'b' idle_hint)</programlisting>
- </refsect2>
- </refsect1>
- <refsect1 role="signals">
- <title role="signals.title">Signal Details</title>
- <refsect2>
- <title><anchor role="function" id="Session-signal-ActiveChanged"/>ActiveChanged ()</title>
- <indexterm>
- <primary>ActiveChanged</primary>
- <secondary>Session</secondary>
- <tertiary>signal</tertiary>
- </indexterm>
- <programlisting>ActiveChanged ('b' is_active)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-signal-IdleHintChanged"/>IdleHintChanged ()</title>
- <indexterm>
- <primary>IdleHintChanged</primary>
- <secondary>Session</secondary>
- <tertiary>signal</tertiary>
- </indexterm>
- <programlisting>IdleHintChanged ('b' hint)</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-signal-Lock"/>Lock ()</title>
- <indexterm>
- <primary>Lock</primary>
- <secondary>Session</secondary>
- <tertiary>signal</tertiary>
- </indexterm>
- <programlisting>Lock ()</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-signal-Unlock"/>Unlock ()</title>
- <indexterm>
- <primary>Unlock</primary>
- <secondary>Session</secondary>
- <tertiary>signal</tertiary>
- </indexterm>
- <programlisting>Unlock ()</programlisting>
- </refsect2>
- </refsect1>
- <refsect1 role="property_details">
- <title role="property_details.title">Property Details</title>
- <refsect2>
- <title><anchor role="function" id="Session-property-user"/>'user'</title>
- <indexterm>
- <primary>user</primary>
- <secondary>Session</secondary>
- <tertiary>property</tertiary>
- </indexterm>
- <programlisting>'user' readwrite 'u'
-</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-property-session-type"/>'session-type'</title>
- <indexterm>
- <primary>session-type</primary>
- <secondary>Session</secondary>
- <tertiary>property</tertiary>
- </indexterm>
- <programlisting>'session-type' readwrite 's'
-</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-property-remote-host-name"/>'remote-host-name'</title>
- <indexterm>
- <primary>remote-host-name</primary>
- <secondary>Session</secondary>
- <tertiary>property</tertiary>
- </indexterm>
- <programlisting>'remote-host-name' readwrite 's'
-</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-property-display-device"/>'display-device'</title>
- <indexterm>
- <primary>display-device</primary>
- <secondary>Session</secondary>
- <tertiary>property</tertiary>
- </indexterm>
- <programlisting>'display-device' readwrite 's'
-</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-property-x11-display"/>'x11-display'</title>
- <indexterm>
- <primary>x11-display</primary>
- <secondary>Session</secondary>
- <tertiary>property</tertiary>
- </indexterm>
- <programlisting>'x11-display' readwrite 's'
-</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-property-x11-display-device"/>'x11-display-device'</title>
- <indexterm>
- <primary>x11-display-device</primary>
- <secondary>Session</secondary>
- <tertiary>property</tertiary>
- </indexterm>
- <programlisting>'x11-display-device' readwrite 's'
-</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-property-active"/>'active'</title>
- <indexterm>
- <primary>active</primary>
- <secondary>Session</secondary>
- <tertiary>property</tertiary>
- </indexterm>
- <programlisting>'active' readwrite 'b'
-</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-property-is-local"/>'is-local'</title>
- <indexterm>
- <primary>is-local</primary>
- <secondary>Session</secondary>
- <tertiary>property</tertiary>
- </indexterm>
- <programlisting>'is-local' readwrite 'b'
-</programlisting>
- </refsect2>
- <refsect2>
- <title><anchor role="function" id="Session-property-idle-hint"/>'idle-hint'</title>
- <indexterm>
- <primary>idle-hint</primary>
- <secondary>Session</secondary>
- <tertiary>property</tertiary>
- </indexterm>
- <programlisting>'idle-hint' readwrite 'b'
-</programlisting>
- </refsect2>
- </refsect1>
-</refentry>
diff --git a/doc/spec/ck-manager.xml b/doc/spec/ck-manager.xml
new file mode 100644
index 0000000..998df32
--- /dev/null
+++ b/doc/spec/ck-manager.xml
@@ -0,0 +1,286 @@
+<?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="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="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="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: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/doc/spec/ck-seat.xml b/doc/spec/ck-seat.xml
new file mode 100644
index 0000000..81fb1cc
--- /dev/null
+++ b/doc/spec/ck-seat.xml
@@ -0,0 +1,110 @@
+<?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>Returns the ID for Seat.
+ </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="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="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="o">
+ <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>
+ </interface>
+</node>
diff --git a/doc/spec/ck-session.xml b/doc/spec/ck-session.xml
new file mode 100644
index 0000000..5b1d843
--- /dev/null
+++ b/doc/spec/ck-session.xml
@@ -0,0 +1,401 @@
+<?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="i">
+ <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:seealso><doc:ref type="property" to="Session:user">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="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>
+ <permission>This method is restricted to privileged users by D-Bus policy.</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>
+ <permission>This method is restricted to privileged users by D-Bus policy.</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="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="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/doc/tools/spec-strip-docs b/doc/tools/spec-strip-docs
new file mode 100755
index 0000000..52d84bc
--- /dev/null
+++ b/doc/tools/spec-strip-docs
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+DIST_BIN=`dirname "$0"`
+
+CMD=xsltproc
+XSL=${DIST_BIN}/spec-strip-docs.xsl
+
+if test "x$1" = "x" -o "x$1" = "x-h" -o "x$1" = "x--help"; then
+ echo "usage: $0 [file] ..."
+ exit 1
+fi
+
+if [ ! -r ${XSL} ]; then
+ echo "Cannot find XSLT file"
+ exit 1
+fi
+
+FILES="$@"
+for FILE in $FILES; do
+ echo "${FILE}" | grep ".xml$" > /dev/null
+ if [ $? -ne 0 ]; then
+ echo "Skipping non-xml file: ${FILE}"
+ continue
+ fi
+
+ d=`dirname ${FILE}`
+ b=`basename ${FILE} .xml`
+
+ outfile="${b}-no-docs.xml"
+ echo "Creating: ${outfile}"
+ ${CMD} ${XSL} ${FILE} | tail -n +2 > ${outfile}
+done
+
+exit 0
diff --git a/doc/tools/spec-strip-docs.xsl b/doc/tools/spec-strip-docs.xsl
new file mode 100644
index 0000000..21ad558
--- /dev/null
+++ b/doc/tools/spec-strip-docs.xsl
@@ -0,0 +1,36 @@
+<?xml version='1.0'?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd"
+ exclude-result-prefixes="doc">
+
+ <xsl:output method="xml" indent="yes" encoding="UTF-8"
+ omit-xml-declaration="no"
+ doctype-system="http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd"
+ doctype-public="-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" />
+
+ <xsl:template match="*">
+ <xsl:copy>
+ <xsl:for-each select="@*">
+ <xsl:if test="not(starts-with(name(.), 'doc:'))">
+ <xsl:copy/>
+ </xsl:if>
+ </xsl:for-each>
+ <xsl:apply-templates/>
+ </xsl:copy>
+ </xsl:template>
+
+ <xsl:template match="node">
+ <node>
+ <xsl:for-each select="@*">
+ <xsl:if test="not(starts-with(name(.), 'xmlns'))">
+ <xsl:copy/>
+ </xsl:if>
+ </xsl:for-each>
+ <xsl:apply-templates/>
+ </node>
+ </xsl:template>
+
+ <xsl:template match="doc:*"/>
+ <xsl:template match="text()"/>
+
+</xsl:stylesheet>
diff --git a/doc/docize-dbus-xml.sh b/doc/tools/spec-to-docbook
index 1df63e1..883e2ba 100755
--- a/doc/docize-dbus-xml.sh
+++ b/doc/tools/spec-to-docbook
@@ -3,7 +3,7 @@
DIST_BIN=`dirname "$0"`
CMD=xsltproc
-XSL=${DIST_BIN}/docbook-dbus.xsl
+XSL=${DIST_BIN}/spec-to-docbook.xsl
if test "x$1" = "x" -o "x$1" = "x-h" -o "x$1" = "x--help"; then
echo "usage: $0 [file] ..."
diff --git a/doc/docbook-dbus.xsl b/doc/tools/spec-to-docbook.xsl
index 56eada4..26b5937 100644
--- a/doc/docbook-dbus.xsl
+++ b/doc/tools/spec-to-docbook.xsl
@@ -1,6 +1,7 @@
<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- version="1.0">
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd"
+ exclude-result-prefixes="doc">
<!--
Convert D-Bus Glib xml into DocBook refentries
Copyright (C) 2007 William Jon McCann
@@ -54,7 +55,6 @@
</para>
</refsect1>
-
<refsect1 role="properties">
<title role="properties.title">Properties</title>
<synopsis>
@@ -67,10 +67,10 @@
<refsect1 role="desc">
<title role="desc.title">Description</title>
<para>
+ <xsl:apply-templates select="//interface/doc:doc"/>
</para>
</refsect1>
-
<refsect1 role="details">
<title role="details.title">Details</title>
<xsl:call-template name="method-details">
@@ -96,6 +96,23 @@
</xsl:template>
+<xsl:template name="property-doc">
+ <xsl:apply-templates select="doc:doc/doc:description"/>
+
+ <variablelist role="params">
+ <xsl:for-each select="arg">
+<varlistentry><term><parameter><xsl:value-of select="@name"/></parameter>:</term>
+<listitem><simpara><xsl:value-of select="doc:doc/doc:summary"/></simpara></listitem>
+</varlistentry>
+ </xsl:for-each>
+ </variablelist>
+
+ <xsl:apply-templates select="doc:doc/doc:since"/>
+ <xsl:apply-templates select="doc:doc/doc:permission"/>
+ <xsl:apply-templates select="doc:doc/doc:seealso"/>
+</xsl:template>
+
+
<xsl:template name="property-details">
<xsl:param name="basename"/>
<xsl:variable name="longest">
@@ -105,14 +122,32 @@
</xsl:variable>
<xsl:for-each select="///property">
<refsect2>
- <title><anchor role="function"><xsl:attribute name="id"><xsl:value-of select="$basename"/>-property-<xsl:value-of select="@name"/></xsl:attribute></anchor>'<xsl:value-of select="@name"/>'</title>
-<indexterm><primary><xsl:value-of select="@name"/></primary><secondary><xsl:value-of select="$basename"/></secondary><tertiary>property</tertiary></indexterm>
+ <title><anchor role="function"><xsl:attribute name="id"><xsl:value-of select="$basename"/>:<xsl:value-of select="@name"/></xsl:attribute></anchor>The "<xsl:value-of select="@name"/>" property</title>
+<indexterm><primary><xsl:value-of select="@name"/></primary><secondary><xsl:value-of select="$basename"/></secondary></indexterm>
<programlisting>'<xsl:value-of select="@name"/>'<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="2"/></xsl:call-template>
<xsl:call-template name="property-args"><xsl:with-param name="indent" select="string-length(@name) + 2"/></xsl:call-template></programlisting>
</refsect2>
+
+ <xsl:call-template name="property-doc"/>
+
</xsl:for-each>
</xsl:template>
+<xsl:template name="signal-doc">
+ <xsl:apply-templates select="doc:doc/doc:description"/>
+
+ <variablelist role="params">
+ <xsl:for-each select="arg">
+<varlistentry><term><parameter><xsl:value-of select="@name"/></parameter>:</term>
+<listitem><simpara><xsl:value-of select="doc:doc/doc:summary"/></simpara></listitem>
+</varlistentry>
+ </xsl:for-each>
+ </variablelist>
+
+ <xsl:apply-templates select="doc:doc/doc:since"/>
+ <xsl:apply-templates select="doc:doc/doc:permission"/>
+ <xsl:apply-templates select="doc:doc/doc:seealso"/>
+</xsl:template>
<xsl:template name="signal-details">
<xsl:param name="basename"/>
@@ -123,13 +158,93 @@
</xsl:variable>
<xsl:for-each select="///signal">
<refsect2>
- <title><anchor role="function"><xsl:attribute name="id"><xsl:value-of select="$basename"/>-signal-<xsl:value-of select="@name"/></xsl:attribute></anchor><xsl:value-of select="@name"/> ()</title>
-<indexterm><primary><xsl:value-of select="@name"/></primary><secondary><xsl:value-of select="$basename"/></secondary><tertiary>signal</tertiary></indexterm>
+ <title><anchor role="function"><xsl:attribute name="id"><xsl:value-of select="$basename"/>::<xsl:value-of select="@name"/></xsl:attribute></anchor>The <xsl:value-of select="@name"/> signal</title>
+<indexterm><primary><xsl:value-of select="@name"/></primary><secondary><xsl:value-of select="$basename"/></secondary></indexterm>
<programlisting><xsl:value-of select="@name"/> (<xsl:call-template name="signal-args"><xsl:with-param name="indent" select="string-length(@name) + 2"/><xsl:with-param name="prefix" select="."/></xsl:call-template>)</programlisting>
</refsect2>
+
+ <xsl:call-template name="signal-doc"/>
+
</xsl:for-each>
</xsl:template>
+<xsl:template match="doc:code">
+<programlisting>
+<xsl:apply-templates />
+</programlisting>
+</xsl:template>
+
+<xsl:template match="doc:summary">
+<!-- by default don't display -->
+</xsl:template>
+
+<xsl:template match="doc:example">
+<informalexample>
+<xsl:apply-templates />
+</informalexample>
+</xsl:template>
+
+<xsl:template match="doc:para">
+<para>
+<xsl:apply-templates />
+</para>
+</xsl:template>
+
+<xsl:template match="doc:description">
+<xsl:apply-templates />
+</xsl:template>
+
+<xsl:template match="doc:since">
+<para role="since">Since <xsl:value-of select="@version"/>
+</para>
+</xsl:template>
+
+<xsl:template match="doc:permission">
+<para role="permission">
+<xsl:apply-templates />
+</para>
+</xsl:template>
+
+<xsl:template match="doc:seealso">
+<para>
+See also:
+<xsl:apply-templates />
+
+</para>
+</xsl:template>
+
+<xsl:template match="doc:ref">
+ <xsl:choose>
+ <xsl:when test="contains(@type,'property')">
+ <link><xsl:attribute name="linkend"><xsl:value-of select="@to"/></xsl:attribute><literal><xsl:apply-templates /></literal></link>
+ </xsl:when>
+ <xsl:when test="contains(@type,'signal')">
+ <link><xsl:attribute name="linkend"><xsl:value-of select="@to"/></xsl:attribute><literal><xsl:apply-templates /></literal></link>
+ </xsl:when>
+ <xsl:when test="contains(@type,'method')">
+ <link><xsl:attribute name="linkend"><xsl:value-of select="@to"/></xsl:attribute><function><xsl:apply-templates /></function></link>
+ </xsl:when>
+ <xsl:when test="contains(@type,'interface')">
+ <link><xsl:attribute name="linkend"><xsl:value-of select="@to"/></xsl:attribute><xsl:apply-templates /></link>
+ </xsl:when>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template name="method-doc">
+ <xsl:apply-templates select="doc:doc/doc:description"/>
+
+ <variablelist role="params">
+ <xsl:for-each select="arg">
+<varlistentry><term><parameter><xsl:value-of select="@name"/></parameter>:</term>
+<listitem><simpara><xsl:value-of select="doc:doc/doc:summary"/></simpara></listitem>
+</varlistentry>
+ </xsl:for-each>
+ </variablelist>
+
+ <xsl:apply-templates select="doc:doc/doc:since"/>
+ <xsl:apply-templates select="doc:doc/doc:permission"/>
+ <xsl:apply-templates select="doc:doc/doc:seealso"/>
+</xsl:template>
<xsl:template name="method-details">
<xsl:param name="basename"/>
@@ -139,11 +254,14 @@
</xsl:call-template>
</xsl:variable>
<xsl:for-each select="///method">
- <refsect2>
- <title><anchor role="function"><xsl:attribute name="id"><xsl:value-of select="$basename"/>-<xsl:value-of select="@name"/></xsl:attribute></anchor><xsl:value-of select="@name"/> ()</title>
-<indexterm><primary><xsl:value-of select="@name"/></primary><secondary><xsl:value-of select="$basename"/></secondary><tertiary>method</tertiary></indexterm>
+ <refsect2>
+ <title><anchor role="function"><xsl:attribute name="id"><xsl:value-of select="$basename"/>.<xsl:value-of select="@name"/></xsl:attribute></anchor><xsl:value-of select="@name"/> ()</title>
+<indexterm><primary><xsl:value-of select="@name"/></primary><secondary><xsl:value-of select="$basename"/></secondary></indexterm>
<programlisting><xsl:value-of select="@name"/> (<xsl:call-template name="method-args"><xsl:with-param name="indent" select="string-length(@name) + 2"/><xsl:with-param name="prefix" select="."/></xsl:call-template>)</programlisting>
- </refsect2>
+ </refsect2>
+
+ <xsl:call-template name="method-doc"/>
+
</xsl:for-each>
</xsl:template>
@@ -156,7 +274,7 @@
</xsl:call-template>
</xsl:variable>
<xsl:for-each select="///property">
-<link><xsl:attribute name="linkend"><xsl:value-of select="$basename"/>-property-<xsl:value-of select="@name"/></xsl:attribute>'<xsl:value-of select="@name"/>'</link><xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@name) + 1"/></xsl:call-template> <xsl:call-template name="property-args"><xsl:with-param name="indent" select="$longest + 2"/></xsl:call-template>
+<link><xsl:attribute name="linkend"><xsl:value-of select="$basename"/>:<xsl:value-of select="@name"/></xsl:attribute>'<xsl:value-of select="@name"/>'</link><xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@name) + 1"/></xsl:call-template> <xsl:call-template name="property-args"><xsl:with-param name="indent" select="$longest + 2"/></xsl:call-template>
</xsl:for-each>
</xsl:template>
@@ -169,7 +287,7 @@
</xsl:call-template>
</xsl:variable>
<xsl:for-each select="///signal">
-<link><xsl:attribute name="linkend"><xsl:value-of select="$basename"/>-signal-<xsl:value-of select="@name"/></xsl:attribute><xsl:value-of select="@name"/></link><xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@name) + 1"/></xsl:call-template>(<xsl:call-template name="signal-args"><xsl:with-param name="indent" select="$longest + 2"/><xsl:with-param name="prefix" select="///signal"/></xsl:call-template>)
+<link><xsl:attribute name="linkend"><xsl:value-of select="$basename"/>::<xsl:value-of select="@name"/></xsl:attribute><xsl:value-of select="@name"/></link><xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@name) + 1"/></xsl:call-template>(<xsl:call-template name="signal-args"><xsl:with-param name="indent" select="$longest + 2"/><xsl:with-param name="prefix" select="///signal"/></xsl:call-template>)
</xsl:for-each>
</xsl:template>
@@ -182,7 +300,7 @@
</xsl:call-template>
</xsl:variable>
<xsl:for-each select="///method">
-<link><xsl:attribute name="linkend"><xsl:value-of select="$basename"/>-<xsl:value-of select="@name"/></xsl:attribute><xsl:value-of select="@name"/></link><xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@name) + 1"/></xsl:call-template>(<xsl:call-template name="method-args"><xsl:with-param name="indent" select="$longest + 2"/><xsl:with-param name="prefix" select="///method"/></xsl:call-template>)
+<link><xsl:attribute name="linkend"><xsl:value-of select="$basename"/>.<xsl:value-of select="@name"/></xsl:attribute><xsl:value-of select="@name"/></link><xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@name) + 1"/></xsl:call-template>(<xsl:call-template name="method-args"><xsl:with-param name="indent" select="$longest + 2"/><xsl:with-param name="prefix" select="///method"/></xsl:call-template>)
</xsl:for-each>
</xsl:template>
diff --git a/doc/tools/update-from-spec b/doc/tools/update-from-spec
new file mode 100755
index 0000000..b20e875
--- /dev/null
+++ b/doc/tools/update-from-spec
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+DIST_BIN=`dirname "$0"`
+
+cd ${DIST_BIN}
+cd ../xml
+../tools/spec-to-docbook ../spec/*.xml
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+
+cd ../../src
+../doc/tools/spec-strip-docs ../doc/spec/*.xml
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+
+for name in session seat manager; do
+ mv ck-${name}-no-docs.xml ck-${name}.xml
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+done
+
+exit 0
diff --git a/doc/ck-introduction.xml b/doc/xml/ck-introduction.xml
index 3a23d76..4f6acbd 100644
--- a/doc/ck-introduction.xml
+++ b/doc/xml/ck-introduction.xml
@@ -1,6 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
-
<chapter id="introduction">
<title>Introduction</title>
diff --git a/doc/xml/ref-ck-manager.xml b/doc/xml/ref-ck-manager.xml
new file mode 100644
index 0000000..dc01375
--- /dev/null
+++ b/doc/xml/ref-ck-manager.xml
@@ -0,0 +1,174 @@
+<refentry id="Manager">
+ <refmeta>
+ <refentrytitle role="top_of_page">org.freedesktop.ConsoleKit.Manager</refentrytitle>
+ </refmeta>
+ <refnamediv>
+ <refname>org.freedesktop.ConsoleKit.Manager</refname>
+ <refpurpose>Manager interface</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv role="synopsis">
+ <title role="synopsis.title">Methods</title>
+ <synopsis><link linkend="Manager.OpenSession">OpenSession</link> (out 's' cookie)
+<link linkend="Manager.OpenSessionWithParameters">OpenSessionWithParameters</link> (in 'a(sv)' parameters,
+ out 's' cookie)
+<link linkend="Manager.CloseSession">CloseSession</link> (in 's' cookie,
+ out 'b' result)
+<link linkend="Manager.GetSeats">GetSeats</link> (out 'ao' seats)
+<link linkend="Manager.GetSessionForCookie">GetSessionForCookie</link> (in 's' cookie,
+ out 'o' ssid)
+<link linkend="Manager.GetSessionForUnixProcess">GetSessionForUnixProcess</link> (in 'u' pid,
+ out 'o' ssid)
+<link linkend="Manager.GetCurrentSession">GetCurrentSession</link> (out 'o' ssid)
+<link linkend="Manager.GetSessionsForUser">GetSessionsForUser</link> (in 'u' uid,
+ out 'ao' sessions)
+<link linkend="Manager.GetSystemIdleHint">GetSystemIdleHint</link> (out 'b' idle_hint)
+<link linkend="Manager.GetSystemIdleSinceHint">GetSystemIdleSinceHint</link> (out 's' iso8601_datetime)
+</synopsis>
+ </refsynopsisdiv>
+ <refsect1 role="signal_proto">
+ <title role="signal_proto.title">Signals</title>
+ <synopsis><link linkend="Manager::SeatAdded">SeatAdded</link> ('o' sid)
+<link linkend="Manager::SeatRemoved">SeatRemoved</link> ('o' sid)
+<link linkend="Manager::SystemIdleHintChanged">SystemIdleHintChanged</link> ('b' hint)
+</synopsis>
+ </refsect1>
+ <refsect1 role="impl_interfaces">
+ <title role="impl_interfaces.title">Implemented Interfaces</title>
+ <para>org.freedesktop.ConsoleKit.Manager implements
+ org.freedesktop.DBus.Introspectable,
+ org.freedesktop.DBus.Properties
+ </para>
+ </refsect1>
+ <refsect1 role="properties">
+ <title role="properties.title">Properties</title>
+ <synopsis/>
+ </refsect1>
+ <refsect1 role="desc">
+ <title role="desc.title">Description</title>
+ <para/>
+ </refsect1>
+ <refsect1 role="details"><title role="details.title">Details</title><refsect2><title><anchor role="function" id="Manager.OpenSession"/>OpenSession ()</title><indexterm><primary>OpenSession</primary><secondary>Manager</secondary></indexterm><programlisting>OpenSession (out 's' cookie)</programlisting></refsect2>
+ <para>This method requests that a new <link linkend="Session">Session</link>
+ be created for the calling process. The properties of this new Session are set automatically
+ from information collected about the calling process.
+ </para>
+ <para>This new session exists until the calling process disconnects from the system bus or
+ calls <link linkend="Manager.CloseSession"><function>CloseSession()</function></link>.
+ </para>
+ <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.
+ </para>
+ <para>See this simple example:
+ <informalexample><programlisting>
+ 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-&gt;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;
+ }
+
+ </programlisting></informalexample></para>
+ <variablelist role="params"><varlistentry><term><parameter>cookie</parameter>:</term><listitem><simpara>The secret cookie that is used to identify the new session</simpara></listitem></varlistentry></variablelist><para>
+See also:
+<link linkend="Manager.OpenSessionWithParameters"><function>OpenSessionWithParameters()</function></link></para><refsect2><title><anchor role="function" id="Manager.OpenSessionWithParameters"/>OpenSessionWithParameters ()</title><indexterm><primary>OpenSessionWithParameters</primary><secondary>Manager</secondary></indexterm><programlisting>OpenSessionWithParameters (in 'a(sv)' parameters,
+ out 's' cookie)</programlisting></refsect2>
+ <para>This method requests that a new <link linkend="Session">Session</link>
+ be created for the calling process. The properties of this new Session are from the
+ parameters provided.
+ </para>
+ <para>This new session exists until the calling process disconnects from the system bus or
+ calls <link linkend="Manager.CloseSession"><function>CloseSession()</function></link>.
+ </para>
+ <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.
+ </para>
+ <para>See the <link linkend="Session">Session</link> properties for a list of valid parameters.</para>
+ <variablelist role="params"><varlistentry><term><parameter>parameters</parameter>:</term><listitem><simpara>An array of sets of property names and values</simpara></listitem></varlistentry><varlistentry><term><parameter>cookie</parameter>:</term><listitem><simpara>The secret cookie that is used to identify the new session</simpara></listitem></varlistentry></variablelist><para role="permission">This method is restricted to privileged users by D-Bus policy.</para><para>
+See also:
+<link linkend="Session">org.freedesktop.ConsoleKit.Session</link></para><refsect2><title><anchor role="function" id="Manager.CloseSession"/>CloseSession ()</title><indexterm><primary>CloseSession</primary><secondary>Manager</secondary></indexterm><programlisting>CloseSession (in 's' cookie,
+ out 'b' result)</programlisting></refsect2>
+ <para>This method is used to close the session identified by the supplied cookie.
+ </para>
+ <para>The session can only be closed by the same process that opened the session.
+ </para>
+ <variablelist role="params"><varlistentry><term><parameter>cookie</parameter>:</term><listitem><simpara>The secret cookie that is used to identify the session</simpara></listitem></varlistentry><varlistentry><term><parameter>result</parameter>:</term><listitem><simpara>Whether the session was successfully closed</simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="Manager.GetSeats"/>GetSeats ()</title><indexterm><primary>GetSeats</primary><secondary>Manager</secondary></indexterm><programlisting>GetSeats (out 'ao' seats)</programlisting></refsect2>
+ <para>This gets a list of all the <link linkend="Seat">Seats</link>
+ that are currently present on the system.</para>
+ <para>Each Seat ID is an D-Bus object path for the object that implements the
+ <link linkend="Seat">Seat</link> interface.</para>
+ <variablelist role="params"><varlistentry><term><parameter>seats</parameter>:</term><listitem><simpara>an array of Seat IDs</simpara></listitem></varlistentry></variablelist><para>
+See also:
+<link linkend="Seat">org.freedesktop.ConsoleKit.Seat</link></para><refsect2><title><anchor role="function" id="Manager.GetSessionForCookie"/>GetSessionForCookie ()</title><indexterm><primary>GetSessionForCookie</primary><secondary>Manager</secondary></indexterm><programlisting>GetSessionForCookie (in 's' cookie,
+ out 'o' ssid)</programlisting></refsect2>
+ <para>Returns the session ID that is associated with the specified cookie.
+ </para>
+ <variablelist role="params"><varlistentry><term><parameter>cookie</parameter>:</term><listitem><simpara>The secret cookie that is used to identify the session</simpara></listitem></varlistentry><varlistentry><term><parameter>ssid</parameter>:</term><listitem><simpara>The object identifier for the current session</simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="Manager.GetSessionForUnixProcess"/>GetSessionForUnixProcess ()</title><indexterm><primary>GetSessionForUnixProcess</primary><secondary>Manager</secondary></indexterm><programlisting>GetSessionForUnixProcess (in 'u' pid,
+ out 'o' ssid)</programlisting></refsect2>
+ <para>Attempts to determine the session ID for the specified
+ POSIX process ID (pid).
+ </para>
+ <variablelist role="params"><varlistentry><term><parameter>pid</parameter>:</term><listitem><simpara>The POSIX process ID</simpara></listitem></varlistentry><varlistentry><term><parameter>ssid</parameter>:</term><listitem><simpara>The object identifier for the current session</simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="Manager.GetCurrentSession"/>GetCurrentSession ()</title><indexterm><primary>GetCurrentSession</primary><secondary>Manager</secondary></indexterm><programlisting>GetCurrentSession (out 'o' ssid)</programlisting></refsect2>
+ <para>Attempts to determine the session ID that the caller belongs to.
+ </para>
+ <para>See this example of using dbus-send:
+ <informalexample><programlisting>
+ dbus-send --system --dest=org.freedesktop.ConsoleKit \
+ --type=method_call --print-reply --reply-timeout=2000 \
+ /org/freedesktop/ConsoleKit/Manager \
+ org.freedesktop.ConsoleKit.Manager.GetCurrentSession
+ </programlisting></informalexample></para>
+ <variablelist role="params"><varlistentry><term><parameter>ssid</parameter>:</term><listitem><simpara>The object identifier for the current session</simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="Manager.GetSessionsForUser"/>GetSessionsForUser ()</title><indexterm><primary>GetSessionsForUser</primary><secondary>Manager</secondary></indexterm><programlisting>GetSessionsForUser (in 'u' uid,
+ out 'ao' sessions)</programlisting></refsect2>
+ <para>This gets a list of all the <link linkend="Session">Sessions</link>
+ that are currently open for the specified user.</para>
+ <para>Each Session ID is an D-Bus object path for the object that implements the
+ <link linkend="Session">Session</link> interface.</para>
+ <variablelist role="params"><varlistentry><term><parameter>uid</parameter>:</term><listitem><simpara>User identification</simpara></listitem></varlistentry><varlistentry><term><parameter>sessions</parameter>:</term><listitem><simpara>an array of Session IDs</simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="Manager.GetSystemIdleHint"/>GetSystemIdleHint ()</title><indexterm><primary>GetSystemIdleHint</primary><secondary>Manager</secondary></indexterm><programlisting>GetSystemIdleHint (out 'b' idle_hint)</programlisting></refsect2>
+ <para>Returns TRUE if the <link linkend="Session:idle-hint"><literal>idle-hint</literal></link>
+ property of every open session is TRUE or if there are no open sessions.
+ </para>
+ <variablelist role="params"><varlistentry><term><parameter>idle_hint</parameter>:</term><listitem><simpara>The value of the system-idle-hint</simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="Manager.GetSystemIdleSinceHint"/>GetSystemIdleSinceHint ()</title><indexterm><primary>GetSystemIdleSinceHint</primary><secondary>Manager</secondary></indexterm><programlisting>GetSystemIdleSinceHint (out 's' iso8601_datetime)</programlisting></refsect2>
+ <para>Returns an ISO 8601 date-time string that corresponds to
+ the time of the last change of the system-idle-hint.
+ </para>
+ <variablelist role="params"><varlistentry><term><parameter>iso8601_datetime</parameter>:</term><listitem><simpara>An ISO 8601 format date-type string</simpara></listitem></varlistentry></variablelist></refsect1>
+ <refsect1 role="signals"><title role="signals.title">Signal Details</title><refsect2><title><anchor role="function" id="Manager::SeatAdded"/>The SeatAdded signal</title><indexterm><primary>SeatAdded</primary><secondary>Manager</secondary></indexterm><programlisting>SeatAdded ('o' sid)</programlisting></refsect2>
+ <para>Emitted when a Seat has been added to the system.
+ </para>
+ <variablelist role="params"><varlistentry><term><parameter>sid</parameter>:</term><listitem><simpara>The Seat ID for the added seat</simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="Manager::SeatRemoved"/>The SeatRemoved signal</title><indexterm><primary>SeatRemoved</primary><secondary>Manager</secondary></indexterm><programlisting>SeatRemoved ('o' sid)</programlisting></refsect2>
+ <para>Emitted when a Seat has been removed from the system.
+ </para>
+ <variablelist role="params"><varlistentry><term><parameter>sid</parameter>:</term><listitem><simpara>The Seat ID for the removed seat</simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="Manager::SystemIdleHintChanged"/>The SystemIdleHintChanged signal</title><indexterm><primary>SystemIdleHintChanged</primary><secondary>Manager</secondary></indexterm><programlisting>SystemIdleHintChanged ('b' hint)</programlisting></refsect2>
+ <para>Emitted when the value of the system-idle-hint has changed.
+ </para>
+ <variablelist role="params"><varlistentry><term><parameter>hint</parameter>:</term><listitem><simpara>The value of the system-idle-hint</simpara></listitem></varlistentry></variablelist></refsect1>
+ <refsect1 role="property_details">
+ <title role="property_details.title">Property Details</title>
+ </refsect1>
+</refentry>
diff --git a/doc/xml/ref-ck-seat.xml b/doc/xml/ref-ck-seat.xml
new file mode 100644
index 0000000..6161207
--- /dev/null
+++ b/doc/xml/ref-ck-seat.xml
@@ -0,0 +1,72 @@
+<refentry id="Seat">
+ <refmeta>
+ <refentrytitle role="top_of_page">org.freedesktop.ConsoleKit.Seat</refentrytitle>
+ </refmeta>
+ <refnamediv>
+ <refname>org.freedesktop.ConsoleKit.Seat</refname>
+ <refpurpose>Seat interface</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv role="synopsis">
+ <title role="synopsis.title">Methods</title>
+ <synopsis><link linkend="Seat.GetId">GetId</link> (out 'o' sid)
+<link linkend="Seat.GetSessions">GetSessions</link> (out 'ao' sessions)
+<link linkend="Seat.GetActiveSession">GetActiveSession</link> (out 'o' ssid)
+<link linkend="Seat.ActivateSession">ActivateSession</link> (in 'o' ssid)
+</synopsis>
+ </refsynopsisdiv>
+ <refsect1 role="signal_proto">
+ <title role="signal_proto.title">Signals</title>
+ <synopsis><link linkend="Seat::ActiveSessionChanged">ActiveSessionChanged</link> ('o' ssid)
+<link linkend="Seat::SessionAdded">SessionAdded</link> ('o' ssid)
+<link linkend="Seat::SessionRemoved">SessionRemoved</link> ('o' ssid)
+</synopsis>
+ </refsect1>
+ <refsect1 role="impl_interfaces">
+ <title role="impl_interfaces.title">Implemented Interfaces</title>
+ <para>org.freedesktop.ConsoleKit.Seat implements
+ org.freedesktop.DBus.Introspectable,
+ org.freedesktop.DBus.Properties
+ </para>
+ </refsect1>
+ <refsect1 role="properties">
+ <title role="properties.title">Properties</title>
+ <synopsis/>
+ </refsect1>
+ <refsect1 role="desc">
+ <title role="desc.title">Description</title>
+ <para>
+
+ <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.</para>
+
+ </para>
+ </refsect1>
+ <refsect1 role="details"><title role="details.title">Details</title><refsect2><title><anchor role="function" id="Seat.GetId"/>GetId ()</title><indexterm><primary>GetId</primary><secondary>Seat</secondary></indexterm><programlisting>GetId (out 'o' sid)</programlisting></refsect2>Returns the ID for Seat.
+ <variablelist role="params"><varlistentry><term><parameter>sid</parameter>:</term><listitem><simpara>Seat ID</simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="Seat.GetSessions"/>GetSessions ()</title><indexterm><primary>GetSessions</primary><secondary>Seat</secondary></indexterm><programlisting>GetSessions (out 'ao' sessions)</programlisting></refsect2>
+ <para>This gets a list of all the <link linkend="Session">Sessions</link>
+ that are currently attached to this seat.</para>
+ <para>Each Session ID is an D-Bus object path for the object that implements the
+ <link linkend="Session">Session</link> interface.</para>
+ <variablelist role="params"><varlistentry><term><parameter>sessions</parameter>:</term><listitem><simpara>an array of Session IDs</simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="Seat.GetActiveSession"/>GetActiveSession ()</title><indexterm><primary>GetActiveSession</primary><secondary>Seat</secondary></indexterm><programlisting>GetActiveSession (out 'o' ssid)</programlisting></refsect2>
+ <para>Gets the Session ID that is currently active on this Seat.</para>
+ <para>Returns NULL if there is no active session.</para>
+ <variablelist role="params"><varlistentry><term><parameter>ssid</parameter>:</term><listitem><simpara>Session ID</simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="Seat.ActivateSession"/>ActivateSession ()</title><indexterm><primary>ActivateSession</primary><secondary>Seat</secondary></indexterm><programlisting>ActivateSession (in 'o' ssid)</programlisting></refsect2>
+ <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.</para>
+ <variablelist role="params"><varlistentry><term><parameter>ssid</parameter>:</term><listitem><simpara>Session ID</simpara></listitem></varlistentry></variablelist><para>
+See also:
+<link linkend="Session.Activate"><function>Activate()</function></link></para></refsect1>
+ <refsect1 role="signals"><title role="signals.title">Signal Details</title><refsect2><title><anchor role="function" id="Seat::ActiveSessionChanged"/>The ActiveSessionChanged signal</title><indexterm><primary>ActiveSessionChanged</primary><secondary>Seat</secondary></indexterm><programlisting>ActiveSessionChanged ('o' ssid)</programlisting></refsect2>
+ <para>Emitted when the active session has changed.</para>
+ <variablelist role="params"><varlistentry><term><parameter>ssid</parameter>:</term><listitem><simpara>Session ID</simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="Seat::SessionAdded"/>The SessionAdded signal</title><indexterm><primary>SessionAdded</primary><secondary>Seat</secondary></indexterm><programlisting>SessionAdded ('o' ssid)</programlisting></refsect2>
+ <para>Emitted when a session has been added to the seat.</para>
+ <variablelist role="params"><varlistentry><term><parameter>ssid</parameter>:</term><listitem><simpara>Session ID</simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="Seat::SessionRemoved"/>The SessionRemoved signal</title><indexterm><primary>SessionRemoved</primary><secondary>Seat</secondary></indexterm><programlisting>SessionRemoved ('o' ssid)</programlisting></refsect2>
+ <para>Emitted when a session has been removed from the seat.</para>
+ <variablelist role="params"><varlistentry><term><parameter>ssid</parameter>:</term><listitem><simpara>Session ID</simpara></listitem></varlistentry></variablelist></refsect1>
+ <refsect1 role="property_details">
+ <title role="property_details.title">Property Details</title>
+ </refsect1>
+</refentry>
diff --git a/doc/xml/ref-ck-session.xml b/doc/xml/ref-ck-session.xml
new file mode 100644
index 0000000..2c5d369
--- /dev/null
+++ b/doc/xml/ref-ck-session.xml
@@ -0,0 +1,240 @@
+<refentry id="Session">
+ <refmeta>
+ <refentrytitle role="top_of_page">org.freedesktop.ConsoleKit.Session</refentrytitle>
+ </refmeta>
+ <refnamediv>
+ <refname>org.freedesktop.ConsoleKit.Session</refname>
+ <refpurpose>Session interface</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv role="synopsis">
+ <title role="synopsis.title">Methods</title>
+ <synopsis><link linkend="Session.GetId">GetId</link> (out 'o' ssid)
+<link linkend="Session.GetSeatId">GetSeatId</link> (out 'o' sid)
+<link linkend="Session.GetSessionType">GetSessionType</link> (out 's' type)
+<link linkend="Session.GetUser">GetUser</link> (out 'i' uid)
+<link linkend="Session.GetX11Display">GetX11Display</link> (out 's' display)
+<link linkend="Session.GetX11DisplayDevice">GetX11DisplayDevice</link> (out 's' x11_display_device)
+<link linkend="Session.GetDisplayDevice">GetDisplayDevice</link> (out 's' display_device)
+<link linkend="Session.GetRemoteHostName">GetRemoteHostName</link> (out 's' remote_host_name)
+<link linkend="Session.IsActive">IsActive</link> (out 'b' active)
+<link linkend="Session.IsLocal">IsLocal</link> (out 'b' local)
+<link linkend="Session.GetCreationTime">GetCreationTime</link> (out 's' iso8601_datetime)
+<link linkend="Session.Activate">Activate</link> ()
+<link linkend="Session.Lock">Lock</link> ()
+<link linkend="Session.Unlock">Unlock</link> ()
+<link linkend="Session.GetIdleHint">GetIdleHint</link> (out 'b' idle_hint)
+<link linkend="Session.GetIdleSinceHint">GetIdleSinceHint</link> (out 's' iso8601_datetime)
+<link linkend="Session.SetIdleHint">SetIdleHint</link> (in 'b' idle_hint)
+</synopsis>
+ </refsynopsisdiv>
+ <refsect1 role="signal_proto">
+ <title role="signal_proto.title">Signals</title>
+ <synopsis><link linkend="Session::ActiveChanged">ActiveChanged</link> ('b' is_active)
+<link linkend="Session::IdleHintChanged">IdleHintChanged</link> ('b' hint)
+<link linkend="Session::Lock">Lock</link> ()
+<link linkend="Session::Unlock">Unlock</link> ()
+</synopsis>
+ </refsect1>
+ <refsect1 role="impl_interfaces">
+ <title role="impl_interfaces.title">Implemented Interfaces</title>
+ <para>org.freedesktop.ConsoleKit.Session implements
+ org.freedesktop.DBus.Introspectable,
+ org.freedesktop.DBus.Properties
+ </para>
+ </refsect1>
+ <refsect1 role="properties">
+ <title role="properties.title">Properties</title>
+ <synopsis><link linkend="Session:user">'user'</link> readwrite 'u'
+<link linkend="Session:session-type">'session-type'</link> readwrite 's'
+<link linkend="Session:remote-host-name">'remote-host-name'</link> readwrite 's'
+<link linkend="Session:display-device">'display-device'</link> readwrite 's'
+<link linkend="Session:x11-display">'x11-display'</link> readwrite 's'
+<link linkend="Session:x11-display-device">'x11-display-device'</link> readwrite 's'
+<link linkend="Session:active">'active'</link> readwrite 'b'
+<link linkend="Session:is-local">'is-local'</link> readwrite 'b'
+<link linkend="Session:idle-hint">'idle-hint'</link> readwrite 'b'
+</synopsis>
+ </refsect1>
+ <refsect1 role="desc">
+ <title role="desc.title">Description</title>
+ <para>
+
+ <para>Session objects represent and store information
+ related to a user session.
+ </para>
+ <para>The properties associated with the Session
+ specifically refer to the properties of the "session leader".
+ </para>
+
+ </para>
+ </refsect1>
+ <refsect1 role="details"><title role="details.title">Details</title><refsect2><title><anchor role="function" id="Session.GetId"/>GetId ()</title><indexterm><primary>GetId</primary><secondary>Session</secondary></indexterm><programlisting>GetId (out 'o' ssid)</programlisting></refsect2><para>Returns the ID for Session.</para>
+ <variablelist role="params"><varlistentry><term><parameter>ssid</parameter>:</term><listitem><simpara>Session ID</simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="Session.GetSeatId"/>GetSeatId ()</title><indexterm><primary>GetSeatId</primary><secondary>Session</secondary></indexterm><programlisting>GetSeatId (out 'o' sid)</programlisting></refsect2><para>Returns the ID for the Seat the Session is
+ attached to.</para>
+ <variablelist role="params"><varlistentry><term><parameter>sid</parameter>:</term><listitem><simpara>Seat ID</simpara></listitem></varlistentry></variablelist><para>
+See also:
+<link linkend="Seat">org.freedesktop.ConsoleKit.Seat</link></para><refsect2><title><anchor role="function" id="Session.GetSessionType"/>GetSessionType ()</title><indexterm><primary>GetSessionType</primary><secondary>Session</secondary></indexterm><programlisting>GetSessionType (out 's' type)</programlisting></refsect2>
+ <para>Returns the type of the session.</para>
+ <para>Warning: we haven't yet defined the allowed values for this property.
+ It is probably best to avoid this until we do.
+ </para>
+ <variablelist role="params"><varlistentry><term><parameter>type</parameter>:</term><listitem><simpara>Session type</simpara></listitem></varlistentry></variablelist><para>
+See also:
+<link linkend="Session:session-type"><literal>session-type</literal></link></para><refsect2><title><anchor role="function" id="Session.GetUser"/>GetUser ()</title><indexterm><primary>GetUser</primary><secondary>Session</secondary></indexterm><programlisting>GetUser (out 'i' uid)</programlisting></refsect2><para>Returns the user that the session belongs to.</para>
+ <variablelist role="params"><varlistentry><term><parameter>uid</parameter>:</term><listitem><simpara>User ID</simpara></listitem></varlistentry></variablelist><para>
+See also:
+<link linkend="Session:user"><literal>user</literal></link></para><refsect2><title><anchor role="function" id="Session.GetX11Display"/>GetX11Display ()</title><indexterm><primary>GetX11Display</primary><secondary>Session</secondary></indexterm><programlisting>GetX11Display (out 's' display)</programlisting></refsect2><para>Returns the value of the X11 DISPLAY for this session
+ if one is present.</para>
+ <variablelist role="params"><varlistentry><term><parameter>display</parameter>:</term><listitem><simpara>The value of the X11 display</simpara></listitem></varlistentry></variablelist><para>
+See also:
+<link linkend="Session:x11-display"><literal>x11-display</literal></link></para><refsect2><title><anchor role="function" id="Session.GetX11DisplayDevice"/>GetX11DisplayDevice ()</title><indexterm><primary>GetX11DisplayDevice</primary><secondary>Session</secondary></indexterm><programlisting>GetX11DisplayDevice (out 's' x11_display_device)</programlisting></refsect2><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.</para>
+ <variablelist role="params"><varlistentry><term><parameter>x11_display_device</parameter>:</term><listitem><simpara>The value of the X11 display device</simpara></listitem></varlistentry></variablelist><para>
+See also:
+<link linkend="Session:x11-display-device"><literal>x11-display-device</literal></link></para><refsect2><title><anchor role="function" id="Session.GetDisplayDevice"/>GetDisplayDevice ()</title><indexterm><primary>GetDisplayDevice</primary><secondary>Session</secondary></indexterm><programlisting>GetDisplayDevice (out 's' display_device)</programlisting></refsect2><para>Returns the value of the display device (aka TTY) that the
+ session is connected to.</para>
+ <variablelist role="params"><varlistentry><term><parameter>display_device</parameter>:</term><listitem><simpara>The value of the display device</simpara></listitem></varlistentry></variablelist><para>
+See also:
+<link linkend="Session:display-device"><literal>display-device</literal></link></para><refsect2><title><anchor role="function" id="Session.GetRemoteHostName"/>GetRemoteHostName ()</title><indexterm><primary>GetRemoteHostName</primary><secondary>Session</secondary></indexterm><programlisting>GetRemoteHostName (out 's' remote_host_name)</programlisting></refsect2><para>Returns the value of the remote host name for the session.
+ </para>
+ <variablelist role="params"><varlistentry><term><parameter>remote_host_name</parameter>:</term><listitem><simpara>The remote host name</simpara></listitem></varlistentry></variablelist><para>
+See also:
+<link linkend="Session:remote-host-name"><literal>remote-host-name</literal></link></para><refsect2><title><anchor role="function" id="Session.IsActive"/>IsActive ()</title><indexterm><primary>IsActive</primary><secondary>Session</secondary></indexterm><programlisting>IsActive (out 'b' active)</programlisting></refsect2><para>Returns whether the session is active on the Seat that
+ it is attached to.</para>
+ <para>If the session is not attached to a seat this value is undefined.
+ </para>
+ <variablelist role="params"><varlistentry><term><parameter>active</parameter>:</term><listitem><simpara>TRUE if the session is active, otherwise FALSE</simpara></listitem></varlistentry></variablelist><para>
+See also:
+<link linkend="Session:active"><literal>active</literal></link></para><refsect2><title><anchor role="function" id="Session.IsLocal"/>IsLocal ()</title><indexterm><primary>IsLocal</primary><secondary>Session</secondary></indexterm><programlisting>IsLocal (out 'b' local)</programlisting></refsect2><para>Returns whether the session is local</para>
+ <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.
+ </para>
+ <variablelist role="params"><varlistentry><term><parameter>local</parameter>:</term><listitem><simpara>TRUE if the session is local, otherwise FALSE</simpara></listitem></varlistentry></variablelist><para>
+See also:
+<link linkend="Session:is-local"><literal>is-local</literal></link></para><refsect2><title><anchor role="function" id="Session.GetCreationTime"/>GetCreationTime ()</title><indexterm><primary>GetCreationTime</primary><secondary>Session</secondary></indexterm><programlisting>GetCreationTime (out 's' iso8601_datetime)</programlisting></refsect2>
+ <para>Returns an ISO 8601 date-time string that corresponds to
+ the time that the session was opened.
+ </para>
+ <variablelist role="params"><varlistentry><term><parameter>iso8601_datetime</parameter>:</term><listitem><simpara>An ISO 8601 format date-type string</simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="Session.Activate"/>Activate ()</title><indexterm><primary>Activate</primary><secondary>Session</secondary></indexterm><programlisting>Activate ()</programlisting></refsect2>
+ <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.</para>
+ <variablelist role="params"/><para>
+See also:
+<link linkend="Seat.ActivateSession"><function>Seat.ActivateSession()</function></link></para><refsect2><title><anchor role="function" id="Session.Lock"/>Lock ()</title><indexterm><primary>Lock</primary><secondary>Session</secondary></indexterm><programlisting>Lock ()</programlisting></refsect2>
+ <para>This will cause a <link linkend="Session::Lock"><literal>Lock</literal></link>
+ signal to be emitted for this session.
+ </para>
+ <variablelist role="params"/><para>
+See also:
+<link linkend="Session::Lock"><literal>Lock signal</literal></link></para><refsect2><title><anchor role="function" id="Session.Unlock"/>Unlock ()</title><indexterm><primary>Unlock</primary><secondary>Session</secondary></indexterm><programlisting>Unlock ()</programlisting></refsect2>
+ <para>This will cause an <link linkend="Session::Unlock"><literal>Unlock</literal></link>
+ signal to be emitted for this session.
+ </para>
+ <para>This can be used by login managers to unlock a session before it is
+ re-activated during fast-user-switching.
+ </para>
+ <variablelist role="params"/><para>
+See also:
+<link linkend="Session::Unlock"><literal>Unlock signal</literal></link></para><refsect2><title><anchor role="function" id="Session.GetIdleHint"/>GetIdleHint ()</title><indexterm><primary>GetIdleHint</primary><secondary>Session</secondary></indexterm><programlisting>GetIdleHint (out 'b' idle_hint)</programlisting></refsect2>
+ <para>Gets the value of the <link linkend="Session:idle-hint"><literal>idle-hint</literal></link>
+ property.
+ </para>
+ <variablelist role="params"><varlistentry><term><parameter>idle_hint</parameter>:</term><listitem><simpara>The value of the idle-hint</simpara></listitem></varlistentry></variablelist><para>
+See also:
+<link linkend="Session:idle-hint"><literal>idle-hint</literal></link></para><refsect2><title><anchor role="function" id="Session.GetIdleSinceHint"/>GetIdleSinceHint ()</title><indexterm><primary>GetIdleSinceHint</primary><secondary>Session</secondary></indexterm><programlisting>GetIdleSinceHint (out 's' iso8601_datetime)</programlisting></refsect2>
+ <para>Returns an ISO 8601 date-time string that corresponds to
+ the time of the last change of the idle-hint.
+ </para>
+ <variablelist role="params"><varlistentry><term><parameter>iso8601_datetime</parameter>:</term><listitem><simpara>An ISO 8601 format date-type string</simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="Session.SetIdleHint"/>SetIdleHint ()</title><indexterm><primary>SetIdleHint</primary><secondary>Session</secondary></indexterm><programlisting>SetIdleHint (in 'b' idle_hint)</programlisting></refsect2>
+ <para>This may be used by the session to indicate that
+ it is idle.
+ </para>
+ <para>Use of this method is restricted to the user
+ that owns the session.</para>
+ <variablelist role="params"><varlistentry><term><parameter>idle_hint</parameter>:</term><listitem><simpara>boolean value to set the idle-hint to</simpara></listitem></varlistentry></variablelist></refsect1>
+ <refsect1 role="signals"><title role="signals.title">Signal Details</title><refsect2><title><anchor role="function" id="Session::ActiveChanged"/>The ActiveChanged signal</title><indexterm><primary>ActiveChanged</primary><secondary>Session</secondary></indexterm><programlisting>ActiveChanged ('b' is_active)</programlisting></refsect2>
+ <para>Emitted when the active property has changed.</para>
+ <variablelist role="params"><varlistentry><term><parameter>is_active</parameter>:</term><listitem><simpara>TRUE if the session is active, otherwise FALSE</simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="Session::IdleHintChanged"/>The IdleHintChanged signal</title><indexterm><primary>IdleHintChanged</primary><secondary>Session</secondary></indexterm><programlisting>IdleHintChanged ('b' hint)</programlisting></refsect2>
+ <para>Emitted when the idle-hint property has changed.</para>
+ <variablelist role="params"><varlistentry><term><parameter>hint</parameter>:</term><listitem><simpara>the new value of idle-hint</simpara></listitem></varlistentry></variablelist><refsect2><title><anchor role="function" id="Session::Lock"/>The Lock signal</title><indexterm><primary>Lock</primary><secondary>Session</secondary></indexterm><programlisting>Lock ()</programlisting></refsect2>
+ <para>Emitted in response to a call to the <link linkend="Session.Lock"><function>Lock()</function></link> method.</para>
+ <para>It is intended that the screensaver for the session should lock the screen in response to this signal.</para>
+ <variablelist role="params"/><refsect2><title><anchor role="function" id="Session::Unlock"/>The Unlock signal</title><indexterm><primary>Unlock</primary><secondary>Session</secondary></indexterm><programlisting>Unlock ()</programlisting></refsect2>
+ <para>Emitted in response to a call to the <link linkend="Session.Unlock"><function>Unlock()</function></link> method.</para>
+ <para>It is intended that the screensaver for the session should unlock the screen in response to this signal.</para>
+ <variablelist role="params"/></refsect1>
+ <refsect1 role="property_details"><title role="property_details.title">Property Details</title><refsect2><title><anchor role="function" id="Session:user"/>The "user" property</title><indexterm><primary>user</primary><secondary>Session</secondary></indexterm><programlisting>'user' readwrite 'u'
+</programlisting></refsect2>
+ <para>The user assigned to the session.</para>
+ <variablelist role="params"/><refsect2><title><anchor role="function" id="Session:session-type"/>The "session-type" property</title><indexterm><primary>session-type</primary><secondary>Session</secondary></indexterm><programlisting>'session-type' readwrite 's'
+</programlisting></refsect2>
+ <para>The type of the session.</para>
+ <para>Warning: we haven't yet defined the allowed values for this property.
+ It is probably best to avoid this until we do.
+ </para>
+ <variablelist role="params"/><refsect2><title><anchor role="function" id="Session:remote-host-name"/>The "remote-host-name" property</title><indexterm><primary>remote-host-name</primary><secondary>Session</secondary></indexterm><programlisting>'remote-host-name' readwrite 's'
+</programlisting></refsect2>
+ <para>The remote host name for the session.
+ </para>
+ <para>This will be set in situations where the session is
+ opened and controlled from a remote system.
+ </para>
+ <para>For example, this value will be set when the
+ session is created from an SSH or XDMCP connection.
+ </para>
+ <variablelist role="params"/><refsect2><title><anchor role="function" id="Session:display-device"/>The "display-device" property</title><indexterm><primary>display-device</primary><secondary>Session</secondary></indexterm><programlisting>'display-device' readwrite 's'
+</programlisting></refsect2>
+ <para>The display device (aka TTY) that the
+ session is connected to.
+ </para>
+ <variablelist role="params"/><refsect2><title><anchor role="function" id="Session:x11-display"/>The "x11-display" property</title><indexterm><primary>x11-display</primary><secondary>Session</secondary></indexterm><programlisting>'x11-display' readwrite 's'
+</programlisting></refsect2>
+ <para>Value of the X11 DISPLAY for this session
+ if one is present.
+ </para>
+ <variablelist role="params"/><refsect2><title><anchor role="function" id="Session:x11-display-device"/>The "x11-display-device" property</title><indexterm><primary>x11-display-device</primary><secondary>Session</secondary></indexterm><programlisting>'x11-display-device' readwrite 's'
+</programlisting></refsect2>
+ <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.
+ </para>
+ <variablelist role="params"/><refsect2><title><anchor role="function" id="Session:active"/>The "active" property</title><indexterm><primary>active</primary><secondary>Session</secondary></indexterm><programlisting>'active' readwrite 'b'
+</programlisting></refsect2>
+ <para>
+ Whether the session is active on the Seat that
+ it is attached to.</para>
+ <para>If the session is not attached to a seat this value is undefined.
+ </para>
+ <variablelist role="params"/><refsect2><title><anchor role="function" id="Session:is-local"/>The "is-local" property</title><indexterm><primary>is-local</primary><secondary>Session</secondary></indexterm><programlisting>'is-local' readwrite 'b'
+</programlisting></refsect2>
+ <para>
+ Whether the session is local</para>
+ <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.
+ </para>
+ <variablelist role="params"/><refsect2><title><anchor role="function" id="Session:idle-hint"/>The "idle-hint" property</title><indexterm><primary>idle-hint</primary><secondary>Session</secondary></indexterm><programlisting>'idle-hint' readwrite 'b'
+</programlisting></refsect2>
+ <para>
+ This is a hint used to indicate that the session may be idle.
+ </para>
+ <para>
+ For sessions with a <link linkend="Session:x11-display"><literal>x11-display</literal></link> set (ie. graphical
+ sessions), it is up to each session to delegate the
+ responsibility for updating this value. Typically, the
+ screensaver will set this.
+ </para>
+ <para>However, for non-graphical sessions with a <link linkend="Session:display-device"><literal>display-device</literal></link> set
+ the Session object itself will periodically update this value based
+ on the activity detected on the display-device itself.
+ </para>
+ <para>
+ This should not be considered authoritative.
+ </para>
+ <variablelist role="params"/></refsect1>
+</refentry>
diff --git a/src/ck-manager.xml b/src/ck-manager.xml
index ced06b0..5dc9213 100644
--- a/src/ck-manager.xml
+++ b/src/ck-manager.xml
@@ -1,8 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node name="/org/freedesktop/ConsoleKit/Manager">
-
<interface name="org.freedesktop.ConsoleKit.Manager">
-
<method name="OpenSession">
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<arg name="cookie" direction="out" type="s"/>
@@ -17,15 +15,9 @@
<arg name="cookie" direction="in" type="s"/>
<arg name="result" direction="out" type="b"/>
</method>
-
<method name="GetSeats">
<arg name="seats" direction="out" type="ao"/>
</method>
-
- <method name="GetCurrentSession">
- <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <arg name="ssid" direction="out" type="o"/>
- </method>
<method name="GetSessionForCookie">
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<arg name="cookie" direction="in" type="s"/>
@@ -36,19 +28,21 @@
<arg name="pid" direction="in" type="u"/>
<arg name="ssid" direction="out" type="o"/>
</method>
+ <method name="GetCurrentSession">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="ssid" direction="out" type="o"/>
+ </method>
<method name="GetSessionsForUser">
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<arg name="uid" direction="in" type="u"/>
<arg name="sessions" direction="out" type="ao"/>
</method>
-
<method name="GetSystemIdleHint">
<arg name="idle_hint" type="b" direction="out"/>
</method>
<method name="GetSystemIdleSinceHint">
<arg name="iso8601_datetime" type="s" direction="out"/>
</method>
-
<signal name="SeatAdded">
<arg name="sid" type="o"/>
</signal>
diff --git a/src/ck-seat.xml b/src/ck-seat.xml
index 3e7a0fa..c6d3ed6 100644
--- a/src/ck-seat.xml
+++ b/src/ck-seat.xml
@@ -1,33 +1,27 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<!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.ConsoleKit.Seat">
-
<method name="GetId">
<arg name="sid" direction="out" type="o"/>
</method>
-
<method name="GetSessions">
<arg name="sessions" direction="out" type="ao"/>
</method>
-
<method name="GetActiveSession">
<arg name="ssid" direction="out" type="o"/>
</method>
-
<method name="ActivateSession">
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<arg name="ssid" direction="in" type="o"/>
</method>
-
<signal name="ActiveSessionChanged">
- <arg name="sid" type="o"/>
+ <arg name="ssid" type="o"/>
</signal>
<signal name="SessionAdded">
- <arg name="sid" type="o"/>
+ <arg name="ssid" type="o"/>
</signal>
<signal name="SessionRemoved">
- <arg name="sid" type="o"/>
+ <arg name="ssid" type="o"/>
</signal>
</interface>
</node>
diff --git a/src/ck-session.xml b/src/ck-session.xml
index 05df4ed..5699c04 100644
--- a/src/ck-session.xml
+++ b/src/ck-session.xml
@@ -1,8 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<!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.ConsoleKit.Session">
-
<method name="GetId">
<arg name="ssid" direction="out" type="o"/>
</method>
@@ -19,7 +17,7 @@
<arg name="display" direction="out" type="s"/>
</method>
<method name="GetX11DisplayDevice">
- <arg name="x11_display_device" direction="out" type="s"/>
+ <arg name="x11_display_device" direction="out" type="s"/>
</method>
<method name="GetDisplayDevice">
<arg name="display_device" direction="out" type="s"/>
@@ -36,7 +34,6 @@
<method name="GetCreationTime">
<arg name="iso8601_datetime" type="s" direction="out"/>
</method>
-
<method name="Activate">
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
</method>
@@ -46,7 +43,6 @@
<method name="Unlock">
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
</method>
-
<method name="GetIdleHint">
<arg name="idle_hint" type="b" direction="out"/>
</method>
@@ -57,7 +53,6 @@
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<arg name="idle_hint" type="b" direction="in"/>
</method>
-
<signal name="ActiveChanged">
<arg name="is_active" type="b"/>
</signal>
@@ -66,7 +61,6 @@
</signal>
<signal name="Lock"/>
<signal name="Unlock"/>
-
<property name="user" type="u" access="readwrite"/>
<property name="session-type" type="s" access="readwrite"/>
<property name="remote-host-name" type="s" access="readwrite"/>
@@ -76,6 +70,5 @@
<property name="active" type="b" access="readwrite"/>
<property name="is-local" type="b" access="readwrite"/>
<property name="idle-hint" type="b" access="readwrite"/>
-
</interface>
</node>