<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:doc="http://www.gtk.org/introspection/doc/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Gio" version="2.0"/>
  <package name="polkit-gobject-1"/>
  <c:include name="polkit/polkit.h"/>
  <doc:format name="unknown"/>
  <namespace name="Polkit"
             version="1.0"
             shared-library="libpolkit-gobject-1.so.0"
             c:identifier-prefixes="Polkit"
             c:symbol-prefixes="polkit">
    <function-macro name="ACTION_DESCRIPTION"
                    c:identifier="POLKIT_ACTION_DESCRIPTION"
                    introspectable="0">
      <source-position filename="src/polkit/polkitactiondescription.h"
                       line="36"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ACTION_DESCRIPTION_CLASS"
                    c:identifier="POLKIT_ACTION_DESCRIPTION_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitactiondescription.h"
                       line="37"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ACTION_DESCRIPTION_GET_CLASS"
                    c:identifier="POLKIT_ACTION_DESCRIPTION_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitactiondescription.h"
                       line="38"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="AUTHORITY"
                    c:identifier="POLKIT_AUTHORITY"
                    introspectable="0">
      <source-position filename="src/polkit/polkitauthority.h" line="37"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="AUTHORITY_CLASS"
                    c:identifier="POLKIT_AUTHORITY_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitauthority.h" line="38"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="AUTHORITY_GET_CLASS"
                    c:identifier="POLKIT_AUTHORITY_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitauthority.h" line="39"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="AUTHORIZATION_RESULT"
                    c:identifier="POLKIT_AUTHORIZATION_RESULT"
                    introspectable="0">
      <source-position filename="src/polkit/polkitauthorizationresult.h"
                       line="35"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="AUTHORIZATION_RESULT_CLASS"
                    c:identifier="POLKIT_AUTHORIZATION_RESULT_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitauthorizationresult.h"
                       line="36"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="AUTHORIZATION_RESULT_GET_CLASS"
                    c:identifier="POLKIT_AUTHORIZATION_RESULT_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitauthorizationresult.h"
                       line="37"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <class name="ActionDescription"
           c:symbol-prefix="action_description"
           parent="GObject.Object"
           glib:type-name="PolkitActionDescription"
           glib:get-type="polkit_action_description_get_type"
           glib:type-struct="ActionDescriptionClass">
      <doc xml:space="preserve"
           filename="src/polkit/polkitactiondescription.c"
           line="28">Object used to encapsulate a registered action.</doc>
      <source-position filename="src/polkit/polkitactiondescription.h"
                       line="45"/>
      <method name="get_action_id"
              c:identifier="polkit_action_description_get_action_id">
        <doc xml:space="preserve"
             filename="src/polkit/polkitactiondescription.c"
             line="100">Gets the action id for @action_description.</doc>
        <source-position filename="src/polkit/polkitactiondescription.h"
                         line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitactiondescription.c"
               line="106">A string owned by @action_description. Do not free.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="action_description"
                              transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitactiondescription.c"
                 line="102">A #PolkitActionDescription.</doc>
            <type name="ActionDescription" c:type="PolkitActionDescription*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_annotation"
              c:identifier="polkit_action_description_get_annotation">
        <doc xml:space="preserve"
             filename="src/polkit/polkitactiondescription.c"
             line="239">Get the value of the annotation with @key.</doc>
        <source-position filename="src/polkit/polkitactiondescription.h"
                         line="59"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/polkit/polkitactiondescription.c"
               line="246">%NULL if there is no annoation with @key,
otherwise the annotation value owned by @action_description. Do not
free.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="action_description"
                              transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitactiondescription.c"
                 line="241">A #PolkitActionDescription.</doc>
            <type name="ActionDescription" c:type="PolkitActionDescription*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitactiondescription.c"
                 line="242">An annotation key.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_annotation_keys"
              c:identifier="polkit_action_description_get_annotation_keys">
        <doc xml:space="preserve"
             filename="src/polkit/polkitactiondescription.c"
             line="258">Gets the keys of annotations defined in @action_description.</doc>
        <source-position filename="src/polkit/polkitactiondescription.h"
                         line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitactiondescription.c"
               line="264">The annotation keys owned by @action_description. Do not free.</doc>
          <array c:type="const gchar* const*">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="action_description"
                              transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitactiondescription.c"
                 line="260">A #PolkitActionDescription.</doc>
            <type name="ActionDescription" c:type="PolkitActionDescription*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_description"
              c:identifier="polkit_action_description_get_description">
        <doc xml:space="preserve"
             filename="src/polkit/polkitactiondescription.c"
             line="115">Gets the description used for @action_description.</doc>
        <source-position filename="src/polkit/polkitactiondescription.h"
                         line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitactiondescription.c"
               line="121">A string owned by @action_description. Do not free.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="action_description"
                              transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitactiondescription.c"
                 line="117">A #PolkitActionDescription.</doc>
            <type name="ActionDescription" c:type="PolkitActionDescription*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon_name"
              c:identifier="polkit_action_description_get_icon_name">
        <doc xml:space="preserve"
             filename="src/polkit/polkitactiondescription.c"
             line="224">Gets the icon name for @action_description, if any.</doc>
        <source-position filename="src/polkit/polkitactiondescription.h"
                         line="53"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitactiondescription.c"
               line="230">A string owned by @action_description. Do not free.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="action_description"
                              transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitactiondescription.c"
                 line="226">A #PolkitActionDescription.</doc>
            <type name="ActionDescription" c:type="PolkitActionDescription*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_implicit_active"
              c:identifier="polkit_action_description_get_implicit_active">
        <doc xml:space="preserve"
             filename="src/polkit/polkitactiondescription.c"
             line="207">Gets the implicit authorization for @action_description used for
subjects in active sessions on a local console.</doc>
        <source-position filename="src/polkit/polkitactiondescription.h"
                         line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitactiondescription.c"
               line="214">A value from the #PolkitImplicitAuthorization enumeration.</doc>
          <type name="ImplicitAuthorization"
                c:type="PolkitImplicitAuthorization"/>
        </return-value>
        <parameters>
          <instance-parameter name="action_description"
                              transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitactiondescription.c"
                 line="209">A #PolkitActionDescription.</doc>
            <type name="ActionDescription" c:type="PolkitActionDescription*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_implicit_any"
              c:identifier="polkit_action_description_get_implicit_any">
        <doc xml:space="preserve"
             filename="src/polkit/polkitactiondescription.c"
             line="175">Gets the implicit authorization for @action_description used for
any subject.</doc>
        <source-position filename="src/polkit/polkitactiondescription.h"
                         line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitactiondescription.c"
               line="182">A value from the #PolkitImplicitAuthorization enumeration.</doc>
          <type name="ImplicitAuthorization"
                c:type="PolkitImplicitAuthorization"/>
        </return-value>
        <parameters>
          <instance-parameter name="action_description"
                              transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitactiondescription.c"
                 line="177">A #PolkitActionDescription.</doc>
            <type name="ActionDescription" c:type="PolkitActionDescription*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_implicit_inactive"
              c:identifier="polkit_action_description_get_implicit_inactive">
        <doc xml:space="preserve"
             filename="src/polkit/polkitactiondescription.c"
             line="191">Gets the implicit authorization for @action_description used for
subjects in inactive sessions on a local console.</doc>
        <source-position filename="src/polkit/polkitactiondescription.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitactiondescription.c"
               line="198">A value from the #PolkitImplicitAuthorization enumeration.</doc>
          <type name="ImplicitAuthorization"
                c:type="PolkitImplicitAuthorization"/>
        </return-value>
        <parameters>
          <instance-parameter name="action_description"
                              transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitactiondescription.c"
                 line="193">A #PolkitActionDescription.</doc>
            <type name="ActionDescription" c:type="PolkitActionDescription*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_message"
              c:identifier="polkit_action_description_get_message">
        <doc xml:space="preserve"
             filename="src/polkit/polkitactiondescription.c"
             line="130">Gets the message used for @action_description.</doc>
        <source-position filename="src/polkit/polkitactiondescription.h"
                         line="50"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitactiondescription.c"
               line="136">A string owned by @action_description. Do not free.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="action_description"
                              transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitactiondescription.c"
                 line="132">A #PolkitActionDescription.</doc>
            <type name="ActionDescription" c:type="PolkitActionDescription*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_vendor_name"
              c:identifier="polkit_action_description_get_vendor_name">
        <doc xml:space="preserve"
             filename="src/polkit/polkitactiondescription.c"
             line="145">Gets the vendor name for @action_description, if any.</doc>
        <source-position filename="src/polkit/polkitactiondescription.h"
                         line="51"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitactiondescription.c"
               line="151">A string owned by @action_description. Do not free.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="action_description"
                              transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitactiondescription.c"
                 line="147">A #PolkitActionDescription.</doc>
            <type name="ActionDescription" c:type="PolkitActionDescription*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_vendor_url"
              c:identifier="polkit_action_description_get_vendor_url">
        <doc xml:space="preserve"
             filename="src/polkit/polkitactiondescription.c"
             line="160">Gets the vendor URL for @action_description, if any.</doc>
        <source-position filename="src/polkit/polkitactiondescription.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitactiondescription.c"
               line="166">A string owned by @action_description. Do not free.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="action_description"
                              transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitactiondescription.c"
                 line="162">A #PolkitActionDescription.</doc>
            <type name="ActionDescription" c:type="PolkitActionDescription*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="ActionDescriptionClass"
            c:type="PolkitActionDescriptionClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="ActionDescription">
      <source-position filename="src/polkit/polkitactiondescription.h"
                       line="45"/>
    </record>
    <class name="Authority"
           c:symbol-prefix="authority"
           parent="GObject.Object"
           glib:type-name="PolkitAuthority"
           glib:get-type="polkit_authority_get_type"
           glib:type-struct="AuthorityClass">
      <doc xml:space="preserve"
           filename="src/polkit/polkitauthority.c"
           line="33">#PolkitAuthority is used for checking whether a given subject is
authorized to perform a given action. Typically privileged system
daemons or suid helpers will use this when handling requests from
untrusted clients.

User sessions can register an authentication agent with the
authority. This is used for requests from untrusted clients where
system policy requires that the user needs to acknowledge (through
proving he is the user or the administrator) a given action. See
#PolkitAgentListener and #PolkitAgentSession for details.</doc>
      <source-position filename="src/polkit/polkitauthority.h" line="46"/>
      <implements name="Gio.AsyncInitable"/>
      <implements name="Gio.Initable"/>
      <function name="get"
                c:identifier="polkit_authority_get"
                glib:async-func="get_async">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="400">(deprecated)</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="50"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="405">value</doc>
          <type name="Authority" c:type="PolkitAuthority*"/>
        </return-value>
      </function>
      <function name="get_async"
                c:identifier="polkit_authority_get_async"
                glib:finish-func="get_finish"
                glib:sync-func="get">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="477">Asynchronously gets a reference to the authority.

This is an asynchronous failable function. When the result is
ready, @callback will be invoked in the &lt;link
linkend="g-main-context-push-thread-default"&gt;thread-default main
loop&lt;/link&gt; of the thread you are calling this method from and you
can use polkit_authority_get_finish() to get the result. See
polkit_authority_get_sync() for the synchronous version.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="479">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="2">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="480">A #GAsyncReadyCallback to call when the request is satisfied.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="481">The data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_finish"
                c:identifier="polkit_authority_get_finish"
                throws="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="528">Finishes an operation started with polkit_authority_get_async().</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="55"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="535">A #PolkitAuthority. Free it with
g_object_unref() when done with it.</doc>
          <type name="Authority" c:type="PolkitAuthority*"/>
        </return-value>
        <parameters>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="530">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to polkit_authority_get_async().</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_sync"
                c:identifier="polkit_authority_get_sync"
                throws="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="566">Synchronously gets a reference to the authority.

This is a synchronous failable function - the calling thread is
blocked until a reply is received. See polkit_authority_get_async()
for the asynchronous version.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="57"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="577">A #PolkitAuthority. Free it with
g_object_unref() when done with it.</doc>
          <type name="Authority" c:type="PolkitAuthority*"/>
        </return-value>
        <parameters>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="568">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </function>
      <method name="authentication_agent_response"
              c:identifier="polkit_authority_authentication_agent_response"
              glib:finish-func="authentication_agent_response_finish"
              glib:sync-func="authentication_agent_response_sync">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="1491">Asynchronously provide response that @identity successfully authenticated
for the authentication request identified by @cookie.

This function is only used by the privileged bits of an authentication agent.
It will fail if the caller is not sufficiently privileged (typically uid 0).

When the operation is finished, @callback will be invoked in the
&lt;link linkend="g-main-context-push-thread-default"&gt;thread-default
main loop&lt;/link&gt; of the thread you are calling this method
from. You can then call
polkit_authority_authentication_agent_response_finish() to get the
result of the operation.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="182"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1493">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="cookie" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1494">The cookie passed to the authentication agent from the authority.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="identity" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1495">The identity that was authenticated.</doc>
            <type name="Identity" c:type="PolkitIdentity*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1496">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="4">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1497">A #GAsyncReadyCallback to call when the request is satisfied.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1498">The data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="authentication_agent_response_finish"
              c:identifier="polkit_authority_authentication_agent_response_finish"
              throws="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="1551">Finishes providing response from an authentication agent.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="189"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="1559">%TRUE if @authority acknowledged the call, %FALSE if @error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1553">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1554">A #GAsyncResult obtained from the callback.</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="authentication_agent_response_sync"
              c:identifier="polkit_authority_authentication_agent_response_sync"
              throws="1"
              glib:async-func="authentication_agent_response">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="1590">Provide response that @identity successfully authenticated for the
authentication request identified by @cookie. See polkit_authority_authentication_agent_response()
for limitations on who is allowed is to call this method.

The calling thread is blocked until a reply is received. See
polkit_authority_authentication_agent_response() for the
asynchronous version.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="100"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="1606">%TRUE if @authority acknowledged the call, %FALSE if @error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1592">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="cookie" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1593">The cookie passed to the authentication agent from the authority.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="identity" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1594">The identity that was authenticated.</doc>
            <type name="Identity" c:type="PolkitIdentity*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1595">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="check_authorization"
              c:identifier="polkit_authority_check_authorization"
              glib:finish-func="check_authorization_finish"
              glib:sync-func="check_authorization_sync">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="869">Asynchronously checks if @subject is authorized to perform the action represented
by @action_id.

Note that %POLKIT_CHECK_AUTHORIZATION_FLAGS_ALLOW_USER_INTERACTION
&lt;emphasis&gt;SHOULD&lt;/emphasis&gt; be passed &lt;emphasis&gt;ONLY&lt;/emphasis&gt; 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.

When the operation is finished, @callback will be invoked in the
&lt;link linkend="g-main-context-push-thread-default"&gt;thread-default
main loop&lt;/link&gt; of the thread you are calling this method
from. You can then call
polkit_authority_check_authorization_finish() to get the result of
the operation.

Known keys in @details include &lt;literal&gt;polkit.message&lt;/literal&gt;
and &lt;literal&gt;polkit.gettext_domain&lt;/literal&gt; that can be used to
override the message shown to the user. See the documentation for
the &lt;link linkend="eggdbus-method-org.freedesktop.PolicyKit1.Authority.CheckAuthorization"&gt;D-Bus method&lt;/link&gt; for more details.

If @details is non-empty then the request will fail with
#POLKIT_ERROR_FAILED unless the process doing the check itsef is
sufficiently authorized (e.g. running as uid 0).</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="132"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="871">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="subject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="872">A #PolkitSubject.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </parameter>
          <parameter name="action_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="873">The action to check for.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="details"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="874">Details about the action or %NULL.</doc>
            <type name="Details" c:type="PolkitDetails*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="875">A set of #PolkitCheckAuthorizationFlags.</doc>
            <type name="CheckAuthorizationFlags"
                  c:type="PolkitCheckAuthorizationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="876">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="6">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="877">A #GAsyncReadyCallback to call when the request is satisfied.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="878">The data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="check_authorization_finish"
              c:identifier="polkit_authority_check_authorization_finish"
              throws="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="949">Finishes checking if a subject is authorized for an action.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="141"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="957">A #PolkitAuthorizationResult or %NULL if
@error is set. Free with g_object_unref().</doc>
          <type name="AuthorizationResult"
                c:type="PolkitAuthorizationResult*"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="951">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="952">A #GAsyncResult obtained from the callback.</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="check_authorization_sync"
              c:identifier="polkit_authority_check_authorization_sync"
              throws="1"
              glib:async-func="check_authorization">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="982">Checks if @subject is authorized to perform the action represented
by @action_id.

Note that %POLKIT_CHECK_AUTHORIZATION_FLAGS_ALLOW_USER_INTERACTION
&lt;emphasis&gt;SHOULD&lt;/emphasis&gt; be passed &lt;emphasis&gt;ONLY&lt;/emphasis&gt; 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.

Note the calling thread is blocked until a reply is received. You
should therefore &lt;emphasis&gt;NEVER&lt;/emphasis&gt; do this from a GUI
thread or a daemon service thread when using the
%POLKIT_CHECK_AUTHORIZATION_FLAGS_ALLOW_USER_INTERACTION flag. This
is because it may potentially take minutes (or even hours) for the
operation to complete because it involves waiting for the user to
authenticate.

Known keys in @details include &lt;literal&gt;polkit.message&lt;/literal&gt;
and &lt;literal&gt;polkit.gettext_domain&lt;/literal&gt; that can be used to
override the message shown to the user. See the documentation for
the &lt;link linkend="eggdbus-method-org.freedesktop.PolicyKit1.Authority.CheckAuthorization"&gt;D-Bus method&lt;/link&gt; for more details.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="71"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="1014">A #PolkitAuthorizationResult or %NULL if @error is set. Free with g_object_unref().</doc>
          <type name="AuthorizationResult"
                c:type="PolkitAuthorizationResult*"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="984">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="subject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="985">A #PolkitSubject.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </parameter>
          <parameter name="action_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="986">The action to check for.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="details"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="987">Details about the action or %NULL.</doc>
            <type name="Details" c:type="PolkitDetails*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="988">A set of #PolkitCheckAuthorizationFlags.</doc>
            <type name="CheckAuthorizationFlags"
                  c:type="PolkitCheckAuthorizationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="989">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="enumerate_actions"
              c:identifier="polkit_authority_enumerate_actions"
              glib:finish-func="enumerate_actions_finish"
              glib:sync-func="enumerate_actions_sync">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="664">Asynchronously retrieves all registered actions.

When the operation is finished, @callback will be invoked in the
&lt;link linkend="g-main-context-push-thread-default"&gt;thread-default
main loop&lt;/link&gt; of the thread you are calling this method
from. You can then call polkit_authority_enumerate_actions_finish()
to get the result of the operation.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="123"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="666">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="667">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="2">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="668">A #GAsyncReadyCallback to call when the request is satisfied.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="669">The data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="enumerate_actions_finish"
              c:identifier="polkit_authority_enumerate_actions_finish"
              throws="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="701">Finishes retrieving all registered actions.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="128"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="709">A list of
#PolkitActionDescription objects or %NULL if @error is set. The returned
list should be freed with g_list_free() after each element have been freed
with g_object_unref().</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="ActionDescription"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="703">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="704">A #GAsyncResult obtained from the callback.</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="enumerate_actions_sync"
              c:identifier="polkit_authority_enumerate_actions_sync"
              throws="1"
              glib:async-func="enumerate_actions">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="754">Synchronously retrieves all registered actions - the calling thread
is blocked until a reply is received. See
polkit_authority_enumerate_actions() for the asynchronous version.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="67"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="764">A list of
#PolkitActionDescription or %NULL if @error is set. The returned list should
be freed with g_list_free() after each element have been freed with
g_object_unref().</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="ActionDescription"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="756">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="757">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="enumerate_temporary_authorizations"
              c:identifier="polkit_authority_enumerate_temporary_authorizations"
              glib:finish-func="enumerate_temporary_authorizations_finish"
              glib:sync-func="enumerate_temporary_authorizations_sync">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="1635">Asynchronously gets all temporary authorizations for @subject.

When the operation is finished, @callback will be invoked in the
&lt;link linkend="g-main-context-push-thread-default"&gt;thread-default
main loop&lt;/link&gt; of the thread you are calling this method
from. You can then call
polkit_authority_enumerate_temporary_authorizations_finish() to get
the result of the operation.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="193"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1637">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="subject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1638">A #PolkitSubject, typically a #PolkitUnixSession.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1639">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="3">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1640">A #GAsyncReadyCallback to call when the request is satisfied.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1641">The data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="enumerate_temporary_authorizations_finish"
              c:identifier="polkit_authority_enumerate_temporary_authorizations_finish"
              throws="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="1677">Finishes retrieving all registered actions.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="199"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="1685">A
list of #PolkitTemporaryAuthorization objects or %NULL if @error is set. The
returned list should be freed with g_list_free() after each element have
been freed with g_object_unref().</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="TemporaryAuthorization"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1679">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1680">A #GAsyncResult obtained from the callback.</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="enumerate_temporary_authorizations_sync"
              c:identifier="polkit_authority_enumerate_temporary_authorizations_sync"
              throws="1"
              glib:async-func="enumerate_temporary_authorizations">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="1741">Synchronousky gets all temporary authorizations for @subject.

The calling thread is blocked until a reply is received. See
polkit_authority_enumerate_temporary_authorizations() for the
asynchronous version.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="106"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="1754">A
list of #PolkitTemporaryAuthorization objects or %NULL if @error is set. The
returned list should be freed with g_list_free() after each element have
been freed with g_object_unref().</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="TemporaryAuthorization"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1743">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="subject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1744">A #PolkitSubject, typically a #PolkitUnixSession.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1745">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_backend_features"
              c:identifier="polkit_authority_get_backend_features"
              glib:get-property="backend-features">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="2086">Gets the features supported by the authority backend.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="63"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="2092">Flags from #PolkitAuthorityFeatures.</doc>
          <type name="AuthorityFeatures" c:type="PolkitAuthorityFeatures"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="2088">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_backend_name"
              c:identifier="polkit_authority_get_backend_name"
              glib:get-property="backend-name">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="2042">Gets the name of the authority backend.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="2048">The name of the backend.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="2044">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_backend_version"
              c:identifier="polkit_authority_get_backend_version"
              glib:get-property="backend-version">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="2064">Gets the version of the authority backend.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="62"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="2070">The version string for the backend.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="2066">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_owner"
              c:identifier="polkit_authority_get_owner"
              glib:get-property="owner">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="2024">The unique name on the system message bus of the owner of the name
&lt;literal&gt;org.freedesktop.PolicyKit1&lt;/literal&gt; or %NULL if no-one
currently owns the name. You may connect to the #GObject::notify
signal to track changes to the #PolkitAuthority:owner property.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="60"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="2033">%NULL or a string that should be freed with g_free().</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="2026">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="register_authentication_agent"
              c:identifier="polkit_authority_register_authentication_agent"
              glib:finish-func="register_authentication_agent_finish"
              glib:sync-func="register_authentication_agent_sync">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="1046">Asynchronously registers an authentication agent.

Note that this should be called by the same effective UID which will be
the real UID using the #PolkitAgentSession API or otherwise calling
polkit_authority_authentication_agent_response().

When the operation is finished, @callback will be invoked in the
&lt;link linkend="g-main-context-push-thread-default"&gt;thread-default
main loop&lt;/link&gt; of the thread you are calling this method
from. You can then call
polkit_authority_register_authentication_agent_finish() to get the
result of the operation.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="145"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1048">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="subject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1049">The subject the authentication agent is for, typically a #PolkitUnixSession object.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </parameter>
          <parameter name="locale" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1050">The locale of the authentication agent.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1051">The object path for the authentication agent.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1052">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="5">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1053">A #GAsyncReadyCallback to call when the request is satisfied.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1054">The data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="register_authentication_agent_finish"
              c:identifier="polkit_authority_register_authentication_agent_finish"
              throws="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="1100">Finishes registering an authentication agent.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="154"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="1108">%TRUE if the authentication agent was successfully registered, %FALSE if @error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1102">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1103">A #GAsyncResult obtained from the callback.</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="register_authentication_agent_sync"
              c:identifier="polkit_authority_register_authentication_agent_sync"
              throws="1"
              glib:async-func="register_authentication_agent">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="1139">Registers an authentication agent.

Note that this should be called by the same effective UID which will be
the real UID using the #PolkitAgentSession API or otherwise calling
polkit_authority_authentication_agent_response().

The calling thread is blocked
until a reply is received. See
polkit_authority_register_authentication_agent() for the
asynchronous version.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="79"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="1159">%TRUE if the authentication agent was successfully registered, %FALSE if @error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1141">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="subject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1142">The subject the authentication agent is for, typically a #PolkitUnixSession object.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </parameter>
          <parameter name="locale" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1143">The locale of the authentication agent.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1144">The object path for the authentication agent.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1145">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="register_authentication_agent_with_options"
              c:identifier="polkit_authority_register_authentication_agent_with_options"
              glib:finish-func="register_authentication_agent_with_options_finish"
              glib:sync-func="register_authentication_agent_with_options_sync">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="1190">Asynchronously registers an authentication agent.

Note that this should be called by the same effective UID which will be
the real UID using the #PolkitAgentSession API or otherwise calling
polkit_authority_authentication_agent_response().

When the operation is finished, @callback will be invoked in the
&lt;link linkend="g-main-context-push-thread-default"&gt;thread-default
main loop&lt;/link&gt; of the thread you are calling this method
from. You can then call
polkit_authority_register_authentication_agent_with_options_finish() to get the
result of the operation.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="162"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1192">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="subject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1193">The subject the authentication agent is for, typically a #PolkitUnixSession object.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </parameter>
          <parameter name="locale" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1194">The locale of the authentication agent.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1195">The object path for the authentication agent.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="options"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1196">A #GVariant with options or %NULL.</doc>
            <type name="GLib.Variant" c:type="GVariant*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1197">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="6">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1198">A #GAsyncReadyCallback to call when the request is satisfied.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1199">The data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="register_authentication_agent_with_options_finish"
              c:identifier="polkit_authority_register_authentication_agent_with_options_finish"
              throws="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="1272">Finishes registering an authentication agent.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="158"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="1280">%TRUE if the authentication agent was successfully registered, %FALSE if @error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1274">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1275">A #GAsyncResult obtained from the callback.</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="register_authentication_agent_with_options_sync"
              c:identifier="polkit_authority_register_authentication_agent_with_options_sync"
              throws="1"
              glib:async-func="register_authentication_agent_with_options">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="1311">Registers an authentication agent.

Note that this should be called by the same effective UID which will be
the real UID using the #PolkitAgentSession API or otherwise calling
polkit_authority_authentication_agent_response().

The calling thread is blocked
until a reply is received. See
polkit_authority_register_authentication_agent_with_options() for the
asynchronous version.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="86"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="1332">%TRUE if the authentication agent was successfully registered, %FALSE if @error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1313">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="subject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1314">The subject the authentication agent is for, typically a #PolkitUnixSession object.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </parameter>
          <parameter name="locale" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1315">The locale of the authentication agent.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1316">The object path for the authentication agent.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="options"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1317">A #GVariant with options or %NULL.</doc>
            <type name="GLib.Variant" c:type="GVariant*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1318">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="revoke_temporary_authorization_by_id"
              c:identifier="polkit_authority_revoke_temporary_authorization_by_id"
              glib:finish-func="revoke_temporary_authorization_by_id_finish"
              glib:sync-func="revoke_temporary_authorization_by_id_sync">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="1904">Asynchronously revoke a temporary authorization.

When the operation is finished, @callback will be invoked in the
&lt;link linkend="g-main-context-push-thread-default"&gt;thread-default
main loop&lt;/link&gt; of the thread you are calling this method
from. You can then call
polkit_authority_revoke_temporary_authorization_by_id_finish() to
get the result of the operation.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="213"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1906">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1907">The opaque identifier for the temporary authorization.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1908">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="3">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1909">A #GAsyncReadyCallback to call when the request is satisfied.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1910">The data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="revoke_temporary_authorization_by_id_finish"
              c:identifier="polkit_authority_revoke_temporary_authorization_by_id_finish"
              throws="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="1946">Finishes revoking a temporary authorization by id.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="219"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="1954">%TRUE if the temporary authorization was revoked, %FALSE if error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1948">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1949">A #GAsyncResult obtained from the callback.</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="revoke_temporary_authorization_by_id_sync"
              c:identifier="polkit_authority_revoke_temporary_authorization_by_id_sync"
              throws="1"
              glib:async-func="revoke_temporary_authorization_by_id">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="1984">Synchronously revokes a temporary authorization.

The calling thread is blocked until a reply is received. See
polkit_authority_revoke_temporary_authorization_by_id() for the
asynchronous version.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="116"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="1997">%TRUE if the temporary authorization was revoked, %FALSE if error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1986">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1987">The opaque identifier for the temporary authorization.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1988">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="revoke_temporary_authorizations"
              c:identifier="polkit_authority_revoke_temporary_authorizations"
              glib:finish-func="revoke_temporary_authorizations_finish"
              glib:sync-func="revoke_temporary_authorizations_sync">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="1784">Asynchronously revokes all temporary authorizations for @subject.

When the operation is finished, @callback will be invoked in the
&lt;link linkend="g-main-context-push-thread-default"&gt;thread-default
main loop&lt;/link&gt; of the thread you are calling this method
from. You can then call
polkit_authority_revoke_temporary_authorizations_finish() to get
the result of the operation.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="203"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1786">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="subject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1787">The subject to revoke authorizations from, typically a #PolkitUnixSession.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1788">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="3">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1789">A #GAsyncReadyCallback to call when the request is satisfied.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1790">The data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="revoke_temporary_authorizations_finish"
              c:identifier="polkit_authority_revoke_temporary_authorizations_finish"
              throws="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="1826">Finishes revoking temporary authorizations.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="209"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="1834">%TRUE if all the temporary authorizations was revoked, %FALSE if error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1828">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1829">A #GAsyncResult obtained from the callback.</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="revoke_temporary_authorizations_sync"
              c:identifier="polkit_authority_revoke_temporary_authorizations_sync"
              throws="1"
              glib:async-func="revoke_temporary_authorizations">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="1864">Synchronously revokes all temporary authorization from @subject.

The calling thread is blocked until a reply is received. See
polkit_authority_revoke_temporary_authorizations() for the
asynchronous version.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="111"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="1877">%TRUE if the temporary authorization was revoked, %FALSE if error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1866">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="subject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1867">The subject to revoke authorizations from, typically a #PolkitUnixSession.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1868">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unregister_authentication_agent"
              c:identifier="polkit_authority_unregister_authentication_agent"
              glib:finish-func="unregister_authentication_agent_finish"
              glib:sync-func="unregister_authentication_agent_sync">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="1364">Asynchronously unregisters an authentication agent.

When the operation is finished, @callback will be invoked in the
&lt;link linkend="g-main-context-push-thread-default"&gt;thread-default
main loop&lt;/link&gt; of the thread you are calling this method
from. You can then call
polkit_authority_unregister_authentication_agent_finish() to get
the result of the operation.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="171"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1366">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="subject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1367">The subject the authentication agent is for, typically a #PolkitUnixSession object.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1368">The object path for the authentication agent.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1369">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="4">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1370">A #GAsyncReadyCallback to call when the request is satisfied.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1371">The data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="unregister_authentication_agent_finish"
              c:identifier="polkit_authority_unregister_authentication_agent_finish"
              throws="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="1410">Finishes unregistering an authentication agent.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="178"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="1418">%TRUE if the authentication agent was successfully unregistered, %FALSE if @error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1412">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1413">A #GAsyncResult obtained from the callback.</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unregister_authentication_agent_sync"
              c:identifier="polkit_authority_unregister_authentication_agent_sync"
              throws="1"
              glib:async-func="unregister_authentication_agent">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="1449">Unregisters an authentication agent. The calling thread is blocked
until a reply is received. See
polkit_authority_unregister_authentication_agent() for the
asynchronous version.</doc>
        <source-position filename="src/polkit/polkitauthority.h" line="94"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthority.c"
               line="1462">%TRUE if the authentication agent was successfully unregistered, %FALSE if @error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="authority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1451">A #PolkitAuthority.</doc>
            <type name="Authority" c:type="PolkitAuthority*"/>
          </instance-parameter>
          <parameter name="subject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1452">The subject the authentication agent is for, typically a #PolkitUnixSession object.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1453">The object path for the authentication agent.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthority.c"
                 line="1454">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <property name="backend-features"
                transfer-ownership="none"
                getter="get_backend_features"
                default-value="POLKIT_AUTHORITY_FEATURES_NONE">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="269">The features of the currently used Authority backend.</doc>
        <type name="AuthorityFeatures"/>
      </property>
      <property name="backend-name"
                transfer-ownership="none"
                getter="get_backend_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="237">The name of the currently used Authority backend.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="backend-version"
                transfer-ownership="none"
                getter="get_backend_version"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="owner"
                transfer-ownership="none"
                getter="get_owner"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="219">The unique name of the owner of the org.freedesktop.PolicyKit1
D-Bus service or %NULL if there is no owner. Connect to the
#GObject::notify signal to track changes to this property.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <glib:signal name="changed" when="last">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="286">Emitted when actions and/or authorizations change</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="sessions-changed" when="last">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthority.c"
             line="301">Emitted when sessions change</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="AuthorityClass"
            c:type="PolkitAuthorityClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="Authority">
      <source-position filename="src/polkit/polkitauthority.h" line="46"/>
    </record>
    <bitfield name="AuthorityFeatures"
              glib:type-name="PolkitAuthorityFeatures"
              glib:get-type="polkit_authority_features_get_type"
              c:type="PolkitAuthorityFeatures">
      <doc xml:space="preserve"
           filename="src/polkit/polkitauthorityfeatures.h"
           line="33">Flags describing features supported by the Authority implementation.</doc>
      <member name="none"
              value="0"
              c:identifier="POLKIT_AUTHORITY_FEATURES_NONE"
              glib:nick="none"
              glib:name="POLKIT_AUTHORITY_FEATURES_NONE">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthorityfeatures.h"
             line="35">No flags set.</doc>
      </member>
      <member name="temporary_authorization"
              value="1"
              c:identifier="POLKIT_AUTHORITY_FEATURES_TEMPORARY_AUTHORIZATION"
              glib:nick="temporary-authorization"
              glib:name="POLKIT_AUTHORITY_FEATURES_TEMPORARY_AUTHORIZATION">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthorityfeatures.h"
             line="36">The authority supports temporary authorizations
that can be obtained through authentication.</doc>
      </member>
    </bitfield>
    <class name="AuthorizationResult"
           c:symbol-prefix="authorization_result"
           parent="GObject.Object"
           glib:type-name="PolkitAuthorizationResult"
           glib:get-type="polkit_authorization_result_get_type"
           glib:type-struct="AuthorizationResultClass">
      <doc xml:space="preserve"
           filename="src/polkit/polkitauthorizationresult.c"
           line="26">This class represents the result you get when checking for an authorization.</doc>
      <source-position filename="src/polkit/polkitauthorizationresult.h"
                       line="44"/>
      <constructor name="new" c:identifier="polkit_authorization_result_new">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthorizationresult.c"
             line="86">Creates a new #PolkitAuthorizationResult object.</doc>
        <source-position filename="src/polkit/polkitauthorizationresult.h"
                         line="47"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthorizationresult.c"
               line="96">A #PolkitAuthorizationResult object. Free with g_object_unref().</doc>
          <type name="AuthorizationResult"
                c:type="PolkitAuthorizationResult*"/>
        </return-value>
        <parameters>
          <parameter name="is_authorized" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthorizationresult.c"
                 line="88">Whether the subject is authorized.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="is_challenge" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthorizationresult.c"
                 line="89">Whether the subject is authorized if more
information is provided. Must be %FALSE unless @is_authorized is
%TRUE.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="details"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthorizationresult.c"
                 line="92">Must be %NULL unless @is_authorized is %TRUE</doc>
            <type name="Details" c:type="PolkitDetails*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_details"
              c:identifier="polkit_authorization_result_get_details">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthorizationresult.c"
             line="148">Gets the details about the result.</doc>
        <source-position filename="src/polkit/polkitauthorizationresult.h"
                         line="50"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthorizationresult.c"
               line="154">A #PolkitDetails object or
%NULL if there are no details. This object is owned by @result and
should not be freed by the caller.</doc>
          <type name="Details" c:type="PolkitDetails*"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthorizationresult.c"
                 line="150">A #PolkitAuthorizationResult.</doc>
            <type name="AuthorizationResult"
                  c:type="PolkitAuthorizationResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_dismissed"
              c:identifier="polkit_authorization_result_get_dismissed"
              version="0.101">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthorizationresult.c"
             line="237">Gets whether the authentication request was dismissed / canceled by the user.

This method simply reads the value of the key/value pair in @details with the
key &lt;literal&gt;polkit.dismissed&lt;/literal&gt;.</doc>
        <source-position filename="src/polkit/polkitauthorizationresult.h"
                         line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthorizationresult.c"
               line="246">%TRUE if the authentication request was dismissed, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthorizationresult.c"
                 line="239">A #PolkitAuthorizationResult.</doc>
            <type name="AuthorizationResult"
                  c:type="PolkitAuthorizationResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_is_authorized"
              c:identifier="polkit_authorization_result_get_is_authorized">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthorizationresult.c"
             line="115">Gets whether the subject is authorized.

If the authorization is temporary, use polkit_authorization_result_get_temporary_authorization_id()
to get the opaque identifier for the temporary authorization.</doc>
        <source-position filename="src/polkit/polkitauthorizationresult.h"
                         line="51"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthorizationresult.c"
               line="124">Whether the subject is authorized.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthorizationresult.c"
                 line="117">A #PolkitAuthorizationResult.</doc>
            <type name="AuthorizationResult"
                  c:type="PolkitAuthorizationResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_is_challenge"
              c:identifier="polkit_authorization_result_get_is_challenge">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthorizationresult.c"
             line="133">Gets whether the subject is authorized if more information is provided.</doc>
        <source-position filename="src/polkit/polkitauthorizationresult.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthorizationresult.c"
               line="139">Whether the subject is authorized if more information is provided.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthorizationresult.c"
                 line="135">A #PolkitAuthorizationResult.</doc>
            <type name="AuthorizationResult"
                  c:type="PolkitAuthorizationResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_retains_authorization"
              c:identifier="polkit_authorization_result_get_retains_authorization">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthorizationresult.c"
             line="165">Gets whether authorization is retained if obtained via authentication. This can only be the case
if @result indicates that the subject can obtain authorization after challenge (cf.
polkit_authorization_result_get_is_challenge()), e.g. when the subject is not already authorized (cf.
polkit_authorization_result_get_is_authorized()).

If the subject is already authorized, use polkit_authorization_result_get_temporary_authorization_id()
to check if the authorization is temporary.

This method simply reads the value of the key/value pair in @details with the
key &lt;literal&gt;polkit.retains_authorization_after_challenge&lt;/literal&gt;.</doc>
        <source-position filename="src/polkit/polkitauthorizationresult.h"
                         line="53"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthorizationresult.c"
               line="180">%TRUE if the authorization is or will be temporary.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthorizationresult.c"
                 line="167">A #PolkitAuthorizationResult.</doc>
            <type name="AuthorizationResult"
                  c:type="PolkitAuthorizationResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_temporary_authorization_id"
              c:identifier="polkit_authorization_result_get_temporary_authorization_id">
        <doc xml:space="preserve"
             filename="src/polkit/polkitauthorizationresult.c"
             line="198">Gets the opaque temporary authorization id for @result if @result indicates the
subject is authorized and the authorization is temporary rather than one-shot or
permanent.

You can use this string together with the result from
polkit_authority_enumerate_temporary_authorizations() to get more details
about the temporary authorization or polkit_authority_revoke_temporary_authorization_by_id()
to revoke the temporary authorization.

If the subject is not authorized, use polkit_authorization_result_get_retains_authorization()
to check if the authorization will be retained if obtained via authentication.

This method simply reads the value of the key/value pair in @details with the
key &lt;literal&gt;polkit.temporary_authorization_id&lt;/literal&gt;.</doc>
        <source-position filename="src/polkit/polkitauthorizationresult.h"
                         line="54"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/polkit/polkitauthorizationresult.c"
               line="217">The opaque temporary authorization id for
   @result or %NULL if not available. Do not free this string, it
   is owned by @result.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitauthorizationresult.c"
                 line="200">A #PolkitAuthorizationResult.</doc>
            <type name="AuthorizationResult"
                  c:type="PolkitAuthorizationResult*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="AuthorizationResultClass"
            c:type="PolkitAuthorizationResultClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="AuthorizationResult">
      <source-position filename="src/polkit/polkitauthorizationresult.h"
                       line="44"/>
    </record>
    <bitfield name="CheckAuthorizationFlags"
              glib:type-name="PolkitCheckAuthorizationFlags"
              glib:get-type="polkit_check_authorization_flags_get_type"
              c:type="PolkitCheckAuthorizationFlags">
      <doc xml:space="preserve"
           filename="src/polkit/polkitcheckauthorizationflags.h"
           line="33">Possible flags when checking authorizations.</doc>
      <member name="none"
              value="0"
              c:identifier="POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE"
              glib:nick="none"
              glib:name="POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE">
        <doc xml:space="preserve"
             filename="src/polkit/polkitcheckauthorizationflags.h"
             line="35">No flags set.</doc>
      </member>
      <member name="allow_user_interaction"
              value="1"
              c:identifier="POLKIT_CHECK_AUTHORIZATION_FLAGS_ALLOW_USER_INTERACTION"
              glib:nick="allow-user-interaction"
              glib:name="POLKIT_CHECK_AUTHORIZATION_FLAGS_ALLOW_USER_INTERACTION">
        <doc xml:space="preserve"
             filename="src/polkit/polkitcheckauthorizationflags.h"
             line="36">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 method used for checking authorization is likely to block for a long time.</doc>
      </member>
      <member name="always_check"
              value="2"
              c:identifier="POLKIT_CHECK_AUTHORIZATION_FLAGS_ALWAYS_CHECK"
              glib:nick="always-check"
              glib:name="POLKIT_CHECK_AUTHORIZATION_FLAGS_ALWAYS_CHECK">
        <doc xml:space="preserve"
             filename="src/polkit/polkitcheckauthorizationflags.h"
             line="39">Check access against policy even for root user.</doc>
      </member>
    </bitfield>
    <function-macro name="DETAILS"
                    c:identifier="POLKIT_DETAILS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitdetails.h" line="36"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DETAILS_CLASS"
                    c:identifier="POLKIT_DETAILS_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitdetails.h" line="37"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DETAILS_GET_CLASS"
                    c:identifier="POLKIT_DETAILS_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitdetails.h" line="38"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Details"
           c:symbol-prefix="details"
           parent="GObject.Object"
           glib:type-name="PolkitDetails"
           glib:get-type="polkit_details_get_type"
           glib:type-struct="DetailsClass">
      <doc xml:space="preserve"
           filename="src/polkit/polkitdetails.c"
           line="28">An object used for passing details around.</doc>
      <source-position filename="src/polkit/polkitdetails.h" line="45"/>
      <constructor name="new" c:identifier="polkit_details_new">
        <doc xml:space="preserve"
             filename="src/polkit/polkitdetails.c"
             line="83">Creates a new #PolkitDetails object.</doc>
        <source-position filename="src/polkit/polkitdetails.h" line="48"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitdetails.c"
               line="88">A #PolkitDetails object. Free with g_object_unref().</doc>
          <type name="Details" c:type="PolkitDetails*"/>
        </return-value>
      </constructor>
      <method name="get_keys" c:identifier="polkit_details_get_keys">
        <doc xml:space="preserve"
             filename="src/polkit/polkitdetails.c"
             line="162">Gets a list of all keys on @details.</doc>
        <source-position filename="src/polkit/polkitdetails.h" line="54"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/polkit/polkitdetails.c"
               line="168">%NULL if there are no keys
otherwise an array of strings that should be freed with
g_strfreev().</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="details" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitdetails.c"
                 line="164">A #PolkitDetails.</doc>
            <type name="Details" c:type="PolkitDetails*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="insert" c:identifier="polkit_details_insert">
        <doc xml:space="preserve"
             filename="src/polkit/polkitdetails.c"
             line="134">Inserts a copy of @key and @value on @details.

If @value is %NULL, the key will be removed.</doc>
        <source-position filename="src/polkit/polkitdetails.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="details" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitdetails.c"
                 line="136">A #PolkitDetails.</doc>
            <type name="Details" c:type="PolkitDetails*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitdetails.c"
                 line="137">A key.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitdetails.c"
                 line="138">A value.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup" c:identifier="polkit_details_lookup">
        <doc xml:space="preserve"
             filename="src/polkit/polkitdetails.c"
             line="113">Gets the value for @key on @details.</doc>
        <source-position filename="src/polkit/polkitdetails.h" line="49"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/polkit/polkitdetails.c"
               line="120">%NULL if there is no value for @key, otherwise a string owned by @details.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="details" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitdetails.c"
                 line="115">A #PolkitDetails.</doc>
            <type name="Details" c:type="PolkitDetails*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitdetails.c"
                 line="116">A key.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="DetailsClass"
            c:type="PolkitDetailsClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="Details">
      <source-position filename="src/polkit/polkitdetails.h" line="45"/>
    </record>
    <enumeration name="Error"
                 glib:type-name="PolkitError"
                 glib:get-type="polkit_error_get_type"
                 c:type="PolkitError"
                 glib:error-domain="polkit-error-quark">
      <doc xml:space="preserve"
           filename="src/polkit/polkiterror.h"
           line="43">Possible error when using PolicyKit.</doc>
      <member name="failed"
              value="0"
              c:identifier="POLKIT_ERROR_FAILED"
              glib:nick="failed"
              glib:name="POLKIT_ERROR_FAILED">
        <doc xml:space="preserve"
             filename="src/polkit/polkiterror.h"
             line="45">The operation failed.</doc>
      </member>
      <member name="cancelled"
              value="1"
              c:identifier="POLKIT_ERROR_CANCELLED"
              glib:nick="cancelled"
              glib:name="POLKIT_ERROR_CANCELLED">
        <doc xml:space="preserve"
             filename="src/polkit/polkiterror.h"
             line="46">The operation was cancelled.</doc>
      </member>
      <member name="not_supported"
              value="2"
              c:identifier="POLKIT_ERROR_NOT_SUPPORTED"
              glib:nick="not-supported"
              glib:name="POLKIT_ERROR_NOT_SUPPORTED">
        <doc xml:space="preserve"
             filename="src/polkit/polkiterror.h"
             line="47">Operation is not supported.</doc>
      </member>
      <member name="not_authorized"
              value="3"
              c:identifier="POLKIT_ERROR_NOT_AUTHORIZED"
              glib:nick="not-authorized"
              glib:name="POLKIT_ERROR_NOT_AUTHORIZED">
        <doc xml:space="preserve"
             filename="src/polkit/polkiterror.h"
             line="48">Not authorized to perform operation.</doc>
      </member>
      <function name="quark" c:identifier="polkit_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <function-macro name="IDENTITY"
                    c:identifier="POLKIT_IDENTITY"
                    introspectable="0">
      <source-position filename="src/polkit/polkitidentity.h" line="36"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IDENTITY_GET_IFACE"
                    c:identifier="POLKIT_IDENTITY_GET_IFACE"
                    introspectable="0">
      <source-position filename="src/polkit/polkitidentity.h" line="38"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_ACTION_DESCRIPTION"
                    c:identifier="POLKIT_IS_ACTION_DESCRIPTION"
                    introspectable="0">
      <source-position filename="src/polkit/polkitactiondescription.h"
                       line="39"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_ACTION_DESCRIPTION_CLASS"
                    c:identifier="POLKIT_IS_ACTION_DESCRIPTION_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitactiondescription.h"
                       line="40"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_AUTHORITY"
                    c:identifier="POLKIT_IS_AUTHORITY"
                    introspectable="0">
      <source-position filename="src/polkit/polkitauthority.h" line="40"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_AUTHORITY_CLASS"
                    c:identifier="POLKIT_IS_AUTHORITY_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitauthority.h" line="41"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_AUTHORIZATION_RESULT"
                    c:identifier="POLKIT_IS_AUTHORIZATION_RESULT"
                    introspectable="0">
      <source-position filename="src/polkit/polkitauthorizationresult.h"
                       line="38"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_AUTHORIZATION_RESULT_CLASS"
                    c:identifier="POLKIT_IS_AUTHORIZATION_RESULT_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitauthorizationresult.h"
                       line="39"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_DETAILS"
                    c:identifier="POLKIT_IS_DETAILS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitdetails.h" line="39"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_DETAILS_CLASS"
                    c:identifier="POLKIT_IS_DETAILS_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitdetails.h" line="40"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_IDENTITY"
                    c:identifier="POLKIT_IS_IDENTITY"
                    introspectable="0">
      <source-position filename="src/polkit/polkitidentity.h" line="37"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_PERMISSION"
                    c:identifier="POLKIT_IS_PERMISSION"
                    introspectable="0">
      <source-position filename="src/polkit/polkitpermission.h" line="37"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SUBJECT"
                    c:identifier="POLKIT_IS_SUBJECT"
                    introspectable="0">
      <source-position filename="src/polkit/polkitsubject.h" line="37"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SYSTEM_BUS_NAME"
                    c:identifier="POLKIT_IS_SYSTEM_BUS_NAME"
                    introspectable="0">
      <source-position filename="src/polkit/polkitsystembusname.h" line="41"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SYSTEM_BUS_NAME_CLASS"
                    c:identifier="POLKIT_IS_SYSTEM_BUS_NAME_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitsystembusname.h" line="42"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_TEMPORARY_AUTHORIZATION"
                    c:identifier="POLKIT_IS_TEMPORARY_AUTHORIZATION"
                    introspectable="0">
      <source-position filename="src/polkit/polkittemporaryauthorization.h"
                       line="39"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_TEMPORARY_AUTHORIZATION_CLASS"
                    c:identifier="POLKIT_IS_TEMPORARY_AUTHORIZATION_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkittemporaryauthorization.h"
                       line="40"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_UNIX_GROUP"
                    c:identifier="POLKIT_IS_UNIX_GROUP"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixgroup.h" line="41"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_UNIX_GROUP_CLASS"
                    c:identifier="POLKIT_IS_UNIX_GROUP_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixgroup.h" line="42"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_UNIX_NETGROUP"
                    c:identifier="POLKIT_IS_UNIX_NETGROUP"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixnetgroup.h" line="42"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_UNIX_NETGROUP_CLASS"
                    c:identifier="POLKIT_IS_UNIX_NETGROUP_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixnetgroup.h" line="43"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_UNIX_PROCESS"
                    c:identifier="POLKIT_IS_UNIX_PROCESS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixprocess.h" line="41"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_UNIX_PROCESS_CLASS"
                    c:identifier="POLKIT_IS_UNIX_PROCESS_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixprocess.h" line="42"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_UNIX_SESSION"
                    c:identifier="POLKIT_IS_UNIX_SESSION"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixsession.h" line="39"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_UNIX_SESSION_CLASS"
                    c:identifier="POLKIT_IS_UNIX_SESSION_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixsession.h" line="40"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_UNIX_USER"
                    c:identifier="POLKIT_IS_UNIX_USER"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixuser.h" line="41"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_UNIX_USER_CLASS"
                    c:identifier="POLKIT_IS_UNIX_USER_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixuser.h" line="42"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <interface name="Identity"
               c:symbol-prefix="identity"
               glib:type-name="PolkitIdentity"
               glib:get-type="polkit_identity_get_type"
               glib:type-struct="IdentityIface">
      <doc xml:space="preserve"
           filename="src/polkit/polkitidentity.c"
           line="31">#PolkitIdentity is an abstract type for representing one or more
identities.</doc>
      <source-position filename="src/polkit/polkitidentity.h" line="70"/>
      <function name="from_string"
                c:identifier="polkit_identity_from_string"
                throws="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitidentity.c"
             line="131">Creates an object from @str that implements the #PolkitIdentity
interface.</doc>
        <source-position filename="src/polkit/polkitidentity.h" line="77"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/polkit/polkitidentity.c"
               line="139">A #PolkitIdentity or %NULL
if @error is set. Free with g_object_unref().</doc>
          <type name="Identity" c:type="PolkitIdentity*"/>
        </return-value>
        <parameters>
          <parameter name="str" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitidentity.c"
                 line="133">A string obtained from polkit_identity_to_string().</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <virtual-method name="equal" invoker="equal">
        <doc xml:space="preserve"
             filename="src/polkit/polkitidentity.c"
             line="91">Checks if @a and @b are equal, ie. represent the same identity.

This function can be used in e.g. g_hash_table_new().</doc>
        <source-position filename="src/polkit/polkitidentity.h" line="66"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitidentity.c"
               line="100">%TRUE if @a and @b are equal, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="a" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitidentity.c"
                 line="93">A #PolkitIdentity.</doc>
            <type name="Identity" c:type="PolkitIdentity*"/>
          </instance-parameter>
          <parameter name="b" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitidentity.c"
                 line="94">A #PolkitIdentity.</doc>
            <type name="Identity" c:type="PolkitIdentity*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="hash" invoker="hash">
        <doc xml:space="preserve"
             filename="src/polkit/polkitidentity.c"
             line="76">Gets a hash code for @identity that can be used with e.g. g_hash_table_new().</doc>
        <source-position filename="src/polkit/polkitidentity.h" line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitidentity.c"
               line="82">A hash code.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="identity" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitidentity.c"
                 line="78">A #PolkitIdentity.</doc>
            <type name="Identity" c:type="PolkitIdentity*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="to_string" invoker="to_string">
        <doc xml:space="preserve"
             filename="src/polkit/polkitidentity.c"
             line="115">Serializes @identity to a string that can be used in
polkit_identity_from_string().</doc>
        <source-position filename="src/polkit/polkitidentity.h" line="69"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitidentity.c"
               line="122">A string representing @identity. Free with g_free().</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="identity" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitidentity.c"
                 line="117">A #PolkitIdentity.</doc>
            <type name="Identity" c:type="PolkitIdentity*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="equal" c:identifier="polkit_identity_equal">
        <doc xml:space="preserve"
             filename="src/polkit/polkitidentity.c"
             line="91">Checks if @a and @b are equal, ie. represent the same identity.

This function can be used in e.g. g_hash_table_new().</doc>
        <source-position filename="src/polkit/polkitidentity.h" line="74"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitidentity.c"
               line="100">%TRUE if @a and @b are equal, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="a" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitidentity.c"
                 line="93">A #PolkitIdentity.</doc>
            <type name="Identity" c:type="PolkitIdentity*"/>
          </instance-parameter>
          <parameter name="b" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitidentity.c"
                 line="94">A #PolkitIdentity.</doc>
            <type name="Identity" c:type="PolkitIdentity*"/>
          </parameter>
        </parameters>
      </method>
      <method name="hash" c:identifier="polkit_identity_hash">
        <doc xml:space="preserve"
             filename="src/polkit/polkitidentity.c"
             line="76">Gets a hash code for @identity that can be used with e.g. g_hash_table_new().</doc>
        <source-position filename="src/polkit/polkitidentity.h" line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitidentity.c"
               line="82">A hash code.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="identity" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitidentity.c"
                 line="78">A #PolkitIdentity.</doc>
            <type name="Identity" c:type="PolkitIdentity*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="to_string" c:identifier="polkit_identity_to_string">
        <doc xml:space="preserve"
             filename="src/polkit/polkitidentity.c"
             line="115">Serializes @identity to a string that can be used in
polkit_identity_from_string().</doc>
        <source-position filename="src/polkit/polkitidentity.h" line="76"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitidentity.c"
               line="122">A string representing @identity. Free with g_free().</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="identity" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitidentity.c"
                 line="117">A #PolkitIdentity.</doc>
            <type name="Identity" c:type="PolkitIdentity*"/>
          </instance-parameter>
        </parameters>
      </method>
    </interface>
    <record name="IdentityIface"
            c:type="PolkitIdentityIface"
            glib:is-gtype-struct-for="Identity">
      <doc xml:space="preserve"
           filename="src/polkit/polkitidentity.h"
           line="50">An interface for identities.</doc>
      <source-position filename="src/polkit/polkitidentity.h" line="70"/>
      <field name="parent_iface">
        <doc xml:space="preserve"
             filename="src/polkit/polkitidentity.h"
             line="52">The parent interface.</doc>
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="hash">
        <doc xml:space="preserve"
             filename="src/polkit/polkitidentity.h"
             line="53">Gets a hash value for a #PolkitIdentity.</doc>
        <callback name="hash">
          <source-position filename="src/polkit/polkitidentity.h" line="64"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitidentity.c"
                 line="82">A hash code.</doc>
            <type name="guint" c:type="guint"/>
          </return-value>
          <parameters>
            <parameter name="identity" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/polkit/polkitidentity.c"
                   line="78">A #PolkitIdentity.</doc>
              <type name="Identity" c:type="PolkitIdentity*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="equal">
        <doc xml:space="preserve"
             filename="src/polkit/polkitidentity.h"
             line="54">Checks if two #PolkitIdentity&lt;!-- --&gt;s are equal.</doc>
        <callback name="equal">
          <source-position filename="src/polkit/polkitidentity.h" line="66"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitidentity.c"
                 line="100">%TRUE if @a and @b are equal, %FALSE otherwise.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="a" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/polkit/polkitidentity.c"
                   line="93">A #PolkitIdentity.</doc>
              <type name="Identity" c:type="PolkitIdentity*"/>
            </parameter>
            <parameter name="b" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/polkit/polkitidentity.c"
                   line="94">A #PolkitIdentity.</doc>
              <type name="Identity" c:type="PolkitIdentity*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="to_string">
        <doc xml:space="preserve"
             filename="src/polkit/polkitidentity.h"
             line="55">Serializes a #PolkitIdentity to a string that can be
used in polkit_identity_from_string().</doc>
        <callback name="to_string">
          <source-position filename="src/polkit/polkitidentity.h" line="69"/>
          <return-value transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitidentity.c"
                 line="122">A string representing @identity. Free with g_free().</doc>
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="identity" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/polkit/polkitidentity.c"
                   line="117">A #PolkitIdentity.</doc>
              <type name="Identity" c:type="PolkitIdentity*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="ImplicitAuthorization"
                 glib:type-name="PolkitImplicitAuthorization"
                 glib:get-type="polkit_implicit_authorization_get_type"
                 c:type="PolkitImplicitAuthorization">
      <doc xml:space="preserve"
           filename="src/polkit/polkitimplicitauthorization.h"
           line="33">Possible implicit authorizations.</doc>
      <member name="unknown"
              value="-1"
              c:identifier="POLKIT_IMPLICIT_AUTHORIZATION_UNKNOWN"
              glib:nick="unknown"
              glib:name="POLKIT_IMPLICIT_AUTHORIZATION_UNKNOWN">
        <doc xml:space="preserve"
             filename="src/polkit/polkitimplicitauthorization.h"
             line="35">Unknown whether the subject is authorized, never returned in any public API.</doc>
      </member>
      <member name="not_authorized"
              value="0"
              c:identifier="POLKIT_IMPLICIT_AUTHORIZATION_NOT_AUTHORIZED"
              glib:nick="not-authorized"
              glib:name="POLKIT_IMPLICIT_AUTHORIZATION_NOT_AUTHORIZED">
        <doc xml:space="preserve"
             filename="src/polkit/polkitimplicitauthorization.h"
             line="36">Subject is not authorized.</doc>
      </member>
      <member name="authentication_required"
              value="1"
              c:identifier="POLKIT_IMPLICIT_AUTHORIZATION_AUTHENTICATION_REQUIRED"
              glib:nick="authentication-required"
              glib:name="POLKIT_IMPLICIT_AUTHORIZATION_AUTHENTICATION_REQUIRED">
        <doc xml:space="preserve"
             filename="src/polkit/polkitimplicitauthorization.h"
             line="37">Authentication is required.</doc>
      </member>
      <member name="administrator_authentication_required"
              value="2"
              c:identifier="POLKIT_IMPLICIT_AUTHORIZATION_ADMINISTRATOR_AUTHENTICATION_REQUIRED"
              glib:nick="administrator-authentication-required"
              glib:name="POLKIT_IMPLICIT_AUTHORIZATION_ADMINISTRATOR_AUTHENTICATION_REQUIRED">
        <doc xml:space="preserve"
             filename="src/polkit/polkitimplicitauthorization.h"
             line="38">Authentication as an administrator is required.</doc>
      </member>
      <member name="authentication_required_retained"
              value="3"
              c:identifier="POLKIT_IMPLICIT_AUTHORIZATION_AUTHENTICATION_REQUIRED_RETAINED"
              glib:nick="authentication-required-retained"
              glib:name="POLKIT_IMPLICIT_AUTHORIZATION_AUTHENTICATION_REQUIRED_RETAINED">
        <doc xml:space="preserve"
             filename="src/polkit/polkitimplicitauthorization.h"
             line="39">Authentication is required. If the authorization is obtained, it is retained.</doc>
      </member>
      <member name="administrator_authentication_required_retained"
              value="4"
              c:identifier="POLKIT_IMPLICIT_AUTHORIZATION_ADMINISTRATOR_AUTHENTICATION_REQUIRED_RETAINED"
              glib:nick="administrator-authentication-required-retained"
              glib:name="POLKIT_IMPLICIT_AUTHORIZATION_ADMINISTRATOR_AUTHENTICATION_REQUIRED_RETAINED">
        <doc xml:space="preserve"
             filename="src/polkit/polkitimplicitauthorization.h"
             line="40">Authentication as an administrator is required. If the authorization is obtained, it is retained.</doc>
      </member>
      <member name="authorized"
              value="5"
              c:identifier="POLKIT_IMPLICIT_AUTHORIZATION_AUTHORIZED"
              glib:nick="authorized"
              glib:name="POLKIT_IMPLICIT_AUTHORIZATION_AUTHORIZED">
        <doc xml:space="preserve"
             filename="src/polkit/polkitimplicitauthorization.h"
             line="41">The subject is authorized</doc>
      </member>
      <function name="from_string"
                c:identifier="polkit_implicit_authorization_from_string">
        <source-position filename="src/polkit/polkitimplicitauthorization.h"
                         line="63"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitimplicitauthorization.h"
                 line="60">A string</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_implicit_authorization"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitimplicitauthorization.h"
                 line="61">The location of the resulting deserialization</doc>
            <type name="ImplicitAuthorization"
                  c:type="PolkitImplicitAuthorization*"/>
          </parameter>
        </parameters>
      </function>
      <function name="to_string"
                c:identifier="polkit_implicit_authorization_to_string">
        <source-position filename="src/polkit/polkitimplicitauthorization.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="implicit_authorization" transfer-ownership="none">
            <type name="ImplicitAuthorization"
                  c:type="PolkitImplicitAuthorization"/>
          </parameter>
        </parameters>
      </function>
    </enumeration>
    <function-macro name="PERMISSION"
                    c:identifier="POLKIT_PERMISSION"
                    introspectable="0">
      <source-position filename="src/polkit/polkitpermission.h" line="36"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Permission"
           c:symbol-prefix="permission"
           parent="Gio.Permission"
           glib:type-name="PolkitPermission"
           glib:get-type="polkit_permission_get_type">
      <doc xml:space="preserve"
           filename="src/polkit/polkitpermission.c"
           line="36">#PolkitPermission is a #GPermission implementation. It can be used
with e.g. #GtkLockButton. See the #GPermission documentation for
more information.</doc>
      <implements name="Gio.AsyncInitable"/>
      <implements name="Gio.Initable"/>
      <constructor name="new_finish"
                   c:identifier="polkit_permission_new_finish"
                   throws="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitpermission.c"
             line="303">Finishes an operation started with polkit_permission_new().</doc>
        <source-position filename="src/polkit/polkitpermission.h" line="45"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitpermission.c"
               line="310">A #GPermission or %NULL if @error is set.</doc>
          <type name="Gio.Permission" c:type="GPermission*"/>
        </return-value>
        <parameters>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitpermission.c"
                 line="305">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to polkit_permission_new().</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_sync"
                   c:identifier="polkit_permission_new_sync"
                   throws="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitpermission.c"
             line="334">Creates a #GPermission instance for the PolicyKit action
@action_id.

This is a synchronous failable constructor. See
polkit_permission_new() for the asynchronous version.</doc>
        <source-position filename="src/polkit/polkitpermission.h" line="47"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitpermission.c"
               line="347">A #GPermission or %NULL if @error is set.</doc>
          <type name="Gio.Permission" c:type="GPermission*"/>
        </return-value>
        <parameters>
          <parameter name="action_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitpermission.c"
                 line="336">The PolicyKit action identifier.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="subject"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitpermission.c"
                 line="337">A #PolkitSubject or %NULL for the current process.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitpermission.c"
                 line="338">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="new"
                c:identifier="polkit_permission_new"
                glib:finish-func="new_finish">
        <doc xml:space="preserve"
             filename="src/polkit/polkitpermission.c"
             line="264">Creates a #GPermission instance for the PolicyKit action
@action_id.

When the operation is finished, @callback will be invoked. You can
then call polkit_permission_new_finish() to get the result of the
operation.

This is a asynchronous failable constructor. See
polkit_permission_new_sync() for the synchronous version.</doc>
        <source-position filename="src/polkit/polkitpermission.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="action_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitpermission.c"
                 line="266">The PolicyKit action identifier.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="subject"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitpermission.c"
                 line="267">A #PolkitSubject or %NULL for the current process.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitpermission.c"
                 line="268">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="4">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitpermission.c"
                 line="269">A #GAsyncReadyCallback to call when the request is satisfied.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitpermission.c"
                 line="270">The data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_action_id"
              c:identifier="polkit_permission_get_action_id"
              glib:get-property="action-id">
        <doc xml:space="preserve"
             filename="src/polkit/polkitpermission.c"
             line="384">Gets the PolicyKit action identifier used for @permission.</doc>
        <source-position filename="src/polkit/polkitpermission.h" line="51"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitpermission.c"
               line="390">A string owned by @permission. Do not free.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="permission" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitpermission.c"
                 line="386">A #PolkitPermission.</doc>
            <type name="Permission" c:type="PolkitPermission*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_subject"
              c:identifier="polkit_permission_get_subject"
              glib:get-property="subject">
        <doc xml:space="preserve"
             filename="src/polkit/polkitpermission.c"
             line="399">Gets the subject used for @permission.</doc>
        <source-position filename="src/polkit/polkitpermission.h" line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitpermission.c"
               line="405">An object owned by @permission. Do not free.</doc>
          <type name="Subject" c:type="PolkitSubject*"/>
        </return-value>
        <parameters>
          <instance-parameter name="permission" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitpermission.c"
                 line="401">A #PolkitPermission.</doc>
            <type name="Permission" c:type="PolkitPermission*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="action-id"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_action_id"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/polkit/polkitpermission.c"
             line="233">The action identifier to use for the permission.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="subject"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_subject">
        <doc xml:space="preserve"
             filename="src/polkit/polkitpermission.c"
             line="247">The #PolkitSubject to use for the permission. If not set during
construction, it will be set to match the current process.</doc>
        <type name="Subject"/>
      </property>
    </class>
    <function-macro name="SUBJECT"
                    c:identifier="POLKIT_SUBJECT"
                    introspectable="0">
      <source-position filename="src/polkit/polkitsubject.h" line="36"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SUBJECT_GET_IFACE"
                    c:identifier="POLKIT_SUBJECT_GET_IFACE"
                    introspectable="0">
      <source-position filename="src/polkit/polkitsubject.h" line="38"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SYSTEM_BUS_NAME"
                    c:identifier="POLKIT_SYSTEM_BUS_NAME"
                    introspectable="0">
      <source-position filename="src/polkit/polkitsystembusname.h" line="38"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SYSTEM_BUS_NAME_CLASS"
                    c:identifier="POLKIT_SYSTEM_BUS_NAME_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitsystembusname.h" line="39"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SYSTEM_BUS_NAME_GET_CLASS"
                    c:identifier="POLKIT_SYSTEM_BUS_NAME_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitsystembusname.h" line="40"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <interface name="Subject"
               c:symbol-prefix="subject"
               glib:type-name="PolkitSubject"
               glib:get-type="polkit_subject_get_type"
               glib:type-struct="SubjectIface">
      <doc xml:space="preserve"
           filename="src/polkit/polkitsubject.c"
           line="32">#PolkitSubject is an abstract type for representing one or more
processes.</doc>
      <source-position filename="src/polkit/polkitsubject.h" line="86"/>
      <function name="from_string"
                c:identifier="polkit_subject_from_string"
                throws="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsubject.c"
             line="213">Creates an object from @str that implements the #PolkitSubject
interface.</doc>
        <source-position filename="src/polkit/polkitsubject.h" line="93"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitsubject.c"
               line="221">A #PolkitSubject or %NULL if @error is
set. Free with g_object_unref().</doc>
          <type name="Subject" c:type="PolkitSubject*"/>
        </return-value>
        <parameters>
          <parameter name="str" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="215">A string obtained from polkit_subject_to_string().</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <virtual-method name="equal" invoker="equal">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsubject.c"
             line="92">Checks if @a and @b are equal, ie. represent the same subject.
However, avoid calling polkit_subject_equal() to compare two processes;
for more information see the `PolkitUnixProcess` documentation.

This function can be used in e.g. g_hash_table_new().</doc>
        <source-position filename="src/polkit/polkitsubject.h" line="69"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitsubject.c"
               line="103">%TRUE if @a and @b are equal, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="a" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="94">A #PolkitSubject.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </instance-parameter>
          <parameter name="b" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="95">A #PolkitSubject.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="exists"
                      invoker="exists"
                      glib:finish-func="exists_finish"
                      glib:sync-func="exists_sync">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsubject.c"
             line="134">Asynchronously checks if @subject exists.

When the operation is finished, @callback will be invoked in the
&lt;link linkend="g-main-context-push-thread-default"&gt;thread-default
main loop&lt;/link&gt; of the thread you are calling this method
from. You can then call polkit_subject_exists_finish() to get the
result of the operation.</doc>
        <source-position filename="src/polkit/polkitsubject.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="subject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="136">A #PolkitSubject.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="137">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="2">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="138">A #GAsyncReadyCallback to call when the request is satisfied</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     closure="2">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="139">The data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="exists_finish" invoker="exists_finish" throws="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsubject.c"
             line="163">Finishes checking whether a subject exists.</doc>
        <source-position filename="src/polkit/polkitsubject.h" line="79"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitsubject.c"
               line="171">%TRUE if the subject exists, %FALSE if not or @error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="subject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="165">A #PolkitSubject.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="166">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to polkit_subject_exists().</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="exists_sync"
                      invoker="exists_sync"
                      throws="1"
                      glib:async-func="exists">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsubject.c"
             line="186">Checks if @subject exists.

This is a synchronous blocking call - the calling thread is blocked
until a reply is received. See polkit_subject_exists() for the
asynchronous version.</doc>
        <source-position filename="src/polkit/polkitsubject.h" line="83"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitsubject.c"
               line="198">%TRUE if the subject exists, %FALSE if not or @error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="subject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="188">A #PolkitSubject.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="189">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="hash" invoker="hash">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsubject.c"
             line="77">Gets a hash code for @subject that can be used with e.g. g_hash_table_new().</doc>
        <source-position filename="src/polkit/polkitsubject.h" line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitsubject.c"
               line="83">A hash code.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="subject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="79">A #PolkitSubject.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="to_string" invoker="to_string">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsubject.c"
             line="118">Serializes @subject to a string that can be used in
polkit_subject_from_string().</doc>
        <source-position filename="src/polkit/polkitsubject.h" line="72"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitsubject.c"
               line="125">A string representing @subject. Free with g_free().</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="subject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="120">A #PolkitSubject.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="equal" c:identifier="polkit_subject_equal">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsubject.c"
             line="92">Checks if @a and @b are equal, ie. represent the same subject.
However, avoid calling polkit_subject_equal() to compare two processes;
for more information see the `PolkitUnixProcess` documentation.

This function can be used in e.g. g_hash_table_new().</doc>
        <source-position filename="src/polkit/polkitsubject.h" line="90"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitsubject.c"
               line="103">%TRUE if @a and @b are equal, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="a" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="94">A #PolkitSubject.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </instance-parameter>
          <parameter name="b" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="95">A #PolkitSubject.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </parameter>
        </parameters>
      </method>
      <method name="exists"
              c:identifier="polkit_subject_exists"
              glib:finish-func="exists_finish"
              glib:sync-func="exists_sync">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsubject.c"
             line="134">Asynchronously checks if @subject exists.

When the operation is finished, @callback will be invoked in the
&lt;link linkend="g-main-context-push-thread-default"&gt;thread-default
main loop&lt;/link&gt; of the thread you are calling this method
from. You can then call polkit_subject_exists_finish() to get the
result of the operation.</doc>
        <source-position filename="src/polkit/polkitsubject.h" line="95"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="subject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="136">A #PolkitSubject.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="137">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="2">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="138">A #GAsyncReadyCallback to call when the request is satisfied</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="139">The data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="exists_finish"
              c:identifier="polkit_subject_exists_finish"
              throws="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsubject.c"
             line="163">Finishes checking whether a subject exists.</doc>
        <source-position filename="src/polkit/polkitsubject.h" line="99"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitsubject.c"
               line="171">%TRUE if the subject exists, %FALSE if not or @error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="subject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="165">A #PolkitSubject.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="166">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to polkit_subject_exists().</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="exists_sync"
              c:identifier="polkit_subject_exists_sync"
              throws="1"
              glib:async-func="exists">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsubject.c"
             line="186">Checks if @subject exists.

This is a synchronous blocking call - the calling thread is blocked
until a reply is received. See polkit_subject_exists() for the
asynchronous version.</doc>
        <source-position filename="src/polkit/polkitsubject.h" line="102"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitsubject.c"
               line="198">%TRUE if the subject exists, %FALSE if not or @error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="subject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="188">A #PolkitSubject.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="189">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="hash" c:identifier="polkit_subject_hash">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsubject.c"
             line="77">Gets a hash code for @subject that can be used with e.g. g_hash_table_new().</doc>
        <source-position filename="src/polkit/polkitsubject.h" line="89"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitsubject.c"
               line="83">A hash code.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="subject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="79">A #PolkitSubject.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="to_string" c:identifier="polkit_subject_to_string">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsubject.c"
             line="118">Serializes @subject to a string that can be used in
polkit_subject_from_string().</doc>
        <source-position filename="src/polkit/polkitsubject.h" line="92"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitsubject.c"
               line="125">A string representing @subject. Free with g_free().</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="subject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="120">A #PolkitSubject.</doc>
            <type name="Subject" c:type="PolkitSubject*"/>
          </instance-parameter>
        </parameters>
      </method>
    </interface>
    <record name="SubjectIface"
            c:type="PolkitSubjectIface"
            glib:is-gtype-struct-for="Subject">
      <doc xml:space="preserve"
           filename="src/polkit/polkitsubject.h"
           line="50">An interface for subjects.</doc>
      <source-position filename="src/polkit/polkitsubject.h" line="86"/>
      <field name="parent_iface">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsubject.h"
             line="52">The parent interface.</doc>
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="hash">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsubject.h"
             line="53">Gets a hash value for a #PolkitSubject.</doc>
        <callback name="hash">
          <source-position filename="src/polkit/polkitsubject.h" line="67"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="83">A hash code.</doc>
            <type name="guint" c:type="guint"/>
          </return-value>
          <parameters>
            <parameter name="subject" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/polkit/polkitsubject.c"
                   line="79">A #PolkitSubject.</doc>
              <type name="Subject" c:type="PolkitSubject*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="equal">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsubject.h"
             line="54">Checks if two #PolkitSubject&lt;!-- --&gt;s are equal.</doc>
        <callback name="equal">
          <source-position filename="src/polkit/polkitsubject.h" line="69"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="103">%TRUE if @a and @b are equal, %FALSE otherwise.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="a" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/polkit/polkitsubject.c"
                   line="94">A #PolkitSubject.</doc>
              <type name="Subject" c:type="PolkitSubject*"/>
            </parameter>
            <parameter name="b" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/polkit/polkitsubject.c"
                   line="95">A #PolkitSubject.</doc>
              <type name="Subject" c:type="PolkitSubject*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="to_string">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsubject.h"
             line="55">Serializes a #PolkitSubject to a string that can be
used in polkit_subject_from_string().</doc>
        <callback name="to_string">
          <source-position filename="src/polkit/polkitsubject.h" line="72"/>
          <return-value transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="125">A string representing @subject. Free with g_free().</doc>
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="subject" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/polkit/polkitsubject.c"
                   line="120">A #PolkitSubject.</doc>
              <type name="Subject" c:type="PolkitSubject*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="exists">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsubject.h"
             line="57">Asynchronously check if a #PolkitSubject exists.</doc>
        <callback name="exists">
          <source-position filename="src/polkit/polkitsubject.h" line="74"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="subject" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/polkit/polkitsubject.c"
                   line="136">A #PolkitSubject.</doc>
              <type name="Subject" c:type="PolkitSubject*"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="src/polkit/polkitsubject.c"
                   line="137">A #GCancellable or %NULL.</doc>
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="callback"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1"
                       scope="async"
                       closure="3">
              <doc xml:space="preserve"
                   filename="src/polkit/polkitsubject.c"
                   line="138">A #GAsyncReadyCallback to call when the request is satisfied</doc>
              <type name="Gio.AsyncReadyCallback"
                    c:type="GAsyncReadyCallback"/>
            </parameter>
            <parameter name="user_data"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1"
                       closure="3">
              <doc xml:space="preserve"
                   filename="src/polkit/polkitsubject.c"
                   line="139">The data to pass to @callback.</doc>
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="exists_finish">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsubject.h"
             line="58">Finishes checking if a #PolkitSubject exists.</doc>
        <callback name="exists_finish" throws="1">
          <source-position filename="src/polkit/polkitsubject.h" line="79"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="171">%TRUE if the subject exists, %FALSE if not or @error is set.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="subject" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/polkit/polkitsubject.c"
                   line="165">A #PolkitSubject.</doc>
              <type name="Subject" c:type="PolkitSubject*"/>
            </parameter>
            <parameter name="res" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/polkit/polkitsubject.c"
                   line="166">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to polkit_subject_exists().</doc>
              <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="exists_sync">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsubject.h"
             line="59">Synchronously check if a #PolkitSubject exists.</doc>
        <callback name="exists_sync" throws="1">
          <source-position filename="src/polkit/polkitsubject.h" line="83"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsubject.c"
                 line="198">%TRUE if the subject exists, %FALSE if not or @error is set.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="subject" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/polkit/polkitsubject.c"
                   line="188">A #PolkitSubject.</doc>
              <type name="Subject" c:type="PolkitSubject*"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="src/polkit/polkitsubject.c"
                   line="189">A #GCancellable or %NULL.</doc>
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="SystemBusName"
           c:symbol-prefix="system_bus_name"
           parent="GObject.Object"
           glib:type-name="PolkitSystemBusName"
           glib:get-type="polkit_system_bus_name_get_type"
           glib:type-struct="SystemBusNameClass">
      <doc xml:space="preserve"
           filename="src/polkit/polkitsystembusname.c"
           line="31">An object that represents a process owning a unique name on the system bus.</doc>
      <source-position filename="src/polkit/polkitsystembusname.h" line="47"/>
      <implements name="Subject"/>
      <function name="new" c:identifier="polkit_system_bus_name_new">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsystembusname.c"
             line="189">Creates a new #PolkitSystemBusName for @name.</doc>
        <source-position filename="src/polkit/polkitsystembusname.h"
                         line="50"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitsystembusname.c"
               line="195">A #PolkitSystemBusName. Free with g_object_unref().</doc>
          <type name="Subject" c:type="PolkitSubject*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsystembusname.c"
                 line="191">A unique system bus name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_name"
              c:identifier="polkit_system_bus_name_get_name"
              glib:get-property="name">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsystembusname.c"
             line="156">Gets the unique system bus name for @system_bus_name.</doc>
        <source-position filename="src/polkit/polkitsystembusname.h"
                         line="51"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitsystembusname.c"
               line="162">The unique system bus name for @system_bus_name. Do not
free, this string is owned by @system_bus_name.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="system_bus_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsystembusname.c"
                 line="158">A #PolkitSystemBusName.</doc>
            <type name="SystemBusName" c:type="PolkitSystemBusName*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_process_sync"
              c:identifier="polkit_system_bus_name_get_process_sync"
              throws="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsystembusname.c"
             line="604">Synchronously gets a #PolkitUnixProcess object for @system_bus_name
- the calling thread is blocked until a reply is received.</doc>
        <source-position filename="src/polkit/polkitsystembusname.h"
                         line="55"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/polkit/polkitsystembusname.c"
               line="613">A #PolkitUnixProcess object or %NULL if @error is set.</doc>
          <type name="Subject" c:type="PolkitSubject*"/>
        </return-value>
        <parameters>
          <instance-parameter name="system_bus_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsystembusname.c"
                 line="606">A #PolkitSystemBusName.</doc>
            <type name="SystemBusName" c:type="PolkitSystemBusName*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsystembusname.c"
                 line="607">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_user_sync"
              c:identifier="polkit_system_bus_name_get_user_sync"
              throws="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsystembusname.c"
             line="647">Synchronously gets a #PolkitUnixUser object for @system_bus_name;
the calling thread is blocked until a reply is received.</doc>
        <source-position filename="src/polkit/polkitsystembusname.h"
                         line="59"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/polkit/polkitsystembusname.c"
               line="656">A #PolkitUnixUser object or %NULL if @error is set.</doc>
          <type name="UnixUser" c:type="PolkitUnixUser*"/>
        </return-value>
        <parameters>
          <instance-parameter name="system_bus_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsystembusname.c"
                 line="649">A #PolkitSystemBusName.</doc>
            <type name="SystemBusName" c:type="PolkitSystemBusName*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsystembusname.c"
                 line="650">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name"
              c:identifier="polkit_system_bus_name_set_name"
              glib:set-property="name">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsystembusname.c"
             line="172">Sets the unique system bus name for @system_bus_name.</doc>
        <source-position filename="src/polkit/polkitsystembusname.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="system_bus_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsystembusname.c"
                 line="174">A #PolkitSystemBusName.</doc>
            <type name="SystemBusName" c:type="PolkitSystemBusName*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitsystembusname.c"
                 line="175">A unique system bus name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="name"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_name"
                getter="get_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsystembusname.c"
             line="137">The unique name on the system message bus.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="SystemBusNameClass"
            c:type="PolkitSystemBusNameClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="SystemBusName">
      <source-position filename="src/polkit/polkitsystembusname.h" line="47"/>
    </record>
    <function-macro name="TEMPORARY_AUTHORIZATION"
                    c:identifier="POLKIT_TEMPORARY_AUTHORIZATION"
                    introspectable="0">
      <source-position filename="src/polkit/polkittemporaryauthorization.h"
                       line="36"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="TEMPORARY_AUTHORIZATION_CLASS"
                    c:identifier="POLKIT_TEMPORARY_AUTHORIZATION_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkittemporaryauthorization.h"
                       line="37"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="TEMPORARY_AUTHORIZATION_GET_CLASS"
                    c:identifier="POLKIT_TEMPORARY_AUTHORIZATION_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkittemporaryauthorization.h"
                       line="38"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <class name="TemporaryAuthorization"
           c:symbol-prefix="temporary_authorization"
           parent="GObject.Object"
           glib:type-name="PolkitTemporaryAuthorization"
           glib:get-type="polkit_temporary_authorization_get_type"
           glib:type-struct="TemporaryAuthorizationClass">
      <doc xml:space="preserve"
           filename="src/polkit/polkittemporaryauthorization.c"
           line="28">Object used to describe a temporary authorization.</doc>
      <source-position filename="src/polkit/polkittemporaryauthorization.h"
                       line="45"/>
      <method name="get_action_id"
              c:identifier="polkit_temporary_authorization_get_action_id">
        <doc xml:space="preserve"
             filename="src/polkit/polkittemporaryauthorization.c"
             line="117">Gets the action that @authorization is for.</doc>
        <source-position filename="src/polkit/polkittemporaryauthorization.h"
                         line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkittemporaryauthorization.c"
               line="123">A string owned by @authorization. Do not free.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="authorization" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkittemporaryauthorization.c"
                 line="119">A #PolkitTemporaryAuthorization.</doc>
            <type name="TemporaryAuthorization"
                  c:type="PolkitTemporaryAuthorization*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id"
              c:identifier="polkit_temporary_authorization_get_id">
        <doc xml:space="preserve"
             filename="src/polkit/polkittemporaryauthorization.c"
             line="102">Gets the opaque identifier for @authorization.</doc>
        <source-position filename="src/polkit/polkittemporaryauthorization.h"
                         line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkittemporaryauthorization.c"
               line="108">A string owned by @authorization. Do not free.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="authorization" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkittemporaryauthorization.c"
                 line="104">A #PolkitTemporaryAuthorization.</doc>
            <type name="TemporaryAuthorization"
                  c:type="PolkitTemporaryAuthorization*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_subject"
              c:identifier="polkit_temporary_authorization_get_subject">
        <doc xml:space="preserve"
             filename="src/polkit/polkittemporaryauthorization.c"
             line="132">Gets the subject that @authorization is for.</doc>
        <source-position filename="src/polkit/polkittemporaryauthorization.h"
                         line="50"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkittemporaryauthorization.c"
               line="138">A #PolkitSubject, free with g_object_unref().</doc>
          <type name="Subject" c:type="PolkitSubject*"/>
        </return-value>
        <parameters>
          <instance-parameter name="authorization" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkittemporaryauthorization.c"
                 line="134">A #PolkitTemporaryAuthorization.</doc>
            <type name="TemporaryAuthorization"
                  c:type="PolkitTemporaryAuthorization*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_time_expires"
              c:identifier="polkit_temporary_authorization_get_time_expires">
        <doc xml:space="preserve"
             filename="src/polkit/polkittemporaryauthorization.c"
             line="165">Gets the time when @authorization will expire.

(Note that the PolicyKit daemon is using monotonic time internally
so the returned value may change if system time changes.)</doc>
        <source-position filename="src/polkit/polkittemporaryauthorization.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkittemporaryauthorization.c"
               line="174">Seconds since the Epoch Jan 1. 1970, 0:00 UTC.</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="authorization" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkittemporaryauthorization.c"
                 line="167">A #PolkitTemporaryAuthorization.</doc>
            <type name="TemporaryAuthorization"
                  c:type="PolkitTemporaryAuthorization*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_time_obtained"
              c:identifier="polkit_temporary_authorization_get_time_obtained">
        <doc xml:space="preserve"
             filename="src/polkit/polkittemporaryauthorization.c"
             line="147">Gets the time when @authorization was obtained.

(Note that the PolicyKit daemon is using monotonic time internally
so the returned value may change if system time changes.)</doc>
        <source-position filename="src/polkit/polkittemporaryauthorization.h"
                         line="51"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkittemporaryauthorization.c"
               line="156">Seconds since the Epoch Jan 1. 1970, 0:00 UTC.</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="authorization" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkittemporaryauthorization.c"
                 line="149">A #PolkitTemporaryAuthorization.</doc>
            <type name="TemporaryAuthorization"
                  c:type="PolkitTemporaryAuthorization*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="TemporaryAuthorizationClass"
            c:type="PolkitTemporaryAuthorizationClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="TemporaryAuthorization">
      <source-position filename="src/polkit/polkittemporaryauthorization.h"
                       line="45"/>
    </record>
    <function-macro name="UNIX_GROUP"
                    c:identifier="POLKIT_UNIX_GROUP"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixgroup.h" line="38"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="UNIX_GROUP_CLASS"
                    c:identifier="POLKIT_UNIX_GROUP_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixgroup.h" line="39"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="UNIX_GROUP_GET_CLASS"
                    c:identifier="POLKIT_UNIX_GROUP_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixgroup.h" line="40"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="UNIX_NETGROUP"
                    c:identifier="POLKIT_UNIX_NETGROUP"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixnetgroup.h" line="39"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="UNIX_NETGROUP_CLASS"
                    c:identifier="POLKIT_UNIX_NETGROUP_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixnetgroup.h" line="40"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="UNIX_NETGROUP_GET_CLASS"
                    c:identifier="POLKIT_UNIX_NETGROUP_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixnetgroup.h" line="41"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="UNIX_PROCESS"
                    c:identifier="POLKIT_UNIX_PROCESS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixprocess.h" line="38"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="UNIX_PROCESS_CLASS"
                    c:identifier="POLKIT_UNIX_PROCESS_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixprocess.h" line="39"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="UNIX_PROCESS_GET_CLASS"
                    c:identifier="POLKIT_UNIX_PROCESS_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixprocess.h" line="40"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="UNIX_SESSION"
                    c:identifier="POLKIT_UNIX_SESSION"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixsession.h" line="36"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="UNIX_SESSION_CLASS"
                    c:identifier="POLKIT_UNIX_SESSION_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixsession.h" line="37"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="UNIX_SESSION_GET_CLASS"
                    c:identifier="POLKIT_UNIX_SESSION_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixsession.h" line="38"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="UNIX_USER"
                    c:identifier="POLKIT_UNIX_USER"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixuser.h" line="38"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="UNIX_USER_CLASS"
                    c:identifier="POLKIT_UNIX_USER_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixuser.h" line="39"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="UNIX_USER_GET_CLASS"
                    c:identifier="POLKIT_UNIX_USER_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/polkit/polkitunixuser.h" line="40"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <class name="UnixGroup"
           c:symbol-prefix="unix_group"
           parent="GObject.Object"
           glib:type-name="PolkitUnixGroup"
           glib:get-type="polkit_unix_group_get_type"
           glib:type-struct="UnixGroupClass">
      <doc xml:space="preserve"
           filename="src/polkit/polkitunixgroup.c"
           line="30">An object representing a group identity on a UNIX system.</doc>
      <source-position filename="src/polkit/polkitunixgroup.h" line="47"/>
      <implements name="Identity"/>
      <function name="new" c:identifier="polkit_unix_group_new">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixgroup.c"
             line="176">Creates a new #PolkitUnixGroup object for @gid.</doc>
        <source-position filename="src/polkit/polkitunixgroup.h" line="50"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitunixgroup.c"
               line="182">A #PolkitUnixGroup object. Free with g_object_unref().</doc>
          <type name="Identity" c:type="PolkitIdentity*"/>
        </return-value>
        <parameters>
          <parameter name="gid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixgroup.c"
                 line="178">A UNIX group id.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="new_for_name"
                c:identifier="polkit_unix_group_new_for_name"
                throws="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixgroup.c"
             line="194">Creates a new #PolkitUnixGroup object for a group with the group name
@name.</doc>
        <source-position filename="src/polkit/polkitunixgroup.h" line="51"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/polkit/polkitunixgroup.c"
               line="202">A #PolkitUnixGroup object or %NULL if @error
is set.</doc>
          <type name="Identity" c:type="PolkitIdentity*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixgroup.c"
                 line="196">A UNIX group name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_gid"
              c:identifier="polkit_unix_group_get_gid"
              glib:get-property="gid">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixgroup.c"
             line="145">Gets the UNIX group id for @group.</doc>
        <source-position filename="src/polkit/polkitunixgroup.h" line="53"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitunixgroup.c"
               line="151">A UNIX group id.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="group" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixgroup.c"
                 line="147">A #PolkitUnixGroup.</doc>
            <type name="UnixGroup" c:type="PolkitUnixGroup*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_gid"
              c:identifier="polkit_unix_group_set_gid"
              glib:set-property="gid">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixgroup.c"
             line="160">Sets @gid for @group.</doc>
        <source-position filename="src/polkit/polkitunixgroup.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="group" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixgroup.c"
                 line="162">A #PolkitUnixGroup.</doc>
            <type name="UnixGroup" c:type="PolkitUnixGroup*"/>
          </instance-parameter>
          <parameter name="gid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixgroup.c"
                 line="163">A UNIX group id.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <property name="gid"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_gid"
                getter="get_gid"
                default-value="-1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixgroup.c"
             line="124">The UNIX group id.</doc>
        <type name="gint" c:type="gint"/>
      </property>
    </class>
    <record name="UnixGroupClass"
            c:type="PolkitUnixGroupClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="UnixGroup">
      <source-position filename="src/polkit/polkitunixgroup.h" line="47"/>
    </record>
    <class name="UnixNetgroup"
           c:symbol-prefix="unix_netgroup"
           parent="GObject.Object"
           glib:type-name="PolkitUnixNetgroup"
           glib:get-type="polkit_unix_netgroup_get_type"
           glib:type-struct="UnixNetgroupClass">
      <doc xml:space="preserve"
           filename="src/polkit/polkitunixnetgroup.c"
           line="30">An object representing a netgroup identity on a UNIX system.</doc>
      <source-position filename="src/polkit/polkitunixnetgroup.h" line="48"/>
      <implements name="Identity"/>
      <function name="new" c:identifier="polkit_unix_netgroup_new">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixnetgroup.c"
             line="182">Creates a new #PolkitUnixNetgroup object for @name.</doc>
        <source-position filename="src/polkit/polkitunixnetgroup.h" line="51"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitunixnetgroup.c"
               line="188">A #PolkitUnixNetgroup object. Free with g_object_unref().</doc>
          <type name="Identity" c:type="PolkitIdentity*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixnetgroup.c"
                 line="184">A netgroup name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_name"
              c:identifier="polkit_unix_netgroup_get_name"
              glib:get-property="name">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixnetgroup.c"
             line="151">Gets the netgroup name for @group.</doc>
        <source-position filename="src/polkit/polkitunixnetgroup.h" line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitunixnetgroup.c"
               line="157">A netgroup name string.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="group" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixnetgroup.c"
                 line="153">A #PolkitUnixNetgroup.</doc>
            <type name="UnixNetgroup" c:type="PolkitUnixNetgroup*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_name"
              c:identifier="polkit_unix_netgroup_set_name"
              glib:set-property="name">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixnetgroup.c"
             line="166">Sets @name for @group.</doc>
        <source-position filename="src/polkit/polkitunixnetgroup.h" line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="group" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixnetgroup.c"
                 line="168">A #PolkitUnixNetgroup.</doc>
            <type name="UnixNetgroup" c:type="PolkitUnixNetgroup*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixnetgroup.c"
                 line="169">A netgroup name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="name"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_name"
                getter="get_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixnetgroup.c"
             line="132">The NIS netgroup name.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="UnixNetgroupClass"
            c:type="PolkitUnixNetgroupClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="UnixNetgroup">
      <source-position filename="src/polkit/polkitunixnetgroup.h" line="48"/>
    </record>
    <class name="UnixProcess"
           c:symbol-prefix="unix_process"
           parent="GObject.Object"
           glib:type-name="PolkitUnixProcess"
           glib:get-type="polkit_unix_process_get_type"
           glib:type-struct="UnixProcessClass">
      <doc xml:space="preserve"
           filename="src/polkit/polkitunixprocess.c"
           line="53">An object for representing a UNIX process. In order to be reliable and
race-free, this requires support for PID File Descriptors in the kernel,
dbus-daemon/broker and systemd. With this functionality, we can reliably
track processes without risking PID reuse and race conditions, and compare
them.

NOTE: If PID FDs are not available, this object will fall back to using
PIDs, and this designed is now known broken; a mechanism to exploit a delay
in start time in the Linux kernel was identified.  Avoid
calling polkit_subject_equal() to compare two processes.

To uniquely identify processes, both the process id and the start
time of the process (a monotonic increasing value representing the
time since the kernel was started) is used.

NOTE: This object stores, and provides access to, the real UID of the
process.  That value can change over time (with set*uid*(2) and exec*(2)).
Checks whether an operation is allowed need to take care to use the UID
value as of the time when the operation was made (or, following the open()
privilege check model, when the connection making the operation possible
was initiated).  That is usually done by initializing this with
polkit_unix_process_new_for_owner() with trusted data.</doc>
      <source-position filename="src/polkit/polkitunixprocess.h" line="47"/>
      <implements name="Subject"/>
      <function name="new" c:identifier="polkit_unix_process_new">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixprocess.c"
             line="741">Creates a new #PolkitUnixProcess for @pid.

The uid and start time of the process will be looked up in using
e.g. the &lt;filename&gt;/proc&lt;/filename&gt; filesystem depending on the
platform in use.</doc>
        <source-position filename="src/polkit/polkitunixprocess.h" line="51"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitunixprocess.c"
               line="751">A #PolkitSubject. Free with g_object_unref().</doc>
          <type name="Subject" c:type="PolkitSubject*"/>
        </return-value>
        <parameters>
          <parameter name="pid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="743">The process id.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="new_for_owner"
                c:identifier="polkit_unix_process_new_for_owner">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixprocess.c"
             line="784">Creates a new #PolkitUnixProcess object for @pid, @start_time and @uid.</doc>
        <source-position filename="src/polkit/polkitunixprocess.h" line="55"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitunixprocess.c"
               line="792">A #PolkitSubject. Free with g_object_unref().</doc>
          <type name="Subject" c:type="PolkitSubject*"/>
        </return-value>
        <parameters>
          <parameter name="pid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="786">The process id.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="start_time" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="787">The start time for @pid or 0 to look it up in e.g. &lt;filename&gt;/proc&lt;/filename&gt;.</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="788">The (real, not effective) uid of the owner of @pid or -1 to look it up in e.g. &lt;filename&gt;/proc&lt;/filename&gt;.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="new_full" c:identifier="polkit_unix_process_new_full">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixprocess.c"
             line="761">Creates a new #PolkitUnixProcess object for @pid and @start_time.

The uid of the process will be looked up in using e.g. the
&lt;filename&gt;/proc&lt;/filename&gt; filesystem depending on the platform in
use.</doc>
        <source-position filename="src/polkit/polkitunixprocess.h" line="53"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitunixprocess.c"
               line="772">A #PolkitSubject. Free with g_object_unref().</doc>
          <type name="Subject" c:type="PolkitSubject*"/>
        </return-value>
        <parameters>
          <parameter name="pid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="763">The process id.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="start_time" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="764">The start time for @pid.</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </function>
      <function name="new_pidfd" c:identifier="polkit_unix_process_new_pidfd">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixprocess.c"
             line="806">Creates a new #PolkitUnixProcess object for @pidfd and @uid.</doc>
        <source-position filename="src/polkit/polkitunixprocess.h" line="58"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitunixprocess.c"
               line="814">A #PolkitSubject. Free with g_object_unref().</doc>
          <type name="Subject" c:type="PolkitSubject*"/>
        </return-value>
        <parameters>
          <parameter name="pidfd" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="808">The process id file descriptor.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="809">The (real, not effective) uid of the owner of @pid or -1 to look it up in e.g. &lt;filename&gt;/proc&lt;/filename&gt;.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="gids"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="810">The (real, not effective) gids of the owner of @pid or %NULL.</doc>
            <array name="GLib.Array" c:type="GArray*">
              <type name="gint"/>
            </array>
          </parameter>
        </parameters>
      </function>
      <method name="get_gids"
              c:identifier="polkit_unix_process_get_gids"
              glib:get-property="gids">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixprocess.c"
             line="558">Gets the group ids for @process. Note that this is the real group-ids,
not the effective group-ids.</doc>
        <source-position filename="src/polkit/polkitunixprocess.h" line="61"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/polkit/polkitunixprocess.c"
               line="565">a #GArray
         of #gid_t containing the group ids for @process or NULL if unknown,
         as a new reference to the array, caller must deref it when done.</doc>
          <array name="GLib.Array" c:type="GArray*">
            <array name="GLib.Array">
              <type name="gpointer" c:type="gpointer"/>
            </array>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="process" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="560">A #PolkitUnixProcess.</doc>
            <type name="UnixProcess" c:type="PolkitUnixProcess*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_owner"
              c:identifier="polkit_unix_process_get_owner"
              throws="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixprocess.c"
             line="1270">(deprecated)</doc>
        <source-position filename="src/polkit/polkitunixprocess.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="process" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="1272">A #PolkitUnixProcess.</doc>
            <type name="UnixProcess" c:type="PolkitUnixProcess*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pid"
              c:identifier="polkit_unix_process_get_pid"
              glib:get-property="pid">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixprocess.c"
             line="596">Gets the process id for @process.</doc>
        <source-position filename="src/polkit/polkitunixprocess.h" line="62"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitunixprocess.c"
               line="602">The process id for @process.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="process" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="598">A #PolkitUnixProcess.</doc>
            <type name="UnixProcess" c:type="PolkitUnixProcess*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pidfd"
              c:identifier="polkit_unix_process_get_pidfd"
              glib:get-property="pidfd">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixprocess.c"
             line="690">Gets the process id file descriptor for @process.</doc>
        <source-position filename="src/polkit/polkitunixprocess.h" line="76"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitunixprocess.c"
               line="696">The process id file descriptor for @process.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="process" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="692">A #PolkitUnixProcess.</doc>
            <type name="UnixProcess" c:type="PolkitUnixProcess*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pidfd_is_safe"
              c:identifier="polkit_unix_process_get_pidfd_is_safe"
              glib:get-property="pidfd-is-safe">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixprocess.c"
             line="705">Checks if the process id file descriptor for @process is safe
or if it was opened locally and thus vulnerable to reuse.</doc>
        <source-position filename="src/polkit/polkitunixprocess.h" line="79"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitunixprocess.c"
               line="712">TRUE or FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="process" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="707">A #PolkitUnixProcess.</doc>
            <type name="UnixProcess" c:type="PolkitUnixProcess*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_start_time"
              c:identifier="polkit_unix_process_get_start_time"
              glib:get-property="start-time">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixprocess.c"
             line="624">Gets the start time of @process.</doc>
        <source-position filename="src/polkit/polkitunixprocess.h" line="63"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitunixprocess.c"
               line="630">The start time of @process.</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="process" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="626">A #PolkitUnixProcess.</doc>
            <type name="UnixProcess" c:type="PolkitUnixProcess*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_uid"
              c:identifier="polkit_unix_process_get_uid"
              glib:get-property="uid">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixprocess.c"
             line="521">Gets the user id for @process. Note that this is the real user-id,
not the effective user-id.

NOTE: The UID may change over time, so the returned value may not match the
current state of the underlying process; or the UID may have been set by
polkit_unix_process_new_for_owner() or polkit_unix_process_set_uid(),
in which case it may not correspond to the actual UID of the referenced
process at all (at any point in time).</doc>
        <source-position filename="src/polkit/polkitunixprocess.h" line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitunixprocess.c"
               line="534">The user id for @process or -1 if unknown.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="process" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="523">A #PolkitUnixProcess.</doc>
            <type name="UnixProcess" c:type="PolkitUnixProcess*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_gids"
              c:identifier="polkit_unix_process_set_gids"
              glib:set-property="gids">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixprocess.c"
             line="576">Sets the (real, not effective) group ids for @process.</doc>
        <source-position filename="src/polkit/polkitunixprocess.h" line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="process" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="578">A #PolkitUnixProcess.</doc>
            <type name="UnixProcess" c:type="PolkitUnixProcess*"/>
          </instance-parameter>
          <parameter name="gids" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="579">A #GList of #gid_t containing the group
       ids to set for @process or NULL to unset them.
       A reference to @gids is taken.</doc>
            <array name="GLib.Array" c:type="GArray*">
              <array name="GLib.Array">
                <type name="gpointer" c:type="gpointer"/>
              </array>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="set_pid"
              c:identifier="polkit_unix_process_set_pid"
              glib:set-property="pid">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixprocess.c"
             line="654">Sets @pid for @process.</doc>
        <source-position filename="src/polkit/polkitunixprocess.h" line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="process" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="656">A #PolkitUnixProcess.</doc>
            <type name="UnixProcess" c:type="PolkitUnixProcess*"/>
          </instance-parameter>
          <parameter name="pid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="657">A process id.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_pidfd"
              c:identifier="polkit_unix_process_set_pidfd"
              glib:set-property="pidfd">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixprocess.c"
             line="721">Sets @pidfd for @process.</doc>
        <source-position filename="src/polkit/polkitunixprocess.h" line="77"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="process" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="723">A #PolkitUnixProcess.</doc>
            <type name="UnixProcess" c:type="PolkitUnixProcess*"/>
          </instance-parameter>
          <parameter name="pidfd" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="724">A process id file descriptor.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_start_time"
              c:identifier="polkit_unix_process_set_start_time"
              glib:set-property="start-time">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixprocess.c"
             line="639">Set the start time of @process.</doc>
        <source-position filename="src/polkit/polkitunixprocess.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="process" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="641">A #PolkitUnixProcess.</doc>
            <type name="UnixProcess" c:type="PolkitUnixProcess*"/>
          </instance-parameter>
          <parameter name="start_time" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="642">The start time for @pid.</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uid"
              c:identifier="polkit_unix_process_set_uid"
              glib:set-property="uid">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixprocess.c"
             line="543">Sets the (real, not effective) user id for @process.</doc>
        <source-position filename="src/polkit/polkitunixprocess.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="process" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="545">A #PolkitUnixProcess.</doc>
            <type name="UnixProcess" c:type="PolkitUnixProcess*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixprocess.c"
                 line="546">The user id to set for @process or -1 to unset it.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <property name="gids"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_gids"
                getter="get_gids">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixprocess.c"
             line="503">The UNIX group ids of the process.</doc>
        <array name="GLib.Array">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </property>
      <property name="pid"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_pid"
                getter="get_pid"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixprocess.c"
             line="408">The UNIX process id.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="pidfd"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_pidfd"
                getter="get_pidfd"
                default-value="-1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixprocess.c"
             line="467">The UNIX process id file descriptor.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="pidfd-is-safe"
                transfer-ownership="none"
                getter="get_pidfd_is_safe"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="start-time"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_start_time"
                getter="get_start_time"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixprocess.c"
             line="448">The start time of the process.</doc>
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="uid"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_uid"
                getter="get_uid"
                default-value="-1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixprocess.c"
             line="427">The UNIX user id of the process or -1 if unknown.

Note that this is the real user-id, not the effective user-id.</doc>
        <type name="gint" c:type="gint"/>
      </property>
    </class>
    <record name="UnixProcessClass"
            c:type="PolkitUnixProcessClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="UnixProcess">
      <source-position filename="src/polkit/polkitunixprocess.h" line="47"/>
    </record>
    <class name="UnixSession"
           c:symbol-prefix="unix_session"
           parent="GObject.Object"
           glib:type-name="PolkitUnixSession"
           glib:get-type="polkit_unix_session_get_type"
           glib:type-struct="UnixSessionClass">
      <doc xml:space="preserve"
           filename="src/polkit/polkitunixsession.c"
           line="28">An object that represents an user session.

The session id is an opaque string obtained from ConsoleKit.</doc>
      <source-position filename="src/polkit/polkitunixsession.h" line="45"/>
      <implements name="Gio.AsyncInitable"/>
      <implements name="Gio.Initable"/>
      <implements name="Subject"/>
      <function name="new" c:identifier="polkit_unix_session_new">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixsession.c"
             line="215">Creates a new #PolkitUnixSession for @session_id.</doc>
        <source-position filename="src/polkit/polkitunixsession.h" line="48"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitunixsession.c"
               line="221">A #PolkitUnixSession. Free with g_object_unref().</doc>
          <type name="Subject" c:type="PolkitSubject*"/>
        </return-value>
        <parameters>
          <parameter name="session_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixsession.c"
                 line="217">The session id.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="new_for_process"
                c:identifier="polkit_unix_session_new_for_process"
                glib:finish-func="new_for_process_finish"
                glib:sync-func="new_for_process_sync">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixsession.c"
             line="231">Asynchronously creates a new #PolkitUnixSession object for the
process with process id @pid.

When the operation is finished, @callback will be invoked in the
&lt;link linkend="g-main-context-push-thread-default"&gt;thread-default
main loop&lt;/link&gt; of the thread you are calling this method
from. You can then call
polkit_unix_session_new_for_process_finish() to get the result of
the operation.

This method constructs the object asynchronously, for the synchronous and blocking version
use polkit_unix_session_new_for_process_sync().</doc>
        <source-position filename="src/polkit/polkitunixsession.h" line="49"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="pid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixsession.c"
                 line="233">The process id of the process to get the session for.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixsession.c"
                 line="234">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="3">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixsession.c"
                 line="235">A #GAsyncReadyCallback to call when the request is satisfied</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixsession.c"
                 line="236">The data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <function name="new_for_process_finish"
                c:identifier="polkit_unix_session_new_for_process_finish"
                throws="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixsession.c"
             line="266">Finishes constructing a #PolkitSubject for a process id.</doc>
        <source-position filename="src/polkit/polkitunixsession.h" line="53"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/polkit/polkitunixsession.c"
               line="273">A #PolkitUnixSession for the @pid passed to
    polkit_unix_session_new_for_process() or %NULL if @error is
    set. Free with g_object_unref().</doc>
          <type name="Subject" c:type="PolkitSubject*"/>
        </return-value>
        <parameters>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixsession.c"
                 line="268">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to polkit_unix_session_new_for_process().</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </function>
      <function name="new_for_process_sync"
                c:identifier="polkit_unix_session_new_for_process_sync"
                throws="1"
                glib:async-func="new_for_process">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixsession.c"
             line="299">Creates a new #PolkitUnixSession for the process with process id @pid.

This is a synchronous call - the calling thread is blocked until a
reply is received. For the asynchronous version, see
polkit_unix_session_new_for_process().</doc>
        <source-position filename="src/polkit/polkitunixsession.h" line="55"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/polkit/polkitunixsession.c"
               line="311">A #PolkitUnixSession for
@pid or %NULL if @error is set. Free with g_object_unref().</doc>
          <type name="Subject" c:type="PolkitSubject*"/>
        </return-value>
        <parameters>
          <parameter name="pid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixsession.c"
                 line="301">The process id of the process to get the session for.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixsession.c"
                 line="302">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_session_id"
              c:identifier="polkit_unix_session_get_session_id"
              glib:get-property="session-id">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixsession.c"
             line="182">Gets the session id for @session.</doc>
        <source-position filename="src/polkit/polkitunixsession.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitunixsession.c"
               line="188">The session id for @session. Do not free this string, it
is owned by @session.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixsession.c"
                 line="184">A #PolkitUnixSession.</doc>
            <type name="UnixSession" c:type="PolkitUnixSession*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_session_id"
              c:identifier="polkit_unix_session_set_session_id"
              glib:set-property="session-id">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixsession.c"
             line="198">Sets the session id for @session to @session_id.</doc>
        <source-position filename="src/polkit/polkitunixsession.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixsession.c"
                 line="200">A #PolkitUnixSession.</doc>
            <type name="UnixSession" c:type="PolkitUnixSession*"/>
          </instance-parameter>
          <parameter name="session_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixsession.c"
                 line="201">The session id.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="pid"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="0">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixsession.c"
             line="161">The UNIX process id to look up the session.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="session-id"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_session_id"
                getter="get_session_id"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixsession.c"
             line="143">The UNIX session id.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="UnixSessionClass"
            c:type="PolkitUnixSessionClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="UnixSession">
      <source-position filename="src/polkit/polkitunixsession.h" line="45"/>
    </record>
    <class name="UnixUser"
           c:symbol-prefix="unix_user"
           parent="GObject.Object"
           glib:type-name="PolkitUnixUser"
           glib:get-type="polkit_unix_user_get_type"
           glib:type-struct="UnixUserClass">
      <doc xml:space="preserve"
           filename="src/polkit/polkitunixuser.c"
           line="30">An object representing a user identity on a UNIX system.</doc>
      <source-position filename="src/polkit/polkitunixuser.h" line="47"/>
      <implements name="Identity"/>
      <function name="new" c:identifier="polkit_unix_user_new">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixuser.c"
             line="189">Creates a new #PolkitUnixUser object for @uid.</doc>
        <source-position filename="src/polkit/polkitunixuser.h" line="50"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/polkit/polkitunixuser.c"
               line="195">A #PolkitUnixUser object. Free with g_object_unref().</doc>
          <type name="Identity" c:type="PolkitIdentity*"/>
        </return-value>
        <parameters>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixuser.c"
                 line="191">A UNIX user id.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="new_for_name"
                c:identifier="polkit_unix_user_new_for_name"
                throws="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixuser.c"
             line="207">Creates a new #PolkitUnixUser object for a user with the user name
@name.</doc>
        <source-position filename="src/polkit/polkitunixuser.h" line="51"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/polkit/polkitunixuser.c"
               line="215">A #PolkitUnixUser object or %NULL if @error is set.</doc>
          <type name="Identity" c:type="PolkitIdentity*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixuser.c"
                 line="209">A UNIX user name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_name" c:identifier="polkit_unix_user_get_name">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixuser.c"
             line="247">Get the user's name.</doc>
        <source-position filename="src/polkit/polkitunixuser.h" line="56"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/polkit/polkitunixuser.c"
               line="253">User name string or %NULL if user uid not found.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="user" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixuser.c"
                 line="249">A #PolkitUnixUser.</doc>
            <type name="UnixUser" c:type="PolkitUnixUser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_uid"
              c:identifier="polkit_unix_user_get_uid"
              glib:get-property="uid">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixuser.c"
             line="158">Gets the UNIX user id for @user.</doc>
        <source-position filename="src/polkit/polkitunixuser.h" line="53"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitunixuser.c"
               line="164">A UNIX user id.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="user" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixuser.c"
                 line="160">A #PolkitUnixUser.</doc>
            <type name="UnixUser" c:type="PolkitUnixUser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_uid"
              c:identifier="polkit_unix_user_set_uid"
              glib:set-property="uid">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixuser.c"
             line="173">Sets @uid for @user.</doc>
        <source-position filename="src/polkit/polkitunixuser.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="user" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixuser.c"
                 line="175">A #PolkitUnixUser.</doc>
            <type name="UnixUser" c:type="PolkitUnixUser*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/polkit/polkitunixuser.c"
                 line="176">A UNIX user id.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <property name="uid"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_uid"
                getter="get_uid"
                default-value="-1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitunixuser.c"
             line="137">The UNIX user id.</doc>
        <type name="gint" c:type="gint"/>
      </property>
    </class>
    <record name="UnixUserClass"
            c:type="PolkitUnixUserClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="UnixUser">
      <source-position filename="src/polkit/polkitunixuser.h" line="47"/>
    </record>
    <function name="error_quark"
              c:identifier="polkit_error_quark"
              moved-to="Error.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="identity_from_string"
              c:identifier="polkit_identity_from_string"
              moved-to="Identity.from_string"
              throws="1">
      <doc xml:space="preserve"
           filename="src/polkit/polkitidentity.c"
           line="131">Creates an object from @str that implements the #PolkitIdentity
interface.</doc>
      <source-position filename="src/polkit/polkitidentity.h" line="77"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="src/polkit/polkitidentity.c"
             line="139">A #PolkitIdentity or %NULL
if @error is set. Free with g_object_unref().</doc>
        <type name="Identity" c:type="PolkitIdentity*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitidentity.c"
               line="133">A string obtained from polkit_identity_to_string().</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="implicit_authorization_from_string"
              c:identifier="polkit_implicit_authorization_from_string"
              moved-to="ImplicitAuthorization.from_string">
      <source-position filename="src/polkit/polkitimplicitauthorization.h"
                       line="63"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitimplicitauthorization.h"
               line="60">A string</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="out_implicit_authorization"
                   direction="out"
                   caller-allocates="1"
                   transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitimplicitauthorization.h"
               line="61">The location of the resulting deserialization</doc>
          <type name="ImplicitAuthorization"
                c:type="PolkitImplicitAuthorization*"/>
        </parameter>
      </parameters>
    </function>
    <function name="implicit_authorization_to_string"
              c:identifier="polkit_implicit_authorization_to_string"
              moved-to="ImplicitAuthorization.to_string">
      <source-position filename="src/polkit/polkitimplicitauthorization.h"
                       line="56"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="implicit_authorization" transfer-ownership="none">
          <type name="ImplicitAuthorization"
                c:type="PolkitImplicitAuthorization"/>
        </parameter>
      </parameters>
    </function>
    <docsection name="polkiterror">
      <doc xml:space="preserve"
           filename="src/polkit/polkiterror.c"
           line="25">Error codes.</doc>
    </docsection>
    <function name="subject_from_string"
              c:identifier="polkit_subject_from_string"
              moved-to="Subject.from_string"
              throws="1">
      <doc xml:space="preserve"
           filename="src/polkit/polkitsubject.c"
           line="213">Creates an object from @str that implements the #PolkitSubject
interface.</doc>
      <source-position filename="src/polkit/polkitsubject.h" line="93"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="src/polkit/polkitsubject.c"
             line="221">A #PolkitSubject or %NULL if @error is
set. Free with g_object_unref().</doc>
        <type name="Subject" c:type="PolkitSubject*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/polkit/polkitsubject.c"
               line="215">A string obtained from polkit_subject_to_string().</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
