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<node>
4
5  <interface name="org.freedesktop.PolicyKit1.Authority">
6    <annotation name="org.gtk.EggDBus.DocString.Summary" value="Authority Interface"/>
7    <annotation name="org.gtk.EggDBus.DocString" value="This D-Bus interface is implemented by the <literal>/org/freedesktop/PoliycKit1/Authority</literal> object on the well-known name <literal>org.freedesktop.PolicyKit1</literal> on the system message bus."/>
8
9    <!-- ---------------------------------------------------------------------------------------------------- -->
10
11    <!-- Subject struct -->
12    <annotation name="org.gtk.EggDBus.DeclareStruct" value="Subject">
13      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Subjects"/>
14      <annotation name="org.gtk.EggDBus.DocString" value="<para>This struct describes subjects such as UNIX processes. It is typically used to check if a given process is authorized for an action.</para><para>The following kinds of subjects are known:</para>
15                  <formalpara><title>Unix Process</title><para><literal>subject_kind</literal> should be set to <literal>unix-process</literal> with keys <literal>pid</literal> (of type <literal>uint32</literal>) and <literal>start-time</literal> (of type <literal>uint64</literal>).</para></formalpara>
16                  <formalpara><title>Unix Session</title><para><literal>subject_kind</literal> should be set to <literal>unix-session</literal> with the key <literal>session-id</literal> (of type <literal>string</literal>).</para></formalpara>
17                  <formalpara><title>System Bus Name</title><para><literal>subject_kind</literal> should be set to <literal>system-bus-name</literal> with the key <literal>name</literal> (of type <literal>string</literal>).</para></formalpara>"/>
18
19      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:subject_kind">
20        <annotation name="org.gtk.EggDBus.DocString" value="The type of the subject."/>
21      </annotation>
22
23      <annotation name="org.gtk.EggDBus.Struct.Member"  value="Dict<String,Variant>:subject_details">
24        <annotation name="org.gtk.EggDBus.DocString" value="Details about the subject. Depending of the value of @subject_kind, a set of well-defined key/value pairs are guaranteed to be available."/>
25      </annotation>
26
27    </annotation>
28
29    <!-- ---------------------------------------------------------------------------------------------------- -->
30
31    <!-- Identity struct -->
32    <annotation name="org.gtk.EggDBus.DeclareStruct" value="Identity">
33      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Identities"/>
34      <annotation name="org.gtk.EggDBus.DocString" value="<para>This struct describes identities such as UNIX users and UNIX groups. It is typically used to check if a given process is authorized for an action.</para><para>The following kinds of identities are known:</para>
35                  <formalpara><title>Unix User</title><para><literal>identity_kind</literal> should be set to <literal>unix-user</literal> with key <literal>uid</literal> (of type <literal>uint32</literal>).</para></formalpara>
36                  <formalpara><title>Unix Group</title><para><literal>identity_kind</literal> should be set to <literal>unix-group</literal> with key <literal>gid</literal> (of type <literal>uint32</literal>).</para></formalpara>
37
38"/>
39
40      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:identity_kind">
41        <annotation name="org.gtk.EggDBus.DocString" value="Type of identity."/>
42      </annotation>
43
44      <annotation name="org.gtk.EggDBus.Struct.Member"  value="Dict<String,Variant>:identity_details">
45        <annotation name="org.gtk.EggDBus.DocString" value="Details about the identity. Depending of the value of @identity_kind, a set of well-defined key/value pairs are guaranteed to be available."/>
46      </annotation>
47
48      <!-- TODO: document values in hash map for each identity type-->
49
50    </annotation>
51
52    <!-- ---------------------------------------------------------------------------------------------------- -->
53
54    <!-- ActionDescription struct -->
55    <annotation name="org.gtk.EggDBus.DeclareStruct" value="ActionDescription">
56      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Actions"/>
57      <annotation name="org.gtk.EggDBus.DocString" value="This struct describes actions registered with the PolicyKit daemon."/>
58
59      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:action_id">
60        <annotation name="org.gtk.EggDBus.DocString" value="Action Identifier."/>
61      </annotation>
62
63      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:description">
64        <annotation name="org.gtk.EggDBus.DocString" value="Localized description of the action."/>
65      </annotation>
66
67      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:message">
68        <annotation name="org.gtk.EggDBus.DocString" value="Localized message to be displayed when making the user authenticate for an action."/>
69      </annotation>
70
71      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:vendor_name">
72        <annotation name="org.gtk.EggDBus.DocString" value="Name of the provider of the action or the empty string."/>
73      </annotation>
74
75      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:vendor_url">
76        <annotation name="org.gtk.EggDBus.DocString" value="A URL pointing to a place with more information about the action or the empty string."/>
77      </annotation>
78
79      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:icon_name">
80        <annotation name="org.gtk.EggDBus.DocString" value="The themed icon describing the action or the empty string if no icon is set."/>
81      </annotation>
82
83      <annotation name="org.gtk.EggDBus.Struct.Member"  value="ImplicitAuthorization:implicit_any">
84        <annotation name="org.gtk.EggDBus.Type" value="ImplicitAuthorization"/>
85        <annotation name="org.gtk.EggDBus.DocString" value="A value from the #ImplicitAuthorization enumeration for implicit authorizations that apply to any #Subject."/>
86      </annotation>
87
88      <annotation name="org.gtk.EggDBus.Struct.Member"  value="ImplicitAuthorization:implicit_inactive">
89        <annotation name="org.gtk.EggDBus.Type" value="ImplicitAuthorization"/>
90        <annotation name="org.gtk.EggDBus.DocString" value="A value from the #ImplicitAuthorization enumeration for implicit authorizations that apply any #Subject in an inactive user session on the local console."/>
91      </annotation>
92
93      <annotation name="org.gtk.EggDBus.Struct.Member"  value="ImplicitAuthorization:implicit_active">
94        <annotation name="org.gtk.EggDBus.Type" value="ImplicitAuthorization"/>
95        <annotation name="org.gtk.EggDBus.DocString" value="A value from the #ImplicitAuthorization enumeration for implicit authorizations that apply any #Subject in an active user session on the local console."/>
96      </annotation>
97
98      <annotation name="org.gtk.EggDBus.Struct.Member"  value="Dict<String,String>:annotations">
99        <annotation name="org.gtk.EggDBus.DocString" value="Annotations for the action."/>
100      </annotation>
101
102    </annotation>
103
104    <!-- ---------------------------------------------------------------------------------------------------- -->
105
106    <!-- Flags used for checking authorizations -->
107    <annotation name="org.gtk.EggDBus.DeclareFlags" value="CheckAuthorizationFlags">
108      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Flags used when checking authorizations"/>
109      <annotation name="org.gtk.EggDBus.DocString" value="Flags used in the org.freedesktop.PolicyKit1.Authority.CheckAuthorization() method."/>
110
111      <annotation name="org.gtk.EggDBus.Flags.Member" value="AllowUserInteraction">
112        <annotation name="org.gtk.EggDBus.DocString" value="If the #Subject can obtain the authorization through authentication, and an authentication agent is available, then attempt to do so. Note, this means that the org.freedesktop.PolicyKit1.Authority.CheckAuthorization() method will block while the user is being asked to authenticate."/>
113      </annotation>
114    </annotation>
115
116    <!-- ---------------------------------------------------------------------------------------------------- -->
117
118    <!-- An structure containing the results of an authorization check -->
119    <annotation name="org.gtk.EggDBus.DeclareStruct" value="AuthorizationResult">
120      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Authorization Results"/>
121      <annotation name="org.gtk.EggDBus.DocString" value="Describes the result of calling org.freedesktop.PolicyKit1.Authority.CheckAuthorization()."/>
122
123      <annotation name="org.gtk.EggDBus.Struct.Member"  value="Boolean:is_authorized">
124        <annotation name="org.gtk.EggDBus.DocString" value="TRUE if the given #Subject is authorized for the given action."/>
125      </annotation>
126
127      <annotation name="org.gtk.EggDBus.Struct.Member"  value="Boolean:is_challenge">
128        <annotation name="org.gtk.EggDBus.DocString" value="TRUE if the given #Subject could be authorized if more information was provided, and %CheckAuthorizationFlags.AllowUserInteraction wasn't passed or no suitable authentication agent was available."/>
129      </annotation>
130
131      <annotation name="org.gtk.EggDBus.Struct.Member"  value="Dict<String,String>:details">
132        <annotation name="org.gtk.EggDBus.DocString" value="Details for the result or empty if not authorized. Known key/value-pairs include <literal>polkit.temporary_authorization_id</literal> (if the authorization is temporary, this is set to the opaque temporary authorization id), <literal>polkit.retains_authorization_after_challenge</literal> (Set to a non-empty string if the authorization will be retained after authentication (if is_challenge is TRUE)) and <literal>polkit.lockdown</literal> (set to a non-empty string if the action is locked down)."/>
133      </annotation>
134    </annotation>
135
136    <!-- ---------------------------------------------------------------------------------------------------- -->
137
138    <!-- An enumeration for implicit authorizations -->
139    <annotation name="org.gtk.EggDBus.DeclareEnum" value="ImplicitAuthorization">
140      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Implicit authorizations"/>
141      <annotation name="org.gtk.EggDBus.DocString" value="An enumeration for granting implicit authorizations."/>
142
143      <annotation name="org.gtk.EggDBus.Enum.Member" value="NotAuthorized">
144        <annotation name="org.gtk.EggDBus.DocString" value="The #Subject is not authorized."/>
145      </annotation>
146
147      <annotation name="org.gtk.EggDBus.Enum.Member" value="AuthenticationRequired">
148        <annotation name="org.gtk.EggDBus.DocString" value="Authentication is required."/>
149      </annotation>
150
151      <annotation name="org.gtk.EggDBus.Enum.Member" value="AdministratorAuthenticationRequired">
152        <annotation name="org.gtk.EggDBus.DocString" value="Authentication as an administrator is required."/>
153      </annotation>
154
155      <annotation name="org.gtk.EggDBus.Enum.Member" value="AuthenticationRequiredRetained">
156        <annotation name="org.gtk.EggDBus.DocString" value="Authentication is required. If the authorization is obtained, it is retained."/>
157      </annotation>
158
159      <annotation name="org.gtk.EggDBus.Enum.Member" value="AdministratorAuthenticationRequiredRetained">
160        <annotation name="org.gtk.EggDBus.DocString" value="Authentication as an administrator is required. If the authorization is obtained, it is retained."/>
161      </annotation>
162
163      <annotation name="org.gtk.EggDBus.Enum.Member" value="Authorized">
164        <annotation name="org.gtk.EggDBus.DocString" value="The subject is authorized."/>
165      </annotation>
166
167    </annotation>
168
169    <!-- ---------------------------------------------------------------------------------------------------- -->
170
171    <!-- The error domain used for reporting errors -->
172    <annotation name="org.gtk.EggDBus.DeclareErrorDomain" value="Error">
173      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Errors"/>
174      <annotation name="org.gtk.EggDBus.DocString" value="Errors that can be returned by various method calls."/>
175
176      <annotation name="org.gtk.EggDBus.ErrorDomain.Member" value="org.freedesktop.PolicyKit1.Error.Failed">
177        <annotation name="org.gtk.EggDBus.DocString" value="The operation failed."/>
178      </annotation>
179      <annotation name="org.gtk.EggDBus.ErrorDomain.Member" value="org.freedesktop.PolicyKit1.Error.Cancelled">
180        <annotation name="org.gtk.EggDBus.DocString" value="The operation was cancelled."/>
181      </annotation>
182      <annotation name="org.gtk.EggDBus.ErrorDomain.Member" value="org.freedesktop.PolicyKit1.Error.NotSupported">
183        <annotation name="org.gtk.EggDBus.DocString" value="The operation is not supported."/>
184      </annotation>
185      <annotation name="org.gtk.EggDBus.ErrorDomain.Member" value="org.freedesktop.PolicyKit1.Error.NotAuthorized">
186        <annotation name="org.gtk.EggDBus.DocString" value="You are not authorized to perform the requested operation."/>
187      </annotation>
188
189      <!-- errors not exposed in GObject library follows here -->
190      <annotation name="org.gtk.EggDBus.ErrorDomain.Member" value="org.freedesktop.PolicyKit1.Error.CancellationIdNotUnique">
191        <annotation name="org.gtk.EggDBus.ErrorDomain.Member.Value" value="1000"/>
192        <annotation name="org.gtk.EggDBus.DocString" value="The passed @cancellation_id is already in use."/>
193      </annotation>
194    </annotation>
195
196    <!-- ---------------------------------------------------------------------------------------------------- -->
197
198    <!-- Flags describing what features the Authority implementation supports -->
199    <annotation name="org.gtk.EggDBus.DeclareFlags" value="AuthorityFeatures">
200      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Authority Features"/>
201      <annotation name="org.gtk.EggDBus.DocString" value="Flags describing features supported by the Authority implementation."/>
202
203      <annotation name="org.gtk.EggDBus.Flags.Member" value="TemporaryAuthorization">
204        <annotation name="org.gtk.EggDBus.DocString" value="The authority supports temporary authorizations that can be obtained through authentication."/>
205      </annotation>
206
207      <annotation name="org.gtk.EggDBus.Flags.Member" value="Lockdown">
208        <annotation name="org.gtk.EggDBus.DocString" value="The authority supports the org.freedesktop.PolicyKit1.Authority.AddLockdownForAction() and org.freedesktop.PolicyKit1.Authority.RemoveLockdownForAction() methods."/>
209      </annotation>
210    </annotation>
211
212    <!-- ---------------------------------------------------------------------------------------------------- -->
213
214    <property name="BackendName" type="s" access="read">
215      <annotation name="org.gtk.EggDBus.DocString" value="The name of the currently used Authority backend."/>
216    </property>
217
218    <property name="BackendVersion" type="s" access="read">
219      <annotation name="org.gtk.EggDBus.DocString" value="The version of the currently used Authority backend."/>
220    </property>
221
222    <property name="BackendFeatures" type="u" access="read">
223      <annotation name="org.gtk.EggDBus.Type" value="AuthorityFeatures"/>
224      <annotation name="org.gtk.EggDBus.DocString" value="The features supported by the currently used Authority backend."/>
225    </property>
226
227    <!-- ---------------------------------------------------------------------------------------------------- -->
228
229    <method name="EnumerateActions">
230      <annotation name="org.gtk.EggDBus.DocString" value="Enumerates all registered PolicyKit actions."/>
231
232      <arg name="locale" direction="in" type="s">
233        <annotation name="org.gtk.EggDBus.DocString" value="The locale to get descriptions in or the blank string to use the system locale."/>
234      </arg>
235
236      <arg name="action_descriptions" direction="out" type="a(ssssssuuua{ss})">
237        <annotation name="org.gtk.EggDBus.Type" value="Array<ActionDescription>"/>
238        <annotation name="org.gtk.EggDBus.DocString" value="An array of #ActionDescription structs."/>
239      </arg>
240    </method>
241
242    <!-- ---------------------------------------------------------------------------------------------------- -->
243
244    <method name="CheckAuthorization">
245      <annotation name="org.gtk.EggDBus.DocString" value="<para>Checks if @subject is authorized to perform the action with identifier @action_id.</para><para>If @cancellation_id is non-empty and already in use for the caller, the %org.freedesktop.PolicyKit1.Error.CancellationIdNotUnique error is returned.</para><para>Note that %CheckAuthorizationFlags.AllowUserInteraction SHOULD be passed ONLY if the event that triggered the authorization check is stemming from an user action, e.g. the user pressing a button or attaching a device.</para>"/>
246
247      <arg name="subject" direction="in" type="(sa{sv})">
248        <annotation name="org.gtk.EggDBus.DocString" value="A #Subject struct."/>
249        <annotation name="org.gtk.EggDBus.Type" value="Subject"/>
250      </arg>
251
252      <arg name="action_id" direction="in" type="s">
253        <annotation name="org.gtk.EggDBus.DocString" value="Identifier for the action that @subject is attempting to do."/>
254      </arg>
255
256      <arg name="details" direction="in" type="a{ss}">
257        <annotation name="org.gtk.EggDBus.DocString" value="Details describing the action. Keys starting with <literal>polkit.</literal> are reserved for internal use and cannot be used."/>
258      </arg>
259
260      <arg name="flags" direction="in" type="u">
261        <annotation name="org.gtk.EggDBus.Type" value="CheckAuthorizationFlags"/>
262        <annotation name="org.gtk.EggDBus.DocString" value="A set of #CheckAuthorizationFlags."/>
263      </arg>
264
265      <arg name="cancellation_id" direction="in" type="s">
266        <annotation name="org.gtk.EggDBus.DocString" value="A unique id used to cancel the the authentication check via org.freedesktop.PolicyKit1.Authority.CancelCheckAuthorization() or the empty string if cancellation is not needed."/>
267      </arg>
268
269      <arg name="result" direction="out" type="(bba{ss})">
270        <annotation name="org.gtk.EggDBus.Type" value="AuthorizationResult"/>
271        <annotation name="org.gtk.EggDBus.DocString" value="An #AuthorizationResult structure."/>
272      </arg>
273    </method>
274
275    <method name="CancelCheckAuthorization">
276      <annotation name="org.gtk.EggDBus.DocString" value="Cancels an authorization check."/>
277
278      <arg name="cancellation_id" direction="in" type="s">
279        <annotation name="org.gtk.EggDBus.DocString" value="The @cancellation_id passed to org.freedesktop.PolicyKit1.Authority.CheckAuthorization()."/>
280      </arg>
281    </method>
282
283    <!-- ---------------------------------------------------------------------------------------------------- -->
284
285    <method name="RegisterAuthenticationAgent">
286      <annotation name="org.gtk.EggDBus.DocString" value="<para>Register an authentication agent.</para><para>Note that this should be called by the same effective UID which will be passed to org.freedesktop.PolicyKit1.Authority.AuthenticationAgentResponse2().</para>"/>
287
288      <arg name="subject" direction="in" type="(sa{sv})">
289        <annotation name="org.gtk.EggDBus.Type" value="Subject"/>
290        <annotation name="org.gtk.EggDBus.DocString" value="The subject to register the authentication agent for, typically a session subject."/>
291      </arg>
292
293      <arg name="locale" direction="in" type="s">
294        <annotation name="org.gtk.EggDBus.DocString" value="The locale of the authentication agent."/>
295      </arg>
296
297      <arg name="object_path" direction="in" type="s">
298        <annotation name="org.gtk.EggDBus.DocString" value="The object path of authentication agent object on the unique name of the caller."/>
299      </arg>
300    </method>
301
302    <method name="UnregisterAuthenticationAgent">
303      <annotation name="org.gtk.EggDBus.DocString" value="Unregister an authentication agent."/>
304
305      <arg name="subject" direction="in" type="(sa{sv})">
306        <annotation name="org.gtk.EggDBus.Type" value="Subject"/>
307        <annotation name="org.gtk.EggDBus.DocString" value="The @subject passed to org.freedesktop.PolicyKit1.Authority.RegisterAuthenticationAgent()."/>
308      </arg>
309
310      <arg name="object_path" direction="in" type="s">
311        <annotation name="org.gtk.EggDBus.DocString" value="The @object_path passed to org.freedesktop.PolicyKit1.Authority.RegisterAuthenticationAgent()."/>
312      </arg>
313    </method>
314
315    <method name="AuthenticationAgentResponse">
316      <annotation name="org.gtk.EggDBus.DocString" value="Method for authentication agents to invoke on successful
317authentication, intended only for use by a privileged helper process
318internal to polkit. This method will fail unless a sufficiently privileged
319caller invokes it. Deprecated in favor of org.freedesktop.PolicyKit1.Authority.AuthenticationAgentResponse2."/>
320
321      <arg name="cookie" direction="in" type="s">
322        <annotation name="org.gtk.EggDBus.DocString" value="The cookie identifying the authentication request that was passed to the authentication agent."/>
323      </arg>
324
325      <arg name="identity" direction="in" type="(sa{sv})">
326        <annotation name="org.gtk.EggDBus.Type" value="Identity"/>
327        <annotation name="org.gtk.EggDBus.DocString" value="A #Identity struct describing what identity was authenticated."/>
328      </arg>
329    </method>
330
331    <method name="AuthenticationAgentResponse2">
332      <annotation name="org.gtk.EggDBus.DocString" value="Method for authentication agents to invoke on successful
333authentication, intended only for use by a privileged helper process
334internal to polkit. This method will fail unless a sufficiently privileged
335caller invokes it. Note this method was added in 0.114, and should be preferred over org.freedesktop.PolicyKit1.Authority.AuthenticationAgentResponse()
336as it fixes a security issue."/>
337
338      <arg name="uid" direction="in" type="u">
339        <annotation name="org.gtk.EggDBus.DocString" value="The real uid of the agent.  Normally set by the setuid helper program.
340Must match the effective UID of the caller of org.freedesktop.PolicyKit1.Authority.RegisterAuthenticationAgent()."/>
341      </arg>
342
343      <arg name="cookie" direction="in" type="s">
344        <annotation name="org.gtk.EggDBus.DocString" value="The cookie identifying the authentication request that was passed to the authentication agent."/>
345      </arg>
346
347      <arg name="identity" direction="in" type="(sa{sv})">
348        <annotation name="org.gtk.EggDBus.Type" value="Identity"/>
349        <annotation name="org.gtk.EggDBus.DocString" value="A #Identity struct describing what identity was authenticated."/>
350      </arg>
351    </method>
352
353    <!-- ---------------------------------------------------------------------------------------------------- -->
354
355    <!-- TemporaryAuthorization struct -->
356    <annotation name="org.gtk.EggDBus.DeclareStruct" value="TemporaryAuthorization">
357      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Temporary Authorizations"/>
358      <annotation name="org.gtk.EggDBus.DocString" value="This struct describes a temporary authorization."/>
359
360      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:id">
361        <annotation name="org.gtk.EggDBus.DocString" value="An opaque identifier for the temporary authorization."/>
362      </annotation>
363
364      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:action_id">
365        <annotation name="org.gtk.EggDBus.DocString" value="The action the temporary authorization is for."/>
366      </annotation>
367
368      <annotation name="org.gtk.EggDBus.Struct.Member"  value="Subject:subject">
369        <annotation name="org.gtk.EggDBus.Type" value="Subject"/>
370        <annotation name="org.gtk.EggDBus.DocString" value="The subject the temporary authorization is for."/>
371      </annotation>
372
373      <annotation name="org.gtk.EggDBus.Struct.Member"  value="UInt64:time_obtained">
374        <annotation name="org.gtk.EggDBus.DocString" value="When the temporary authorization was obtained, in seconds since the Epoch Jan 1, 1970 0:00 UTC."/>
375      </annotation>
376
377      <annotation name="org.gtk.EggDBus.Struct.Member"  value="UInt64:time_expires">
378        <annotation name="org.gtk.EggDBus.DocString" value="When the temporary authorization is set to expire, in seconds since the Epoch Jan 1, 1970 0:00 UTC."/>
379      </annotation>
380    </annotation>
381
382    <!-- ---------------------------------------------------------------------------------------------------- -->
383
384    <method name="EnumerateTemporaryAuthorizations">
385      <annotation name="org.gtk.EggDBus.DocString" value="Retrieves all temporary authorizations that applies to @subject."/>
386
387      <arg name="subject" direction="in" type="(sa{sv})">
388        <annotation name="org.gtk.EggDBus.Type" value="Subject"/>
389        <annotation name="org.gtk.EggDBus.DocString" value="The subject to get temporary authorizations for."/>
390      </arg>
391
392      <arg name="temporary_authorizations" direction="out" type="a(ss(sa{sv})tt)">
393        <annotation name="org.gtk.EggDBus.Type" value="Array<TemporaryAuthorization>"/>
394        <annotation name="org.gtk.EggDBus.DocString" value="An array of #TemporaryAuthorization structs."/>
395      </arg>
396    </method>
397
398    <method name="RevokeTemporaryAuthorizations">
399      <annotation name="org.gtk.EggDBus.DocString" value="Revokes all temporary authorizations that applies to @subject."/>
400
401      <arg name="subject" direction="in" type="(sa{sv})">
402        <annotation name="org.gtk.EggDBus.Type" value="Subject"/>
403        <annotation name="org.gtk.EggDBus.DocString" value="The subject to revoke temporary authorizations from."/>
404      </arg>
405    </method>
406
407    <method name="RevokeTemporaryAuthorizationById">
408      <annotation name="org.gtk.EggDBus.DocString" value="Revokes all temporary authorizations that applies to @subject."/>
409
410      <arg name="id" direction="in" type="s">
411        <annotation name="org.gtk.EggDBus.DocString" value="The opaque identifier of the temporary authorization."/>
412      </arg>
413    </method>
414
415    <!-- ---------------------------------------------------------------------------------------------------- -->
416
417    <method name="AddLockdownForAction">
418      <annotation name="org.gtk.EggDBus.DocString" value="Locks down an action so administrator authentication is always needed to obtain a temporary authorization for the action."/>
419      <arg name="action_id" direction="in" type="s">
420        <annotation name="org.gtk.EggDBus.DocString" value="Identifier for the action."/>
421      </arg>
422    </method>
423
424    <method name="RemoveLockdownForAction">
425      <annotation name="org.gtk.EggDBus.DocString" value="Removes the effect of a previous org.freedesktop.PolicyKit1.Authority.AddLockdownForAction() call."/>
426      <arg name="action_id" direction="in" type="s">
427        <annotation name="org.gtk.EggDBus.DocString" value="Identifier for the action."/>
428      </arg>
429    </method>
430
431    <!-- ---------------------------------------------------------------------------------------------------- -->
432
433    <signal name="Changed">
434      <annotation name="org.gtk.EggDBus.DocString" value="This signal is emitted when actions and/or authorizations change"/>
435    </signal>
436
437  </interface>
438</node>
439