org.freedesktop.PolicyKit1.Authority.xml 26.8 KB
Newer Older
1 2 3 4
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>

5 6 7
  <interface name="org.freedesktop.PolicyKit1.Authority">
    <annotation name="org.gtk.EggDBus.DocString.Summary" value="Authority Interface"/>
    <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 12
    <!-- Subject struct -->
    <annotation name="org.gtk.EggDBus.DeclareStruct" value="Subject">
13
      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Subjects"/>
David Zeuthen's avatar
David Zeuthen committed
14 15 16 17
      <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>
                  <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>
                  <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>
                  <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 28
    </annotation>

29 30
    <!-- ---------------------------------------------------------------------------------------------------- -->

31 32
    <!-- Identity struct -->
    <annotation name="org.gtk.EggDBus.DeclareStruct" value="Identity">
33
      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Identities"/>
David Zeuthen's avatar
David Zeuthen committed
34 35 36 37 38
      <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>
                  <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>
                  <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>

"/>
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 51

    </annotation>

52 53
    <!-- ---------------------------------------------------------------------------------------------------- -->

54 55
    <!-- ActionDescription struct -->
    <annotation name="org.gtk.EggDBus.DeclareStruct" value="ActionDescription">
56 57
      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Actions"/>
      <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 84
      <annotation name="org.gtk.EggDBus.Struct.Member"  value="ImplicitAuthorization:implicit_any">
        <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 89
      <annotation name="org.gtk.EggDBus.Struct.Member"  value="ImplicitAuthorization:implicit_inactive">
        <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 94
      <annotation name="org.gtk.EggDBus.Struct.Member"  value="ImplicitAuthorization:implicit_active">
        <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 107
    <!-- Flags used for checking authorizations -->
    <annotation name="org.gtk.EggDBus.DeclareFlags" value="CheckAuthorizationFlags">
108 109 110
      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Flags used when checking authorizations"/>
      <annotation name="org.gtk.EggDBus.DocString" value="Flags used in the org.freedesktop.PolicyKit1.Authority.CheckAuthorization() method."/>

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
    <!-- ---------------------------------------------------------------------------------------------------- -->

David Zeuthen's avatar
David Zeuthen committed
118
    <!-- An structure containing the results of an authorization check -->
119 120 121
    <annotation name="org.gtk.EggDBus.DeclareStruct" value="AuthorizationResult">
      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Authorization Results"/>
      <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">
David Zeuthen's avatar
David Zeuthen committed
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">
David Zeuthen's avatar
David Zeuthen committed
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 135
    </annotation>

136 137
    <!-- ---------------------------------------------------------------------------------------------------- -->

138 139
    <!-- An enumeration for implicit authorizations -->
    <annotation name="org.gtk.EggDBus.DeclareEnum" value="ImplicitAuthorization">
140 141
      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Implicit authorizations"/>
      <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 148 149
      <annotation name="org.gtk.EggDBus.Enum.Member" value="AuthenticationRequired">
        <annotation name="org.gtk.EggDBus.DocString" value="Authentication is required."/>
      </annotation>
150

151 152 153
      <annotation name="org.gtk.EggDBus.Enum.Member" value="AdministratorAuthenticationRequired">
        <annotation name="org.gtk.EggDBus.DocString" value="Authentication as an administrator is required."/>
      </annotation>
154

155 156 157
      <annotation name="org.gtk.EggDBus.Enum.Member" value="AuthenticationRequiredRetained">
        <annotation name="org.gtk.EggDBus.DocString" value="Authentication is required. If the authorization is obtained, it is retained."/>
      </annotation>
David Zeuthen's avatar
David Zeuthen committed
158

159 160 161 162 163
      <annotation name="org.gtk.EggDBus.Enum.Member" value="AdministratorAuthenticationRequiredRetained">
        <annotation name="org.gtk.EggDBus.DocString" value="Authentication as an administrator is required. If the authorization is obtained, it is retained."/>
      </annotation>

      <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 168
    </annotation>

169 170
    <!-- ---------------------------------------------------------------------------------------------------- -->

171 172
    <!-- The error domain used for reporting errors -->
    <annotation name="org.gtk.EggDBus.DeclareErrorDomain" value="Error">
173
      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Errors"/>
David Zeuthen's avatar
David Zeuthen committed
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 180 181
      <annotation name="org.gtk.EggDBus.ErrorDomain.Member" value="org.freedesktop.PolicyKit1.Error.Cancelled">
        <annotation name="org.gtk.EggDBus.DocString" value="The operation was cancelled."/>
      </annotation>
182
      <annotation name="org.gtk.EggDBus.ErrorDomain.Member" value="org.freedesktop.PolicyKit1.Error.NotSupported">
David Zeuthen's avatar
David Zeuthen committed
183
        <annotation name="org.gtk.EggDBus.DocString" value="The operation is not supported."/>
184 185
      </annotation>
      <annotation name="org.gtk.EggDBus.ErrorDomain.Member" value="org.freedesktop.PolicyKit1.Error.NotAuthorized">
David Zeuthen's avatar
David Zeuthen committed
186
        <annotation name="org.gtk.EggDBus.DocString" value="You are not authorized to perform the requested operation."/>
187
      </annotation>
188 189 190 191 192 193

      <!-- errors not exposed in GObject library follows here -->
      <annotation name="org.gtk.EggDBus.ErrorDomain.Member" value="org.freedesktop.PolicyKit1.Error.CancellationIdNotUnique">
        <annotation name="org.gtk.EggDBus.ErrorDomain.Member.Value" value="1000"/>
        <annotation name="org.gtk.EggDBus.DocString" value="The passed @cancellation_id is already in use."/>
      </annotation>
194
    </annotation>
David Zeuthen's avatar
David Zeuthen committed
195

196 197
    <!-- ---------------------------------------------------------------------------------------------------- -->

198 199 200 201 202 203 204 205 206 207
    <!-- Flags describing what features the Authority implementation supports -->
    <annotation name="org.gtk.EggDBus.DeclareFlags" value="AuthorityFeatures">
      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Authority Features"/>
      <annotation name="org.gtk.EggDBus.DocString" value="Flags describing features supported by the Authority implementation."/>

      <annotation name="org.gtk.EggDBus.Flags.Member" value="TemporaryAuthorization">
        <annotation name="org.gtk.EggDBus.DocString" value="The authority supports temporary authorizations that can be obtained through authentication."/>
      </annotation>

      <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 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228
      </annotation>
    </annotation>

    <!-- ---------------------------------------------------------------------------------------------------- -->

    <property name="BackendName" type="s" access="read">
      <annotation name="org.gtk.EggDBus.DocString" value="The name of the currently used Authority backend."/>
    </property>

    <property name="BackendVersion" type="s" access="read">
      <annotation name="org.gtk.EggDBus.DocString" value="The version of the currently used Authority backend."/>
    </property>

    <property name="BackendFeatures" type="u" access="read">
      <annotation name="org.gtk.EggDBus.Type" value="AuthorityFeatures"/>
      <annotation name="org.gtk.EggDBus.DocString" value="The features supported by the currently used Authority backend."/>
    </property>

    <!-- ---------------------------------------------------------------------------------------------------- -->

229
    <method name="EnumerateActions">
230 231 232 233 234 235
      <annotation name="org.gtk.EggDBus.DocString" value="Enumerates all registered PolicyKit actions."/>

      <arg name="locale" direction="in" type="s">
        <annotation name="org.gtk.EggDBus.DocString" value="The locale to get descriptions in or the blank string to use the system locale."/>
      </arg>

236 237
      <arg name="action_descriptions" direction="out" type="a(ssssssuuua{ss})">
        <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 241
    </method>

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 253 254 255

      <arg name="action_id" direction="in" type="s">
        <annotation name="org.gtk.EggDBus.DocString" value="Identifier for the action that @subject is attempting to do."/>
      </arg>

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 259
      </arg>

260 261
      <arg name="flags" direction="in" type="u">
        <annotation name="org.gtk.EggDBus.Type" value="CheckAuthorizationFlags"/>
262
        <annotation name="org.gtk.EggDBus.DocString" value="A set of #CheckAuthorizationFlags."/>
263
      </arg>
264

265 266 267 268
      <arg name="cancellation_id" direction="in" type="s">
        <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."/>
      </arg>

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 273 274
      </arg>
    </method>

275 276 277 278 279 280 281 282
    <method name="CancelCheckAuthorization">
      <annotation name="org.gtk.EggDBus.DocString" value="Cancels an authorization check."/>

      <arg name="cancellation_id" direction="in" type="s">
        <annotation name="org.gtk.EggDBus.DocString" value="The @cancellation_id passed to org.freedesktop.PolicyKit1.Authority.CheckAuthorization()."/>
      </arg>
    </method>

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 289 290
      <arg name="subject" direction="in" type="(sa{sv})">
        <annotation name="org.gtk.EggDBus.Type" value="Subject"/>
        <annotation name="org.gtk.EggDBus.DocString" value="The subject to register the authentication agent for, typically a session subject."/>
291
      </arg>
292

293 294 295 296
      <arg name="locale" direction="in" type="s">
        <annotation name="org.gtk.EggDBus.DocString" value="The locale of the authentication agent."/>
      </arg>

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 300 301 302
      </arg>
    </method>

    <method name="UnregisterAuthenticationAgent">
303 304
      <annotation name="org.gtk.EggDBus.DocString" value="Unregister an authentication agent."/>

305 306 307
      <arg name="subject" direction="in" type="(sa{sv})">
        <annotation name="org.gtk.EggDBus.Type" value="Subject"/>
        <annotation name="org.gtk.EggDBus.DocString" value="The @subject passed to org.freedesktop.PolicyKit1.Authority.RegisterAuthenticationAgent()."/>
308 309
      </arg>

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 313 314
      </arg>
    </method>

315
    <method name="AuthenticationAgentResponse">
316 317
      <annotation name="org.gtk.EggDBus.DocString" value="Method for authentication agents to invoke on successful
authentication, intended only for use by a privileged helper process
318 319
internal to polkit. This method will fail unless a sufficiently privileged
caller invokes it. Deprecated in favor of org.freedesktop.PolicyKit1.Authority.AuthenticationAgentResponse2."/>
320 321 322 323 324 325 326 327 328 329 330 331 332 333

      <arg name="cookie" direction="in" type="s">
        <annotation name="org.gtk.EggDBus.DocString" value="The cookie identifying the authentication request that was passed to the authentication agent."/>
      </arg>

      <arg name="identity" direction="in" type="(sa{sv})">
        <annotation name="org.gtk.EggDBus.Type" value="Identity"/>
        <annotation name="org.gtk.EggDBus.DocString" value="A #Identity struct describing what identity was authenticated."/>
      </arg>
    </method>

    <method name="AuthenticationAgentResponse2">
      <annotation name="org.gtk.EggDBus.DocString" value="Method for authentication agents to invoke on successful
authentication, intended only for use by a privileged helper process
334 335
internal to polkit. This method will fail unless a sufficiently privileged
caller invokes it. Note this method was added in 0.114, and should be preferred over org.freedesktop.PolicyKit1.Authority.AuthenticationAgentResponse()
336 337 338
as it fixes a security issue."/>

      <arg name="uid" direction="in" type="u">
339 340
        <annotation name="org.gtk.EggDBus.DocString" value="The real uid of the agent.  Normally set by the setuid helper program.
Must 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 346 347
      </arg>

      <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 351 352
      </arg>
    </method>

353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406
    <!-- ---------------------------------------------------------------------------------------------------- -->

    <!-- TemporaryAuthorization struct -->
    <annotation name="org.gtk.EggDBus.DeclareStruct" value="TemporaryAuthorization">
      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Temporary Authorizations"/>
      <annotation name="org.gtk.EggDBus.DocString" value="This struct describes a temporary authorization."/>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:id">
        <annotation name="org.gtk.EggDBus.DocString" value="An opaque identifier for the temporary authorization."/>
      </annotation>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:action_id">
        <annotation name="org.gtk.EggDBus.DocString" value="The action the temporary authorization is for."/>
      </annotation>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="Subject:subject">
        <annotation name="org.gtk.EggDBus.Type" value="Subject"/>
        <annotation name="org.gtk.EggDBus.DocString" value="The subject the temporary authorization is for."/>
      </annotation>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="UInt64:time_obtained">
        <annotation name="org.gtk.EggDBus.DocString" value="When the temporary authorization was obtained, in seconds since the Epoch Jan 1, 1970 0:00 UTC."/>
      </annotation>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="UInt64:time_expires">
        <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."/>
      </annotation>
    </annotation>

    <!-- ---------------------------------------------------------------------------------------------------- -->

    <method name="EnumerateTemporaryAuthorizations">
      <annotation name="org.gtk.EggDBus.DocString" value="Retrieves all temporary authorizations that applies to @subject."/>

      <arg name="subject" direction="in" type="(sa{sv})">
        <annotation name="org.gtk.EggDBus.Type" value="Subject"/>
        <annotation name="org.gtk.EggDBus.DocString" value="The subject to get temporary authorizations for."/>
      </arg>

      <arg name="temporary_authorizations" direction="out" type="a(ss(sa{sv})tt)">
        <annotation name="org.gtk.EggDBus.Type" value="Array<TemporaryAuthorization>"/>
        <annotation name="org.gtk.EggDBus.DocString" value="An array of #TemporaryAuthorization structs."/>
      </arg>
    </method>

    <method name="RevokeTemporaryAuthorizations">
      <annotation name="org.gtk.EggDBus.DocString" value="Revokes all temporary authorizations that applies to @subject."/>

      <arg name="subject" direction="in" type="(sa{sv})">
        <annotation name="org.gtk.EggDBus.Type" value="Subject"/>
        <annotation name="org.gtk.EggDBus.DocString" value="The subject to revoke temporary authorizations from."/>
      </arg>
    </method>

407 408 409 410 411 412 413 414
    <method name="RevokeTemporaryAuthorizationById">
      <annotation name="org.gtk.EggDBus.DocString" value="Revokes all temporary authorizations that applies to @subject."/>

      <arg name="id" direction="in" type="s">
        <annotation name="org.gtk.EggDBus.DocString" value="The opaque identifier of the temporary authorization."/>
      </arg>
    </method>

415 416
    <!-- ---------------------------------------------------------------------------------------------------- -->

417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432
    <method name="AddLockdownForAction">
      <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."/>
      <arg name="action_id" direction="in" type="s">
        <annotation name="org.gtk.EggDBus.DocString" value="Identifier for the action."/>
      </arg>
    </method>

    <method name="RemoveLockdownForAction">
      <annotation name="org.gtk.EggDBus.DocString" value="Removes the effect of a previous org.freedesktop.PolicyKit1.Authority.AddLockdownForAction() call."/>
      <arg name="action_id" direction="in" type="s">
        <annotation name="org.gtk.EggDBus.DocString" value="Identifier for the action."/>
      </arg>
    </method>

    <!-- ---------------------------------------------------------------------------------------------------- -->

433
    <signal name="Changed">
434
      <annotation name="org.gtk.EggDBus.DocString" value="This signal is emitted when actions and/or authorizations change"/>
435 436
    </signal>

David Zeuthen's avatar
David Zeuthen committed
437 438
  </interface>
</node>