1<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
2         "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
3
4<node name="/">
5
6  <interface name="org.freedesktop.PolicyKit1.AuthenticationAgent">
7    <annotation name="org.gtk.EggDBus.DocString.Summary" value="Authentication Agent Interface"/>
8    <annotation name="org.gtk.EggDBus.DocString" value="<para>This D-Bus interface is used for communication between the system-wide PolicyKit daemon and one or more authentication agents each running in a user session.</para><para>An authentication agent must implement this interface and register (passing the object path of the object implementing the interface) using the org.freedesktop.PolicyKit1.Authority.RegisterAuthenticationAgent() and org.freedesktop.PolicyKit1.Authority.UnregisterAuthenticationAgent() methods on the #org.freedesktop.PolicyKit1.Authority interface of the PolicyKit daemon.</para>"/>
9
10    <method name="BeginAuthentication">
11      <annotation name="org.gtk.EggDBus.DocString" value="<para>Called
12      by the PolicyKit daemon when the authentication agent needs the
13      user to authenticate as one of the identities in @identities for
14      the action with the identifier @action_id.</para><para>This
15      authentication is normally achieved via the
16      PolkitAgentSession API, which invokes a private
17      setuid helper process to verify the authentication.  When
18      successful, it calls the
19      org.freedesktop.PolicyKit1.Authority.AuthenticationAgentResponse2()
20      method on the #org.freedesktop.PolicyKit1.Authority interface of
21      the PolicyKit daemon before returning.  If the user dismisses the
22      authentication dialog, the authentication agent should return an
23      error.</para>"/>
24
25      <arg name="action_id" direction="in" type="s">
26        <annotation name="org.gtk.EggDBus.DocString" value="The identifier for the action that the user is authentication for."/>
27      </arg>
28
29      <arg name="message" direction="in" type="s">
30        <annotation name="org.gtk.EggDBus.DocString" value="The message to display to the user. This is translated into the locale passed when registering the authentication agent using org.freedesktop.PolicyKit1.Authority.RegisterAuthenticationAgent()."/>
31      </arg>
32
33      <arg name="icon_name" direction="in" type="s">
34        <annotation name="org.gtk.EggDBus.DocString" value="The themed icon describing the action or the empty string if no icon is set."/>
35      </arg>
36
37      <arg name="details" direction="in" type="a{ss}">
38        <annotation name="org.gtk.EggDBus.DocString" value="Details about the authentication request. This is a dictionary of key/value pairs where both key and value are strings. These strings are translated into the locale passed when registering the authentication agent using org.freedesktop.PolicyKit1.Authority.RegisterAuthenticationAgent()."/>
39      </arg>
40
41      <arg name="cookie" direction="in" type="s">
42        <annotation name="org.gtk.EggDBus.DocString" value="A cookie identifying the authentication request."/>
43      </arg>
44
45      <arg name="identities" direction="in" type="a(sa{sv})">
46        <annotation name="org.gtk.EggDBus.Type" value="Array<Identity>"/>
47        <annotation name="org.gtk.EggDBus.DocString" value="An array of #Identity structs that the user can use for authentication."/>
48      </arg>
49    </method>
50
51    <method name="CancelAuthentication">
52      <annotation name="org.gtk.EggDBus.DocString" value="Called by the PolicyKit daemon if the authentication agent needs to cancel an authentication dialog."/>
53
54      <arg name="cookie" direction="in" type="s">
55        <annotation name="org.gtk.EggDBus.DocString" value="The cookie identifying the authentication request."/>
56      </arg>
57    </method>
58
59  </interface>
60
61</node>
62