<commit_before><!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.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."/>

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

    <!-- Subject struct -->
    <annotation name="org.gtk.EggDBus.DeclareStruct" value="Subject">
      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Subjects"/>
      <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>TODO: document required/optional key/value pairs in @subject_details.</para>"/>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:subject_kind">
        <annotation name="org.gtk.EggDBus.DocString" value="The type of the subject."/>
      </annotation>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="Dict<String,Variant>:subject_details">
        <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."/>
      </annotation>

    </annotation>

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

    <!-- Identity struct -->
    <annotation name="org.gtk.EggDBus.DeclareStruct" value="Identity">
      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Subjects"/>
      <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>TODO: document required/optional key/value pairs in @identity_details.</para>"/>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:identity_kind">
        <annotation name="org.gtk.EggDBus.DocString" value="Type of identity."/>
      </annotation>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="Dict<String,Variant>:identity_details">
        <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."/>
      </annotation>

      <!-- TODO: document values in hash map for each identity type-->

    </annotation>

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

    <!-- ActionDescription struct -->
    <annotation name="org.gtk.EggDBus.DeclareStruct" value="ActionDescription">
      <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."/>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:action_id">
        <annotation name="org.gtk.EggDBus.DocString" value="Action Identifier."/>
      </annotation>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:description">
        <annotation name="org.gtk.EggDBus.DocString" value="Localized description of the action."/>
      </annotation>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:message">
        <annotation name="org.gtk.EggDBus.DocString" value="Localized message to be displayed when making the user authenticate for an action."/>
      </annotation>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:vendor_name">
        <annotation name="org.gtk.EggDBus.DocString" value="Name of the provider of the action or the empty string."/>
      </annotation>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:vendor_url">
        <annotation name="org.gtk.EggDBus.DocString" value="A URL pointing to a place with more information about the action or the empty string."/>
      </annotation>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:icon_name">
        <annotation name="org.gtk.EggDBus.DocString" value="The themed icon describing the action or the empty string if no icon is set."/>
      </annotation>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="ImplicitAuthorization:implicit_any">
        <annotation name="org.gtk.EggDBus.Type" value="ImplicitAuthorization"/>
        <annotation name="org.gtk.EggDBus.DocString" value="A value from the #ImplicitAuthorization enumeration for implicit authorizations that apply to any #Subject."/>
      </annotation>

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

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

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="Dict<String,String>:annotations">
        <annotation name="org.gtk.EggDBus.DocString" value="Annotations for the action."/>
      </annotation>

    </annotation>

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

    <!-- Flags used for checking authorizations -->
    <annotation name="org.gtk.EggDBus.DeclareFlags" value="CheckAuthorizationFlags">
      <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."/>

      <annotation name="org.gtk.EggDBus.Flags.Member" value="AllowUserInteraction">
        <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."/>
      </annotation>
    </annotation>

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

    <!-- An structure containing the results of an authorization check -->
    <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()."/>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="Boolean:is_authorized">
        <annotation name="org.gtk.EggDBus.DocString" value="#TRUE if the given #Subject is authorized for the given action."/>
      </annotation>

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

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="Dict<String,String>:details">
        <annotation name="org.gtk.EggDBus.DocString" value="Details for the result or empty if not authorized."/>
      </annotation>
    </annotation>

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

    <!-- An enumeration for implicit authorizations -->
    <annotation name="org.gtk.EggDBus.DeclareEnum" value="ImplicitAuthorization">
      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Implicit authorizations"/>
      <annotation name="org.gtk.EggDBus.DocString" value="An enumeration for granting implicit authorizations."/>

      <annotation name="org.gtk.EggDBus.Enum.Member" value="NotAuthorized">
        <annotation name="org.gtk.EggDBus.DocString" value="The #Subject is not authorized."/>
      </annotation>

      <annotation name="org.gtk.EggDBus.Enum.Member" value="AuthenticationRequired">
        <annotation name="org.gtk.EggDBus.DocString" value="Authentication is required."/>
      </annotation>

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

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

      <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">
        <annotation name="org.gtk.EggDBus.DocString" value="The subject is authorized."/>
      </annotation>

    </annotation>

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

    <!-- The error domain used for reporting errors -->
    <annotation name="org.gtk.EggDBus.DeclareErrorDomain" value="Error">
      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Errors"/>
      <annotation name="org.gtk.EggDBus.DocString" value="Errors that can be returned."/>

      <annotation name="org.gtk.EggDBus.ErrorDomain.Member" value="org.freedesktop.PolicyKit1.Error.Failed">
        <annotation name="org.gtk.EggDBus.DocString" value="The operation failed."/>
      </annotation>
      <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>
      <annotation name="org.gtk.EggDBus.ErrorDomain.Member" value="org.freedesktop.PolicyKit1.Error.NotSupported">
        <annotation name="org.gtk.EggDBus.DocString" value="Operation is not supported."/>
      </annotation>
      <annotation name="org.gtk.EggDBus.ErrorDomain.Member" value="org.freedesktop.PolicyKit1.Error.NotAuthorized">
        <annotation name="org.gtk.EggDBus.DocString" value="Not authorized to perform operation."/>
      </annotation>

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

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

    <method name="EnumerateActions">
      <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>

      <arg name="action_descriptions" direction="out" type="a(ssssssuuua{ss})">
        <annotation name="org.gtk.EggDBus.Type" value="Array<ActionDescription>"/>
        <annotation name="org.gtk.EggDBus.DocString" value="An array of #ActionDescription structs."/>
      </arg>
    </method>

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

    <method name="CheckAuthorization">
      <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>"/>

      <arg name="subject" direction="in" type="(sa{sv})">
        <annotation name="org.gtk.EggDBus.DocString" value="A #Subject struct."/>
        <annotation name="org.gtk.EggDBus.Type" value="Subject"/>
      </arg>

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

      <arg name="details" direction="in" type="a{ss}">
        <annotation name="org.gtk.EggDBus.DocString" value="Details describing the action."/>
      </arg>

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

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

      <arg name="result" direction="out" type="(bba{ss})">
        <annotation name="org.gtk.EggDBus.Type" value="AuthorizationResult"/>
        <annotation name="org.gtk.EggDBus.DocString" value="An #AuthorizationResult structure."/>
      </arg>
    </method>

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

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

    <method name="RegisterAuthenticationAgent">
      <annotation name="org.gtk.EggDBus.DocString" value="<para>Register an authentication agent.</para><para>Note that current versions of PolicyKit will only work if @session_id is set to the empty string. In the future it might work for non-empty strings if the caller is sufficiently privileged.</para>"/>

      <arg name="session_id" direction="in" type="s">
        <annotation name="org.gtk.EggDBus.DocString" value="The session to register the authentication for or blank for the session the caller of the method is in."/>
      </arg>

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

      <arg name="object_path" direction="in" type="s">
        <annotation name="org.gtk.EggDBus.DocString" value="The object path of authentication agent object on the unique name of the caller."/>
      </arg>
    </method>

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

      <arg name="session_id" direction="in" type="s">
        <annotation name="org.gtk.EggDBus.DocString" value="The session identifier passed to org.freedesktop.PolicyKit1.Authority.RegisterAuthenticationAgent()."/>
      </arg>

      <arg name="object_path" direction="in" type="s">
        <annotation name="org.gtk.EggDBus.DocString" value="The object path of authentication agent object on the unique name of the caller."/>
      </arg>
    </method>

    <method name="AuthenticationAgentResponse">
      <annotation name="org.gtk.EggDBus.DocString" value="Method for authentication agents to invoke on successful authentication. This method will fail unless a sufficiently privileged caller invokes it."/>

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

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

  </interface>
</node>
<commit_msg>Expand on the D-Bus docs<commit_after><!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.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."/>

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

    <!-- Subject struct -->
    <annotation name="org.gtk.EggDBus.DeclareStruct" value="Subject">
      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Subjects"/>
      <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>"/>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:subject_kind">
        <annotation name="org.gtk.EggDBus.DocString" value="The type of the subject."/>
      </annotation>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="Dict<String,Variant>:subject_details">
        <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."/>
      </annotation>

    </annotation>

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

    <!-- Identity struct -->
    <annotation name="org.gtk.EggDBus.DeclareStruct" value="Identity">
      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Subjects"/>
      <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>

"/>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:identity_kind">
        <annotation name="org.gtk.EggDBus.DocString" value="Type of identity."/>
      </annotation>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="Dict<String,Variant>:identity_details">
        <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."/>
      </annotation>

      <!-- TODO: document values in hash map for each identity type-->

    </annotation>

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

    <!-- ActionDescription struct -->
    <annotation name="org.gtk.EggDBus.DeclareStruct" value="ActionDescription">
      <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."/>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:action_id">
        <annotation name="org.gtk.EggDBus.DocString" value="Action Identifier."/>
      </annotation>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:description">
        <annotation name="org.gtk.EggDBus.DocString" value="Localized description of the action."/>
      </annotation>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:message">
        <annotation name="org.gtk.EggDBus.DocString" value="Localized message to be displayed when making the user authenticate for an action."/>
      </annotation>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:vendor_name">
        <annotation name="org.gtk.EggDBus.DocString" value="Name of the provider of the action or the empty string."/>
      </annotation>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:vendor_url">
        <annotation name="org.gtk.EggDBus.DocString" value="A URL pointing to a place with more information about the action or the empty string."/>
      </annotation>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="String:icon_name">
        <annotation name="org.gtk.EggDBus.DocString" value="The themed icon describing the action or the empty string if no icon is set."/>
      </annotation>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="ImplicitAuthorization:implicit_any">
        <annotation name="org.gtk.EggDBus.Type" value="ImplicitAuthorization"/>
        <annotation name="org.gtk.EggDBus.DocString" value="A value from the #ImplicitAuthorization enumeration for implicit authorizations that apply to any #Subject."/>
      </annotation>

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

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

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="Dict<String,String>:annotations">
        <annotation name="org.gtk.EggDBus.DocString" value="Annotations for the action."/>
      </annotation>

    </annotation>

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

    <!-- Flags used for checking authorizations -->
    <annotation name="org.gtk.EggDBus.DeclareFlags" value="CheckAuthorizationFlags">
      <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."/>

      <annotation name="org.gtk.EggDBus.Flags.Member" value="AllowUserInteraction">
        <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."/>
      </annotation>
    </annotation>

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

    <!-- An structure containing the results of an authorization check -->
    <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()."/>

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="Boolean:is_authorized">
        <annotation name="org.gtk.EggDBus.DocString" value="TRUE if the given #Subject is authorized for the given action."/>
      </annotation>

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

      <annotation name="org.gtk.EggDBus.Struct.Member"  value="Dict<String,String>:details">
        <annotation name="org.gtk.EggDBus.DocString" value="Details for the result or empty if not authorized."/>
      </annotation>
    </annotation>

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

    <!-- An enumeration for implicit authorizations -->
    <annotation name="org.gtk.EggDBus.DeclareEnum" value="ImplicitAuthorization">
      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Implicit authorizations"/>
      <annotation name="org.gtk.EggDBus.DocString" value="An enumeration for granting implicit authorizations."/>

      <annotation name="org.gtk.EggDBus.Enum.Member" value="NotAuthorized">
        <annotation name="org.gtk.EggDBus.DocString" value="The #Subject is not authorized."/>
      </annotation>

      <annotation name="org.gtk.EggDBus.Enum.Member" value="AuthenticationRequired">
        <annotation name="org.gtk.EggDBus.DocString" value="Authentication is required."/>
      </annotation>

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

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

      <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">
        <annotation name="org.gtk.EggDBus.DocString" value="The subject is authorized."/>
      </annotation>

    </annotation>

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

    <!-- The error domain used for reporting errors -->
    <annotation name="org.gtk.EggDBus.DeclareErrorDomain" value="Error">
      <annotation name="org.gtk.EggDBus.DocString.Summary" value="Errors"/>
      <annotation name="org.gtk.EggDBus.DocString" value="Errors that can be returned by various method calls."/>

      <annotation name="org.gtk.EggDBus.ErrorDomain.Member" value="org.freedesktop.PolicyKit1.Error.Failed">
        <annotation name="org.gtk.EggDBus.DocString" value="The operation failed."/>
      </annotation>
      <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>
      <annotation name="org.gtk.EggDBus.ErrorDomain.Member" value="org.freedesktop.PolicyKit1.Error.NotSupported">
        <annotation name="org.gtk.EggDBus.DocString" value="The operation is not supported."/>
      </annotation>
      <annotation name="org.gtk.EggDBus.ErrorDomain.Member" value="org.freedesktop.PolicyKit1.Error.NotAuthorized">
        <annotation name="org.gtk.EggDBus.DocString" value="You are not authorized to perform the requested operation."/>
      </annotation>

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

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

    <method name="EnumerateActions">
      <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>

      <arg name="action_descriptions" direction="out" type="a(ssssssuuua{ss})">
        <annotation name="org.gtk.EggDBus.Type" value="Array<ActionDescription>"/>
        <annotation name="org.gtk.EggDBus.DocString" value="An array of #ActionDescription structs."/>
      </arg>
    </method>

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

    <method name="CheckAuthorization">
      <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>"/>

      <arg name="subject" direction="in" type="(sa{sv})">
        <annotation name="org.gtk.EggDBus.DocString" value="A #Subject struct."/>
        <annotation name="org.gtk.EggDBus.Type" value="Subject"/>
      </arg>

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

      <arg name="details" direction="in" type="a{ss}">
        <annotation name="org.gtk.EggDBus.DocString" value="Details describing the action."/>
      </arg>

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

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

      <arg name="result" direction="out" type="(bba{ss})">
        <annotation name="org.gtk.EggDBus.Type" value="AuthorizationResult"/>
        <annotation name="org.gtk.EggDBus.DocString" value="An #AuthorizationResult structure."/>
      </arg>
    </method>

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

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

    <method name="RegisterAuthenticationAgent">
      <annotation name="org.gtk.EggDBus.DocString" value="<para>Register an authentication agent.</para><para>Note that current versions of PolicyKit will only work if @session_id is set to the empty string. In the future it might work for non-empty strings if the caller is sufficiently privileged.</para>"/>

      <arg name="session_id" direction="in" type="s">
        <annotation name="org.gtk.EggDBus.DocString" value="The session to register the authentication for or blank for the session the caller of the method is in."/>
      </arg>

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

      <arg name="object_path" direction="in" type="s">
        <annotation name="org.gtk.EggDBus.DocString" value="The object path of authentication agent object on the unique name of the caller."/>
      </arg>
    </method>

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

      <arg name="session_id" direction="in" type="s">
        <annotation name="org.gtk.EggDBus.DocString" value="The session identifier passed to org.freedesktop.PolicyKit1.Authority.RegisterAuthenticationAgent()."/>
      </arg>

      <arg name="object_path" direction="in" type="s">
        <annotation name="org.gtk.EggDBus.DocString" value="The object path of authentication agent object on the unique name of the caller."/>
      </arg>
    </method>

    <method name="AuthenticationAgentResponse">
      <annotation name="org.gtk.EggDBus.DocString" value="Method for authentication agents to invoke on successful authentication. This method will fail unless a sufficiently privileged caller invokes it."/>

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

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

  </interface>
</node>

{'fraction_non_alphanumeric': 0.18103260276959982, 'fraction_numerical': 0.0014720314033366045, 'mean_word_length': 3.086099353976387, 'pattern_counts': {'":': 0, '<': 565, '<?xml version=': 0, '>': 565, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1681604', 'n_tokens_mistral': 10220, 'n_tokens_neox': 9759, 'n_words': 2434}