<?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:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Gio" version="2.0"/>
  <package name="libgeoclue-2.0"/>
  <c:include name="geoclue.h"/>
  <namespace name="Geoclue"
             version="2.0"
             shared-library="libgeoclue-2.so.0"
             c:identifier-prefixes="GClue"
             c:symbol-prefixes="gclue">
    <enumeration name="AccuracyLevel" c:type="GClueAccuracyLevel">
      <doc xml:space="preserve">Used to specify level of accuracy requested by, or allowed for a client.</doc>
      <member name="none" value="0" c:identifier="GCLUE_ACCURACY_LEVEL_NONE">
        <doc xml:space="preserve">Accuracy level unknown or unset.</doc>
      </member>
      <member name="country"
              value="1"
              c:identifier="GCLUE_ACCURACY_LEVEL_COUNTRY">
        <doc xml:space="preserve">Country-level accuracy.</doc>
      </member>
      <member name="city" value="4" c:identifier="GCLUE_ACCURACY_LEVEL_CITY">
        <doc xml:space="preserve">City-level accuracy.</doc>
      </member>
      <member name="neighborhood"
              value="5"
              c:identifier="GCLUE_ACCURACY_LEVEL_NEIGHBORHOOD">
        <doc xml:space="preserve">neighborhood-level accuracy.</doc>
      </member>
      <member name="street"
              value="6"
              c:identifier="GCLUE_ACCURACY_LEVEL_STREET">
        <doc xml:space="preserve">Street-level accuracy.</doc>
      </member>
      <member name="exact" value="8" c:identifier="GCLUE_ACCURACY_LEVEL_EXACT">
        <doc xml:space="preserve">Exact accuracy. Typically requires GPS receiver.</doc>
      </member>
    </enumeration>
    <interface name="Client"
               c:symbol-prefix="client"
               c:type="GClueClient"
               glib:type-name="GClueClient"
               glib:get-type="gclue_client_get_type"
               glib:type-struct="ClientIface">
      <doc xml:space="preserve">Abstract interface type for the D-Bus interface &lt;link linkend="gdbus-interface-org-freedesktop-GeoClue2-Client.top_of_page"&gt;org.freedesktop.GeoClue2.Client&lt;/link&gt;.</doc>
      <function name="interface_info"
                c:identifier="gclue_client_interface_info">
        <doc xml:space="preserve">Gets a machine-readable description of the &lt;link linkend="gdbus-interface-org-freedesktop-GeoClue2-Client.top_of_page"&gt;org.freedesktop.GeoClue2.Client&lt;/link&gt; D-Bus interface.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">A #GDBusInterfaceInfo. Do not free.</doc>
          <type name="Gio.DBusInterfaceInfo" c:type="GDBusInterfaceInfo*"/>
        </return-value>
      </function>
      <function name="override_properties"
                c:identifier="gclue_client_override_properties">
        <doc xml:space="preserve">Overrides all #GObject properties in the #GClueClient interface for a concrete class.
The properties are overridden in the order they are defined.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The last property id.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <parameter name="klass" transfer-ownership="none">
            <doc xml:space="preserve">The class structure for a #GObject derived class.</doc>
            <type name="GObject.ObjectClass" c:type="GObjectClass*"/>
          </parameter>
          <parameter name="property_id_begin" transfer-ownership="none">
            <doc xml:space="preserve">The property id to assign to the first overridden property.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </function>
      <virtual-method name="get_active"
                      invoker="get_active"
                      introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.Active"&gt;"Active"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClient.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_desktop_id"
                      invoker="get_desktop_id"
                      introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.DesktopId"&gt;"DesktopId"&lt;/link&gt; D-Bus property.

Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.

&lt;warning&gt;The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use gclue_client_dup_desktop_id() if on another thread.&lt;/warning&gt;</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClient.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_distance_threshold"
                      invoker="get_distance_threshold"
                      introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.DistanceThreshold"&gt;"DistanceThreshold"&lt;/link&gt; D-Bus property.

Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClient.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_location"
                      invoker="get_location"
                      introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.Location"&gt;"Location"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

&lt;warning&gt;The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use gclue_client_dup_location() if on another thread.&lt;/warning&gt;</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClient.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_requested_accuracy_level"
                      invoker="get_requested_accuracy_level"
                      introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.RequestedAccuracyLevel"&gt;"RequestedAccuracyLevel"&lt;/link&gt; D-Bus property.

Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClient.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_time_threshold"
                      invoker="get_time_threshold"
                      introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.TimeThreshold"&gt;"TimeThreshold"&lt;/link&gt; D-Bus property.

Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClient.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="handle_start">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
          <parameter name="invocation" transfer-ownership="none">
            <type name="Gio.DBusMethodInvocation"
                  c:type="GDBusMethodInvocation*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="handle_stop">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
          <parameter name="invocation" transfer-ownership="none">
            <type name="Gio.DBusMethodInvocation"
                  c:type="GDBusMethodInvocation*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="location_updated">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
          <parameter name="arg_old" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="arg_new" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="call_start" c:identifier="gclue_client_call_start">
        <doc xml:space="preserve">Asynchronously invokes the &lt;link linkend="gdbus-method-org-freedesktop-GeoClue2-Client.Start"&gt;Start()&lt;/link&gt; D-Bus method on @proxy.
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 gclue_client_call_start_finish() to get the result of the operation.

See gclue_client_call_start_sync() for the synchronous, blocking version of this method.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="proxy" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClientProxy.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">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">A #GAsyncReadyCallback to call when the request is satisfied or %NULL.</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">User data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="call_start_finish"
              c:identifier="gclue_client_call_start_finish"
              throws="1">
        <doc xml:space="preserve">Finishes an operation started with gclue_client_call_start().</doc>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve">%TRUE if the call succeded, %FALSE if @error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="proxy" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClientProxy.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve">The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gclue_client_call_start().</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="call_start_sync"
              c:identifier="gclue_client_call_start_sync"
              throws="1">
        <doc xml:space="preserve">Synchronously invokes the &lt;link linkend="gdbus-method-org-freedesktop-GeoClue2-Client.Start"&gt;Start()&lt;/link&gt; D-Bus method on @proxy. The calling thread is blocked until a reply is received.

See gclue_client_call_start() for the asynchronous version of this method.</doc>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve">%TRUE if the call succeded, %FALSE if @error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="proxy" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClientProxy.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="call_stop" c:identifier="gclue_client_call_stop">
        <doc xml:space="preserve">Asynchronously invokes the &lt;link linkend="gdbus-method-org-freedesktop-GeoClue2-Client.Stop"&gt;Stop()&lt;/link&gt; D-Bus method on @proxy.
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 gclue_client_call_stop_finish() to get the result of the operation.

See gclue_client_call_stop_sync() for the synchronous, blocking version of this method.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="proxy" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClientProxy.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">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">A #GAsyncReadyCallback to call when the request is satisfied or %NULL.</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">User data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="call_stop_finish"
              c:identifier="gclue_client_call_stop_finish"
              throws="1">
        <doc xml:space="preserve">Finishes an operation started with gclue_client_call_stop().</doc>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve">%TRUE if the call succeded, %FALSE if @error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="proxy" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClientProxy.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve">The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gclue_client_call_stop().</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="call_stop_sync"
              c:identifier="gclue_client_call_stop_sync"
              throws="1">
        <doc xml:space="preserve">Synchronously invokes the &lt;link linkend="gdbus-method-org-freedesktop-GeoClue2-Client.Stop"&gt;Stop()&lt;/link&gt; D-Bus method on @proxy. The calling thread is blocked until a reply is received.

See gclue_client_call_stop() for the asynchronous version of this method.</doc>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve">%TRUE if the call succeded, %FALSE if @error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="proxy" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClientProxy.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="complete_start" c:identifier="gclue_client_complete_start">
        <doc xml:space="preserve">Helper function used in service implementations to finish handling invocations of the &lt;link linkend="gdbus-method-org-freedesktop-GeoClue2-Client.Start"&gt;Start()&lt;/link&gt; D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.

This method will free @invocation, you cannot use it afterwards.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClient.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
          <parameter name="invocation" transfer-ownership="full">
            <doc xml:space="preserve">A #GDBusMethodInvocation.</doc>
            <type name="Gio.DBusMethodInvocation"
                  c:type="GDBusMethodInvocation*"/>
          </parameter>
        </parameters>
      </method>
      <method name="complete_stop" c:identifier="gclue_client_complete_stop">
        <doc xml:space="preserve">Helper function used in service implementations to finish handling invocations of the &lt;link linkend="gdbus-method-org-freedesktop-GeoClue2-Client.Stop"&gt;Stop()&lt;/link&gt; D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.

This method will free @invocation, you cannot use it afterwards.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClient.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
          <parameter name="invocation" transfer-ownership="full">
            <doc xml:space="preserve">A #GDBusMethodInvocation.</doc>
            <type name="Gio.DBusMethodInvocation"
                  c:type="GDBusMethodInvocation*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dup_desktop_id"
              c:identifier="gclue_client_dup_desktop_id"
              introspectable="0">
        <doc xml:space="preserve">Gets a copy of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.DesktopId"&gt;"DesktopId"&lt;/link&gt; D-Bus property.

Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The property value or %NULL if the property is not set. The returned value should be freed with g_free().</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClient.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="dup_location"
              c:identifier="gclue_client_dup_location"
              introspectable="0">
        <doc xml:space="preserve">Gets a copy of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.Location"&gt;"Location"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The property value or %NULL if the property is not set. The returned value should be freed with g_free().</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClient.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="emit_location_updated"
              c:identifier="gclue_client_emit_location_updated">
        <doc xml:space="preserve">Emits the &lt;link linkend="gdbus-signal-org-freedesktop-GeoClue2-Client.LocationUpdated"&gt;"LocationUpdated"&lt;/link&gt; D-Bus signal.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClient.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
          <parameter name="arg_old" transfer-ownership="none">
            <doc xml:space="preserve">Argument to pass with the signal.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="arg_new" transfer-ownership="none">
            <doc xml:space="preserve">Argument to pass with the signal.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_active"
              c:identifier="gclue_client_get_active"
              introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.Active"&gt;"Active"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClient.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_desktop_id"
              c:identifier="gclue_client_get_desktop_id"
              introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.DesktopId"&gt;"DesktopId"&lt;/link&gt; D-Bus property.

Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.

&lt;warning&gt;The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use gclue_client_dup_desktop_id() if on another thread.&lt;/warning&gt;</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClient.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_distance_threshold"
              c:identifier="gclue_client_get_distance_threshold"
              introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.DistanceThreshold"&gt;"DistanceThreshold"&lt;/link&gt; D-Bus property.

Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClient.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_location"
              c:identifier="gclue_client_get_location"
              introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.Location"&gt;"Location"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

&lt;warning&gt;The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use gclue_client_dup_location() if on another thread.&lt;/warning&gt;</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClient.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_requested_accuracy_level"
              c:identifier="gclue_client_get_requested_accuracy_level"
              introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.RequestedAccuracyLevel"&gt;"RequestedAccuracyLevel"&lt;/link&gt; D-Bus property.

Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClient.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_time_threshold"
              c:identifier="gclue_client_get_time_threshold"
              introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.TimeThreshold"&gt;"TimeThreshold"&lt;/link&gt; D-Bus property.

Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClient.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_active"
              c:identifier="gclue_client_set_active"
              introspectable="0">
        <doc xml:space="preserve">Sets the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.Active"&gt;"Active"&lt;/link&gt; D-Bus property to @value.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClient.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve">The value to set.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_desktop_id"
              c:identifier="gclue_client_set_desktop_id"
              introspectable="0">
        <doc xml:space="preserve">Sets the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.DesktopId"&gt;"DesktopId"&lt;/link&gt; D-Bus property to @value.

Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClient.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve">The value to set.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_distance_threshold"
              c:identifier="gclue_client_set_distance_threshold"
              introspectable="0">
        <doc xml:space="preserve">Sets the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.DistanceThreshold"&gt;"DistanceThreshold"&lt;/link&gt; D-Bus property to @value.

Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClient.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve">The value to set.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_location"
              c:identifier="gclue_client_set_location"
              introspectable="0">
        <doc xml:space="preserve">Sets the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.Location"&gt;"Location"&lt;/link&gt; D-Bus property to @value.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClient.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve">The value to set.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_requested_accuracy_level"
              c:identifier="gclue_client_set_requested_accuracy_level"
              introspectable="0">
        <doc xml:space="preserve">Sets the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.RequestedAccuracyLevel"&gt;"RequestedAccuracyLevel"&lt;/link&gt; D-Bus property to @value.

Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClient.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve">The value to set.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_time_threshold"
              c:identifier="gclue_client_set_time_threshold"
              introspectable="0">
        <doc xml:space="preserve">Sets the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.TimeThreshold"&gt;"TimeThreshold"&lt;/link&gt; D-Bus property to @value.

Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueClient.</doc>
            <type name="Client" c:type="GClueClient*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve">The value to set.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <property name="active" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">Represents the D-Bus property &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.Active"&gt;"Active"&lt;/link&gt;.

Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="desktop-id" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">Represents the D-Bus property &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.DesktopId"&gt;"DesktopId"&lt;/link&gt;.

Since the D-Bus property for this #GObject property is both readable and writable, it is meaningful to both read from it and write to it on both the service- and client-side.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="distance-threshold"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve">Represents the D-Bus property &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.DistanceThreshold"&gt;"DistanceThreshold"&lt;/link&gt;.

Since the D-Bus property for this #GObject property is both readable and writable, it is meaningful to both read from it and write to it on both the service- and client-side.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="location" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">Represents the D-Bus property &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.Location"&gt;"Location"&lt;/link&gt;.

Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="requested-accuracy-level"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve">Represents the D-Bus property &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.RequestedAccuracyLevel"&gt;"RequestedAccuracyLevel"&lt;/link&gt;.

Since the D-Bus property for this #GObject property is both readable and writable, it is meaningful to both read from it and write to it on both the service- and client-side.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="time-threshold" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">Represents the D-Bus property &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Client.TimeThreshold"&gt;"TimeThreshold"&lt;/link&gt;.

Since the D-Bus property for this #GObject property is both readable and writable, it is meaningful to both read from it and write to it on both the service- and client-side.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <glib:signal name="handle-start" when="last">
        <doc xml:space="preserve">Signal emitted when a remote caller is invoking the &lt;link linkend="gdbus-method-org-freedesktop-GeoClue2-Client.Start"&gt;Start()&lt;/link&gt; D-Bus method.

If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gclue_client_complete_start() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the invocation was handled, %FALSE to let other signal handlers run.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="invocation" transfer-ownership="none">
            <doc xml:space="preserve">A #GDBusMethodInvocation.</doc>
            <type name="Gio.DBusMethodInvocation"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="handle-stop" when="last">
        <doc xml:space="preserve">Signal emitted when a remote caller is invoking the &lt;link linkend="gdbus-method-org-freedesktop-GeoClue2-Client.Stop"&gt;Stop()&lt;/link&gt; D-Bus method.

If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gclue_client_complete_stop() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the invocation was handled, %FALSE to let other signal handlers run.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="invocation" transfer-ownership="none">
            <doc xml:space="preserve">A #GDBusMethodInvocation.</doc>
            <type name="Gio.DBusMethodInvocation"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="location-updated" when="last">
        <doc xml:space="preserve">On the client-side, this signal is emitted whenever the D-Bus signal &lt;link linkend="gdbus-signal-org-freedesktop-GeoClue2-Client.LocationUpdated"&gt;"LocationUpdated"&lt;/link&gt; is received.

On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="arg_old" transfer-ownership="none">
            <doc xml:space="preserve">Argument.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="arg_new" transfer-ownership="none">
            <doc xml:space="preserve">Argument.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <record name="ClientIface"
            c:type="GClueClientIface"
            glib:is-gtype-struct-for="Client">
      <doc xml:space="preserve">Virtual table for the D-Bus interface &lt;link linkend="gdbus-interface-org-freedesktop-GeoClue2-Client.top_of_page"&gt;org.freedesktop.GeoClue2.Client&lt;/link&gt;.</doc>
      <field name="parent_iface">
        <doc xml:space="preserve">The parent interface.</doc>
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="handle_start">
        <callback name="handle_start">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <type name="Client" c:type="GClueClient*"/>
            </parameter>
            <parameter name="invocation" transfer-ownership="none">
              <type name="Gio.DBusMethodInvocation"
                    c:type="GDBusMethodInvocation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="handle_stop">
        <callback name="handle_stop">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <type name="Client" c:type="GClueClient*"/>
            </parameter>
            <parameter name="invocation" transfer-ownership="none">
              <type name="Gio.DBusMethodInvocation"
                    c:type="GDBusMethodInvocation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_active">
        <callback name="get_active">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">The property value.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <doc xml:space="preserve">A #GClueClient.</doc>
              <type name="Client" c:type="GClueClient*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_desktop_id">
        <callback name="get_desktop_id">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <doc xml:space="preserve">A #GClueClient.</doc>
              <type name="Client" c:type="GClueClient*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_distance_threshold">
        <callback name="get_distance_threshold">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">The property value.</doc>
            <type name="guint" c:type="guint"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <doc xml:space="preserve">A #GClueClient.</doc>
              <type name="Client" c:type="GClueClient*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_location">
        <callback name="get_location">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <doc xml:space="preserve">A #GClueClient.</doc>
              <type name="Client" c:type="GClueClient*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_requested_accuracy_level">
        <callback name="get_requested_accuracy_level">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">The property value.</doc>
            <type name="guint" c:type="guint"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <doc xml:space="preserve">A #GClueClient.</doc>
              <type name="Client" c:type="GClueClient*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_time_threshold">
        <callback name="get_time_threshold">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">The property value.</doc>
            <type name="guint" c:type="guint"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <doc xml:space="preserve">A #GClueClient.</doc>
              <type name="Client" c:type="GClueClient*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="location_updated">
        <callback name="location_updated">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <type name="Client" c:type="GClueClient*"/>
            </parameter>
            <parameter name="arg_old" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="arg_new" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="ClientProxy"
           c:symbol-prefix="client_proxy"
           c:type="GClueClientProxy"
           parent="Gio.DBusProxy"
           glib:type-name="GClueClientProxy"
           glib:get-type="gclue_client_proxy_get_type"
           glib:type-struct="ClientProxyClass">
      <doc xml:space="preserve">The #GClueClientProxy structure contains only private data and should only be accessed using the provided API.</doc>
      <implements name="Client"/>
      <implements name="Gio.AsyncInitable"/>
      <implements name="Gio.DBusInterface"/>
      <implements name="Gio.Initable"/>
      <constructor name="new_finish"
                   c:identifier="gclue_client_proxy_new_finish"
                   throws="1">
        <doc xml:space="preserve">Finishes an operation started with gclue_client_proxy_new().</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The constructed proxy object or %NULL if @error is set.</doc>
          <type name="ClientProxy" c:type="GClueClient*"/>
        </return-value>
        <parameters>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve">The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gclue_client_proxy_new().</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_for_bus_finish"
                   c:identifier="gclue_client_proxy_new_for_bus_finish"
                   throws="1">
        <doc xml:space="preserve">Finishes an operation started with gclue_client_proxy_new_for_bus().</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The constructed proxy object or %NULL if @error is set.</doc>
          <type name="ClientProxy" c:type="GClueClient*"/>
        </return-value>
        <parameters>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve">The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gclue_client_proxy_new_for_bus().</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_for_bus_sync"
                   c:identifier="gclue_client_proxy_new_for_bus_sync"
                   throws="1">
        <doc xml:space="preserve">Like gclue_client_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.

The calling thread is blocked until a reply is received.

See gclue_client_proxy_new_for_bus() for the asynchronous version of this constructor.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The constructed proxy object or %NULL if @error is set.</doc>
          <type name="ClientProxy" c:type="GClueClient*"/>
        </return-value>
        <parameters>
          <parameter name="bus_type" transfer-ownership="none">
            <doc xml:space="preserve">A #GBusType.</doc>
            <type name="Gio.BusType" c:type="GBusType"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">Flags from the #GDBusProxyFlags enumeration.</doc>
            <type name="Gio.DBusProxyFlags" c:type="GDBusProxyFlags"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">A bus name (well-known or unique).</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">An object path.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_sync"
                   c:identifier="gclue_client_proxy_new_sync"
                   throws="1">
        <doc xml:space="preserve">Synchronously creates a proxy for the D-Bus interface &lt;link linkend="gdbus-interface-org-freedesktop-GeoClue2-Client.top_of_page"&gt;org.freedesktop.GeoClue2.Client&lt;/link&gt;. See g_dbus_proxy_new_sync() for more details.

The calling thread is blocked until a reply is received.

See gclue_client_proxy_new() for the asynchronous version of this constructor.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The constructed proxy object or %NULL if @error is set.</doc>
          <type name="ClientProxy" c:type="GClueClient*"/>
        </return-value>
        <parameters>
          <parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve">A #GDBusConnection.</doc>
            <type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">Flags from the #GDBusProxyFlags enumeration.</doc>
            <type name="Gio.DBusProxyFlags" c:type="GDBusProxyFlags"/>
          </parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">An object path.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="create" c:identifier="gclue_client_proxy_create">
        <doc xml:space="preserve">A utility function to create a #GClueClientProxy without having to deal with
a #GClueManager.

See #gclue_client_proxy_create_sync() for the synchronous, blocking version
of this function.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="desktop_id" transfer-ownership="none">
            <doc xml:space="preserve">The desktop file id (the basename of the desktop file).</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="accuracy_level" transfer-ownership="none">
            <doc xml:space="preserve">The requested accuracy level as #GClueAccuracyLevel.</doc>
            <type name="AccuracyLevel" c:type="GClueAccuracyLevel"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">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">A #GAsyncReadyCallback to call when the results are ready.</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">User data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <function name="create_finish"
                c:identifier="gclue_client_proxy_create_finish"
                throws="1">
        <doc xml:space="preserve">Finishes an operation started with gclue_client_proxy_create().</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The constructed proxy
object or %NULL if @error is set.</doc>
          <type name="ClientProxy" c:type="GClueClient*"/>
        </return-value>
        <parameters>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve">The #GAsyncResult obtained from the #GAsyncReadyCallback passed to
         gclue_client_proxy_create().</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </function>
      <function name="create_sync"
                c:identifier="gclue_client_proxy_create_sync"
                throws="1">
        <doc xml:space="preserve">The synchronous and blocking version of #gclue_client_proxy_create().</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The constructed proxy
object or %NULL if @error is set.</doc>
          <type name="ClientProxy" c:type="GClueClient*"/>
        </return-value>
        <parameters>
          <parameter name="desktop_id" transfer-ownership="none">
            <doc xml:space="preserve">The desktop file id (the basename of the desktop file).</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="accuracy_level" transfer-ownership="none">
            <doc xml:space="preserve">The requested accuracy level as #GClueAccuracyLevel.</doc>
            <type name="AccuracyLevel" c:type="GClueAccuracyLevel"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </function>
      <function name="new" c:identifier="gclue_client_proxy_new">
        <doc xml:space="preserve">Asynchronously creates a proxy for the D-Bus interface &lt;link linkend="gdbus-interface-org-freedesktop-GeoClue2-Client.top_of_page"&gt;org.freedesktop.GeoClue2.Client&lt;/link&gt;. See g_dbus_proxy_new() for more details.

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 gclue_client_proxy_new_finish() to get the result of the operation.

See gclue_client_proxy_new_sync() for the synchronous, blocking version of this constructor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve">A #GDBusConnection.</doc>
            <type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">Flags from the #GDBusProxyFlags enumeration.</doc>
            <type name="Gio.DBusProxyFlags" c:type="GDBusProxyFlags"/>
          </parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">An object path.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">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">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">User data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <function name="new_for_bus"
                c:identifier="gclue_client_proxy_new_for_bus">
        <doc xml:space="preserve">Like gclue_client_proxy_new() but takes a #GBusType instead of a #GDBusConnection.

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 gclue_client_proxy_new_for_bus_finish() to get the result of the operation.

See gclue_client_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="bus_type" transfer-ownership="none">
            <doc xml:space="preserve">A #GBusType.</doc>
            <type name="Gio.BusType" c:type="GBusType"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">Flags from the #GDBusProxyFlags enumeration.</doc>
            <type name="Gio.DBusProxyFlags" c:type="GDBusProxyFlags"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">A bus name (well-known or unique).</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">An object path.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">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">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">User data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <field name="parent_instance" readable="0" private="1">
        <type name="Gio.DBusProxy" c:type="GDBusProxy"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ClientProxyPrivate" c:type="GClueClientProxyPrivate*"/>
      </field>
    </class>
    <record name="ClientProxyClass"
            c:type="GClueClientProxyClass"
            glib:is-gtype-struct-for="ClientProxy">
      <doc xml:space="preserve">Class structure for #GClueClientProxy.</doc>
      <field name="parent_class">
        <doc xml:space="preserve">The parent class.</doc>
        <type name="Gio.DBusProxyClass" c:type="GDBusProxyClass"/>
      </field>
    </record>
    <record name="ClientProxyPrivate"
            c:type="GClueClientProxyPrivate"
            disguised="1">
    </record>
    <class name="ClientSkeleton"
           c:symbol-prefix="client_skeleton"
           c:type="GClueClientSkeleton"
           parent="Gio.DBusInterfaceSkeleton"
           glib:type-name="GClueClientSkeleton"
           glib:get-type="gclue_client_skeleton_get_type"
           glib:type-struct="ClientSkeletonClass">
      <doc xml:space="preserve">The #GClueClientSkeleton structure contains only private data and should only be accessed using the provided API.</doc>
      <implements name="Client"/>
      <implements name="Gio.DBusInterface"/>
      <constructor name="new" c:identifier="gclue_client_skeleton_new">
        <doc xml:space="preserve">Creates a skeleton object for the D-Bus interface &lt;link linkend="gdbus-interface-org-freedesktop-GeoClue2-Client.top_of_page"&gt;org.freedesktop.GeoClue2.Client&lt;/link&gt;.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The skeleton object.</doc>
          <type name="ClientSkeleton" c:type="GClueClient*"/>
        </return-value>
      </constructor>
      <field name="parent_instance" readable="0" private="1">
        <type name="Gio.DBusInterfaceSkeleton"
              c:type="GDBusInterfaceSkeleton"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ClientSkeletonPrivate"
              c:type="GClueClientSkeletonPrivate*"/>
      </field>
    </class>
    <record name="ClientSkeletonClass"
            c:type="GClueClientSkeletonClass"
            glib:is-gtype-struct-for="ClientSkeleton">
      <doc xml:space="preserve">Class structure for #GClueClientSkeleton.</doc>
      <field name="parent_class">
        <doc xml:space="preserve">The parent class.</doc>
        <type name="Gio.DBusInterfaceSkeletonClass"
              c:type="GDBusInterfaceSkeletonClass"/>
      </field>
    </record>
    <record name="ClientSkeletonPrivate"
            c:type="GClueClientSkeletonPrivate"
            disguised="1">
    </record>
    <interface name="Location"
               c:symbol-prefix="location"
               c:type="GClueLocation"
               glib:type-name="GClueLocation"
               glib:get-type="gclue_location_get_type"
               glib:type-struct="LocationIface">
      <doc xml:space="preserve">Abstract interface type for the D-Bus interface &lt;link linkend="gdbus-interface-org-freedesktop-GeoClue2-Location.top_of_page"&gt;org.freedesktop.GeoClue2.Location&lt;/link&gt;.</doc>
      <function name="interface_info"
                c:identifier="gclue_location_interface_info">
        <doc xml:space="preserve">Gets a machine-readable description of the &lt;link linkend="gdbus-interface-org-freedesktop-GeoClue2-Location.top_of_page"&gt;org.freedesktop.GeoClue2.Location&lt;/link&gt; D-Bus interface.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">A #GDBusInterfaceInfo. Do not free.</doc>
          <type name="Gio.DBusInterfaceInfo" c:type="GDBusInterfaceInfo*"/>
        </return-value>
      </function>
      <function name="override_properties"
                c:identifier="gclue_location_override_properties">
        <doc xml:space="preserve">Overrides all #GObject properties in the #GClueLocation interface for a concrete class.
The properties are overridden in the order they are defined.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The last property id.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <parameter name="klass" transfer-ownership="none">
            <doc xml:space="preserve">The class structure for a #GObject derived class.</doc>
            <type name="GObject.ObjectClass" c:type="GObjectClass*"/>
          </parameter>
          <parameter name="property_id_begin" transfer-ownership="none">
            <doc xml:space="preserve">The property id to assign to the first overridden property.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </function>
      <virtual-method name="get_accuracy"
                      invoker="get_accuracy"
                      introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Accuracy"&gt;"Accuracy"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_altitude"
                      invoker="get_altitude"
                      introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Altitude"&gt;"Altitude"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_description"
                      invoker="get_description"
                      introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Description"&gt;"Description"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

&lt;warning&gt;The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use gclue_location_dup_description() if on another thread.&lt;/warning&gt;</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_heading"
                      invoker="get_heading"
                      introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Heading"&gt;"Heading"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_latitude"
                      invoker="get_latitude"
                      introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Latitude"&gt;"Latitude"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_longitude"
                      invoker="get_longitude"
                      introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Longitude"&gt;"Longitude"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_speed" invoker="get_speed" introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Speed"&gt;"Speed"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_timestamp"
                      invoker="get_timestamp"
                      introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Timestamp"&gt;"Timestamp"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

&lt;warning&gt;The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use gclue_location_dup_timestamp() if on another thread.&lt;/warning&gt;</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="dup_description"
              c:identifier="gclue_location_dup_description"
              introspectable="0">
        <doc xml:space="preserve">Gets a copy of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Description"&gt;"Description"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The property value or %NULL if the property is not set. The returned value should be freed with g_free().</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="dup_timestamp"
              c:identifier="gclue_location_dup_timestamp"
              introspectable="0">
        <doc xml:space="preserve">Gets a copy of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Timestamp"&gt;"Timestamp"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The property value or %NULL if the property is not set. The returned value should be freed with g_variant_unref().</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_accuracy"
              c:identifier="gclue_location_get_accuracy"
              introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Accuracy"&gt;"Accuracy"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_altitude"
              c:identifier="gclue_location_get_altitude"
              introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Altitude"&gt;"Altitude"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_description"
              c:identifier="gclue_location_get_description"
              introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Description"&gt;"Description"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

&lt;warning&gt;The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use gclue_location_dup_description() if on another thread.&lt;/warning&gt;</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_heading"
              c:identifier="gclue_location_get_heading"
              introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Heading"&gt;"Heading"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_latitude"
              c:identifier="gclue_location_get_latitude"
              introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Latitude"&gt;"Latitude"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_longitude"
              c:identifier="gclue_location_get_longitude"
              introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Longitude"&gt;"Longitude"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_speed"
              c:identifier="gclue_location_get_speed"
              introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Speed"&gt;"Speed"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_timestamp"
              c:identifier="gclue_location_get_timestamp"
              introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Timestamp"&gt;"Timestamp"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.

&lt;warning&gt;The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use gclue_location_dup_timestamp() if on another thread.&lt;/warning&gt;</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_accuracy"
              c:identifier="gclue_location_set_accuracy"
              introspectable="0">
        <doc xml:space="preserve">Sets the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Accuracy"&gt;"Accuracy"&lt;/link&gt; D-Bus property to @value.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve">The value to set.</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_altitude"
              c:identifier="gclue_location_set_altitude"
              introspectable="0">
        <doc xml:space="preserve">Sets the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Altitude"&gt;"Altitude"&lt;/link&gt; D-Bus property to @value.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve">The value to set.</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_description"
              c:identifier="gclue_location_set_description"
              introspectable="0">
        <doc xml:space="preserve">Sets the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Description"&gt;"Description"&lt;/link&gt; D-Bus property to @value.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve">The value to set.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_heading"
              c:identifier="gclue_location_set_heading"
              introspectable="0">
        <doc xml:space="preserve">Sets the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Heading"&gt;"Heading"&lt;/link&gt; D-Bus property to @value.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve">The value to set.</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_latitude"
              c:identifier="gclue_location_set_latitude"
              introspectable="0">
        <doc xml:space="preserve">Sets the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Latitude"&gt;"Latitude"&lt;/link&gt; D-Bus property to @value.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve">The value to set.</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_longitude"
              c:identifier="gclue_location_set_longitude"
              introspectable="0">
        <doc xml:space="preserve">Sets the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Longitude"&gt;"Longitude"&lt;/link&gt; D-Bus property to @value.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve">The value to set.</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_speed"
              c:identifier="gclue_location_set_speed"
              introspectable="0">
        <doc xml:space="preserve">Sets the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Speed"&gt;"Speed"&lt;/link&gt; D-Bus property to @value.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve">The value to set.</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_timestamp"
              c:identifier="gclue_location_set_timestamp"
              introspectable="0">
        <doc xml:space="preserve">Sets the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Timestamp"&gt;"Timestamp"&lt;/link&gt; D-Bus property to @value.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueLocation.</doc>
            <type name="Location" c:type="GClueLocation*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve">The value to set.</doc>
            <type name="GLib.Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </method>
      <property name="accuracy" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">Represents the D-Bus property &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Accuracy"&gt;"Accuracy"&lt;/link&gt;.

Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="altitude" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">Represents the D-Bus property &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Altitude"&gt;"Altitude"&lt;/link&gt;.

Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="description" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">Represents the D-Bus property &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Description"&gt;"Description"&lt;/link&gt;.

Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="heading" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">Represents the D-Bus property &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Heading"&gt;"Heading"&lt;/link&gt;.

Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="latitude" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">Represents the D-Bus property &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Latitude"&gt;"Latitude"&lt;/link&gt;.

Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="longitude" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">Represents the D-Bus property &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Longitude"&gt;"Longitude"&lt;/link&gt;.

Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="speed" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">Represents the D-Bus property &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Speed"&gt;"Speed"&lt;/link&gt;.

Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="timestamp" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">Represents the D-Bus property &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Location.Timestamp"&gt;"Timestamp"&lt;/link&gt;.

Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</doc>
        <type name="GLib.Variant"/>
      </property>
    </interface>
    <record name="LocationIface"
            c:type="GClueLocationIface"
            glib:is-gtype-struct-for="Location">
      <doc xml:space="preserve">Virtual table for the D-Bus interface &lt;link linkend="gdbus-interface-org-freedesktop-GeoClue2-Location.top_of_page"&gt;org.freedesktop.GeoClue2.Location&lt;/link&gt;.</doc>
      <field name="parent_iface">
        <doc xml:space="preserve">The parent interface.</doc>
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="get_accuracy">
        <callback name="get_accuracy">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">The property value.</doc>
            <type name="gdouble" c:type="gdouble"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <doc xml:space="preserve">A #GClueLocation.</doc>
              <type name="Location" c:type="GClueLocation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_altitude">
        <callback name="get_altitude">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">The property value.</doc>
            <type name="gdouble" c:type="gdouble"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <doc xml:space="preserve">A #GClueLocation.</doc>
              <type name="Location" c:type="GClueLocation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_description">
        <callback name="get_description">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <doc xml:space="preserve">A #GClueLocation.</doc>
              <type name="Location" c:type="GClueLocation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_heading">
        <callback name="get_heading">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">The property value.</doc>
            <type name="gdouble" c:type="gdouble"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <doc xml:space="preserve">A #GClueLocation.</doc>
              <type name="Location" c:type="GClueLocation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_latitude">
        <callback name="get_latitude">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">The property value.</doc>
            <type name="gdouble" c:type="gdouble"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <doc xml:space="preserve">A #GClueLocation.</doc>
              <type name="Location" c:type="GClueLocation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_longitude">
        <callback name="get_longitude">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">The property value.</doc>
            <type name="gdouble" c:type="gdouble"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <doc xml:space="preserve">A #GClueLocation.</doc>
              <type name="Location" c:type="GClueLocation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_speed">
        <callback name="get_speed">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">The property value.</doc>
            <type name="gdouble" c:type="gdouble"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <doc xml:space="preserve">A #GClueLocation.</doc>
              <type name="Location" c:type="GClueLocation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_timestamp">
        <callback name="get_timestamp">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object.</doc>
            <type name="GLib.Variant" c:type="GVariant*"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <doc xml:space="preserve">A #GClueLocation.</doc>
              <type name="Location" c:type="GClueLocation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="LocationProxy"
           c:symbol-prefix="location_proxy"
           c:type="GClueLocationProxy"
           parent="Gio.DBusProxy"
           glib:type-name="GClueLocationProxy"
           glib:get-type="gclue_location_proxy_get_type"
           glib:type-struct="LocationProxyClass">
      <doc xml:space="preserve">The #GClueLocationProxy structure contains only private data and should only be accessed using the provided API.</doc>
      <implements name="Location"/>
      <implements name="Gio.AsyncInitable"/>
      <implements name="Gio.DBusInterface"/>
      <implements name="Gio.Initable"/>
      <constructor name="new_finish"
                   c:identifier="gclue_location_proxy_new_finish"
                   throws="1">
        <doc xml:space="preserve">Finishes an operation started with gclue_location_proxy_new().</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The constructed proxy object or %NULL if @error is set.</doc>
          <type name="LocationProxy" c:type="GClueLocation*"/>
        </return-value>
        <parameters>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve">The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gclue_location_proxy_new().</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_for_bus_finish"
                   c:identifier="gclue_location_proxy_new_for_bus_finish"
                   throws="1">
        <doc xml:space="preserve">Finishes an operation started with gclue_location_proxy_new_for_bus().</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The constructed proxy object or %NULL if @error is set.</doc>
          <type name="LocationProxy" c:type="GClueLocation*"/>
        </return-value>
        <parameters>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve">The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gclue_location_proxy_new_for_bus().</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_for_bus_sync"
                   c:identifier="gclue_location_proxy_new_for_bus_sync"
                   throws="1">
        <doc xml:space="preserve">Like gclue_location_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.

The calling thread is blocked until a reply is received.

See gclue_location_proxy_new_for_bus() for the asynchronous version of this constructor.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The constructed proxy object or %NULL if @error is set.</doc>
          <type name="LocationProxy" c:type="GClueLocation*"/>
        </return-value>
        <parameters>
          <parameter name="bus_type" transfer-ownership="none">
            <doc xml:space="preserve">A #GBusType.</doc>
            <type name="Gio.BusType" c:type="GBusType"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">Flags from the #GDBusProxyFlags enumeration.</doc>
            <type name="Gio.DBusProxyFlags" c:type="GDBusProxyFlags"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">A bus name (well-known or unique).</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">An object path.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_sync"
                   c:identifier="gclue_location_proxy_new_sync"
                   throws="1">
        <doc xml:space="preserve">Synchronously creates a proxy for the D-Bus interface &lt;link linkend="gdbus-interface-org-freedesktop-GeoClue2-Location.top_of_page"&gt;org.freedesktop.GeoClue2.Location&lt;/link&gt;. See g_dbus_proxy_new_sync() for more details.

The calling thread is blocked until a reply is received.

See gclue_location_proxy_new() for the asynchronous version of this constructor.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The constructed proxy object or %NULL if @error is set.</doc>
          <type name="LocationProxy" c:type="GClueLocation*"/>
        </return-value>
        <parameters>
          <parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve">A #GDBusConnection.</doc>
            <type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">Flags from the #GDBusProxyFlags enumeration.</doc>
            <type name="Gio.DBusProxyFlags" c:type="GDBusProxyFlags"/>
          </parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">An object path.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="new" c:identifier="gclue_location_proxy_new">
        <doc xml:space="preserve">Asynchronously creates a proxy for the D-Bus interface &lt;link linkend="gdbus-interface-org-freedesktop-GeoClue2-Location.top_of_page"&gt;org.freedesktop.GeoClue2.Location&lt;/link&gt;. See g_dbus_proxy_new() for more details.

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 gclue_location_proxy_new_finish() to get the result of the operation.

See gclue_location_proxy_new_sync() for the synchronous, blocking version of this constructor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve">A #GDBusConnection.</doc>
            <type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">Flags from the #GDBusProxyFlags enumeration.</doc>
            <type name="Gio.DBusProxyFlags" c:type="GDBusProxyFlags"/>
          </parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">An object path.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">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">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">User data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <function name="new_for_bus"
                c:identifier="gclue_location_proxy_new_for_bus">
        <doc xml:space="preserve">Like gclue_location_proxy_new() but takes a #GBusType instead of a #GDBusConnection.

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 gclue_location_proxy_new_for_bus_finish() to get the result of the operation.

See gclue_location_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="bus_type" transfer-ownership="none">
            <doc xml:space="preserve">A #GBusType.</doc>
            <type name="Gio.BusType" c:type="GBusType"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">Flags from the #GDBusProxyFlags enumeration.</doc>
            <type name="Gio.DBusProxyFlags" c:type="GDBusProxyFlags"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">A bus name (well-known or unique).</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">An object path.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">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">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">User data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <field name="parent_instance" readable="0" private="1">
        <type name="Gio.DBusProxy" c:type="GDBusProxy"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="LocationProxyPrivate" c:type="GClueLocationProxyPrivate*"/>
      </field>
    </class>
    <record name="LocationProxyClass"
            c:type="GClueLocationProxyClass"
            glib:is-gtype-struct-for="LocationProxy">
      <doc xml:space="preserve">Class structure for #GClueLocationProxy.</doc>
      <field name="parent_class">
        <doc xml:space="preserve">The parent class.</doc>
        <type name="Gio.DBusProxyClass" c:type="GDBusProxyClass"/>
      </field>
    </record>
    <record name="LocationProxyPrivate"
            c:type="GClueLocationProxyPrivate"
            disguised="1">
    </record>
    <class name="LocationSkeleton"
           c:symbol-prefix="location_skeleton"
           c:type="GClueLocationSkeleton"
           parent="Gio.DBusInterfaceSkeleton"
           glib:type-name="GClueLocationSkeleton"
           glib:get-type="gclue_location_skeleton_get_type"
           glib:type-struct="LocationSkeletonClass">
      <doc xml:space="preserve">The #GClueLocationSkeleton structure contains only private data and should only be accessed using the provided API.</doc>
      <implements name="Location"/>
      <implements name="Gio.DBusInterface"/>
      <constructor name="new" c:identifier="gclue_location_skeleton_new">
        <doc xml:space="preserve">Creates a skeleton object for the D-Bus interface &lt;link linkend="gdbus-interface-org-freedesktop-GeoClue2-Location.top_of_page"&gt;org.freedesktop.GeoClue2.Location&lt;/link&gt;.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The skeleton object.</doc>
          <type name="LocationSkeleton" c:type="GClueLocation*"/>
        </return-value>
      </constructor>
      <field name="parent_instance" readable="0" private="1">
        <type name="Gio.DBusInterfaceSkeleton"
              c:type="GDBusInterfaceSkeleton"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="LocationSkeletonPrivate"
              c:type="GClueLocationSkeletonPrivate*"/>
      </field>
    </class>
    <record name="LocationSkeletonClass"
            c:type="GClueLocationSkeletonClass"
            glib:is-gtype-struct-for="LocationSkeleton">
      <doc xml:space="preserve">Class structure for #GClueLocationSkeleton.</doc>
      <field name="parent_class">
        <doc xml:space="preserve">The parent class.</doc>
        <type name="Gio.DBusInterfaceSkeletonClass"
              c:type="GDBusInterfaceSkeletonClass"/>
      </field>
    </record>
    <record name="LocationSkeletonPrivate"
            c:type="GClueLocationSkeletonPrivate"
            disguised="1">
    </record>
    <interface name="Manager"
               c:symbol-prefix="manager"
               c:type="GClueManager"
               glib:type-name="GClueManager"
               glib:get-type="gclue_manager_get_type"
               glib:type-struct="ManagerIface">
      <doc xml:space="preserve">Abstract interface type for the D-Bus interface &lt;link linkend="gdbus-interface-org-freedesktop-GeoClue2-Manager.top_of_page"&gt;org.freedesktop.GeoClue2.Manager&lt;/link&gt;.</doc>
      <function name="interface_info"
                c:identifier="gclue_manager_interface_info">
        <doc xml:space="preserve">Gets a machine-readable description of the &lt;link linkend="gdbus-interface-org-freedesktop-GeoClue2-Manager.top_of_page"&gt;org.freedesktop.GeoClue2.Manager&lt;/link&gt; D-Bus interface.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">A #GDBusInterfaceInfo. Do not free.</doc>
          <type name="Gio.DBusInterfaceInfo" c:type="GDBusInterfaceInfo*"/>
        </return-value>
      </function>
      <function name="override_properties"
                c:identifier="gclue_manager_override_properties">
        <doc xml:space="preserve">Overrides all #GObject properties in the #GClueManager interface for a concrete class.
The properties are overridden in the order they are defined.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The last property id.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <parameter name="klass" transfer-ownership="none">
            <doc xml:space="preserve">The class structure for a #GObject derived class.</doc>
            <type name="GObject.ObjectClass" c:type="GObjectClass*"/>
          </parameter>
          <parameter name="property_id_begin" transfer-ownership="none">
            <doc xml:space="preserve">The property id to assign to the first overridden property.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </function>
      <virtual-method name="get_available_accuracy_level"
                      invoker="get_available_accuracy_level"
                      introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Manager.AvailableAccuracyLevel"&gt;"AvailableAccuracyLevel"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueManager.</doc>
            <type name="Manager" c:type="GClueManager*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_in_use"
                      invoker="get_in_use"
                      introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Manager.InUse"&gt;"InUse"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueManager.</doc>
            <type name="Manager" c:type="GClueManager*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="handle_add_agent">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <type name="Manager" c:type="GClueManager*"/>
          </instance-parameter>
          <parameter name="invocation" transfer-ownership="none">
            <type name="Gio.DBusMethodInvocation"
                  c:type="GDBusMethodInvocation*"/>
          </parameter>
          <parameter name="arg_id" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="handle_get_client">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <type name="Manager" c:type="GClueManager*"/>
          </instance-parameter>
          <parameter name="invocation" transfer-ownership="none">
            <type name="Gio.DBusMethodInvocation"
                  c:type="GDBusMethodInvocation*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="call_add_agent"
              c:identifier="gclue_manager_call_add_agent">
        <doc xml:space="preserve">Asynchronously invokes the &lt;link linkend="gdbus-method-org-freedesktop-GeoClue2-Manager.AddAgent"&gt;AddAgent()&lt;/link&gt; D-Bus method on @proxy.
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 gclue_manager_call_add_agent_finish() to get the result of the operation.

See gclue_manager_call_add_agent_sync() for the synchronous, blocking version of this method.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="proxy" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueManagerProxy.</doc>
            <type name="Manager" c:type="GClueManager*"/>
          </instance-parameter>
          <parameter name="arg_id" transfer-ownership="none">
            <doc xml:space="preserve">Argument to pass with the method invocation.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">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">A #GAsyncReadyCallback to call when the request is satisfied or %NULL.</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">User data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="call_add_agent_finish"
              c:identifier="gclue_manager_call_add_agent_finish"
              throws="1">
        <doc xml:space="preserve">Finishes an operation started with gclue_manager_call_add_agent().</doc>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve">%TRUE if the call succeded, %FALSE if @error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="proxy" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueManagerProxy.</doc>
            <type name="Manager" c:type="GClueManager*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve">The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gclue_manager_call_add_agent().</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="call_add_agent_sync"
              c:identifier="gclue_manager_call_add_agent_sync"
              throws="1">
        <doc xml:space="preserve">Synchronously invokes the &lt;link linkend="gdbus-method-org-freedesktop-GeoClue2-Manager.AddAgent"&gt;AddAgent()&lt;/link&gt; D-Bus method on @proxy. The calling thread is blocked until a reply is received.

See gclue_manager_call_add_agent() for the asynchronous version of this method.</doc>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve">%TRUE if the call succeded, %FALSE if @error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="proxy" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueManagerProxy.</doc>
            <type name="Manager" c:type="GClueManager*"/>
          </instance-parameter>
          <parameter name="arg_id" transfer-ownership="none">
            <doc xml:space="preserve">Argument to pass with the method invocation.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="call_get_client"
              c:identifier="gclue_manager_call_get_client">
        <doc xml:space="preserve">Asynchronously invokes the &lt;link linkend="gdbus-method-org-freedesktop-GeoClue2-Manager.GetClient"&gt;GetClient()&lt;/link&gt; D-Bus method on @proxy.
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 gclue_manager_call_get_client_finish() to get the result of the operation.

See gclue_manager_call_get_client_sync() for the synchronous, blocking version of this method.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="proxy" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueManagerProxy.</doc>
            <type name="Manager" c:type="GClueManager*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">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">A #GAsyncReadyCallback to call when the request is satisfied or %NULL.</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">User data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="call_get_client_finish"
              c:identifier="gclue_manager_call_get_client_finish"
              throws="1">
        <doc xml:space="preserve">Finishes an operation started with gclue_manager_call_get_client().</doc>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve">%TRUE if the call succeded, %FALSE if @error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="proxy" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueManagerProxy.</doc>
            <type name="Manager" c:type="GClueManager*"/>
          </instance-parameter>
          <parameter name="out_client"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve">Return location for return parameter or %NULL to ignore.</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve">The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gclue_manager_call_get_client().</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="call_get_client_sync"
              c:identifier="gclue_manager_call_get_client_sync"
              throws="1">
        <doc xml:space="preserve">Synchronously invokes the &lt;link linkend="gdbus-method-org-freedesktop-GeoClue2-Manager.GetClient"&gt;GetClient()&lt;/link&gt; D-Bus method on @proxy. The calling thread is blocked until a reply is received.

See gclue_manager_call_get_client() for the asynchronous version of this method.</doc>
        <return-value transfer-ownership="none" skip="1">
          <doc xml:space="preserve">%TRUE if the call succeded, %FALSE if @error is set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="proxy" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueManagerProxy.</doc>
            <type name="Manager" c:type="GClueManager*"/>
          </instance-parameter>
          <parameter name="out_client"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve">Return location for return parameter or %NULL to ignore.</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="complete_add_agent"
              c:identifier="gclue_manager_complete_add_agent">
        <doc xml:space="preserve">Helper function used in service implementations to finish handling invocations of the &lt;link linkend="gdbus-method-org-freedesktop-GeoClue2-Manager.AddAgent"&gt;AddAgent()&lt;/link&gt; D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.

This method will free @invocation, you cannot use it afterwards.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueManager.</doc>
            <type name="Manager" c:type="GClueManager*"/>
          </instance-parameter>
          <parameter name="invocation" transfer-ownership="full">
            <doc xml:space="preserve">A #GDBusMethodInvocation.</doc>
            <type name="Gio.DBusMethodInvocation"
                  c:type="GDBusMethodInvocation*"/>
          </parameter>
        </parameters>
      </method>
      <method name="complete_get_client"
              c:identifier="gclue_manager_complete_get_client">
        <doc xml:space="preserve">Helper function used in service implementations to finish handling invocations of the &lt;link linkend="gdbus-method-org-freedesktop-GeoClue2-Manager.GetClient"&gt;GetClient()&lt;/link&gt; D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.

This method will free @invocation, you cannot use it afterwards.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueManager.</doc>
            <type name="Manager" c:type="GClueManager*"/>
          </instance-parameter>
          <parameter name="invocation" transfer-ownership="full">
            <doc xml:space="preserve">A #GDBusMethodInvocation.</doc>
            <type name="Gio.DBusMethodInvocation"
                  c:type="GDBusMethodInvocation*"/>
          </parameter>
          <parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve">Parameter to return.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_available_accuracy_level"
              c:identifier="gclue_manager_get_available_accuracy_level"
              introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Manager.AvailableAccuracyLevel"&gt;"AvailableAccuracyLevel"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueManager.</doc>
            <type name="Manager" c:type="GClueManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_in_use"
              c:identifier="gclue_manager_get_in_use"
              introspectable="0">
        <doc xml:space="preserve">Gets the value of the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Manager.InUse"&gt;"InUse"&lt;/link&gt; D-Bus property.

Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The property value.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueManager.</doc>
            <type name="Manager" c:type="GClueManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_available_accuracy_level"
              c:identifier="gclue_manager_set_available_accuracy_level"
              introspectable="0">
        <doc xml:space="preserve">Sets the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Manager.AvailableAccuracyLevel"&gt;"AvailableAccuracyLevel"&lt;/link&gt; D-Bus property to @value.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueManager.</doc>
            <type name="Manager" c:type="GClueManager*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve">The value to set.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_in_use"
              c:identifier="gclue_manager_set_in_use"
              introspectable="0">
        <doc xml:space="preserve">Sets the &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Manager.InUse"&gt;"InUse"&lt;/link&gt; D-Bus property to @value.

Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueManager.</doc>
            <type name="Manager" c:type="GClueManager*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve">The value to set.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="available-accuracy-level"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve">Represents the D-Bus property &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Manager.AvailableAccuracyLevel"&gt;"AvailableAccuracyLevel"&lt;/link&gt;.

Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="in-use" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">Represents the D-Bus property &lt;link linkend="gdbus-property-org-freedesktop-GeoClue2-Manager.InUse"&gt;"InUse"&lt;/link&gt;.

Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <glib:signal name="handle-add-agent" when="last">
        <doc xml:space="preserve">Signal emitted when a remote caller is invoking the &lt;link linkend="gdbus-method-org-freedesktop-GeoClue2-Manager.AddAgent"&gt;AddAgent()&lt;/link&gt; D-Bus method.

If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gclue_manager_complete_add_agent() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the invocation was handled, %FALSE to let other signal handlers run.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="invocation" transfer-ownership="none">
            <doc xml:space="preserve">A #GDBusMethodInvocation.</doc>
            <type name="Gio.DBusMethodInvocation"/>
          </parameter>
          <parameter name="arg_id" transfer-ownership="none">
            <doc xml:space="preserve">Argument passed by remote caller.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="handle-get-client" when="last">
        <doc xml:space="preserve">Signal emitted when a remote caller is invoking the &lt;link linkend="gdbus-method-org-freedesktop-GeoClue2-Manager.GetClient"&gt;GetClient()&lt;/link&gt; D-Bus method.

If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call gclue_manager_complete_get_client() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the invocation was handled, %FALSE to let other signal handlers run.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="invocation" transfer-ownership="none">
            <doc xml:space="preserve">A #GDBusMethodInvocation.</doc>
            <type name="Gio.DBusMethodInvocation"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <record name="ManagerIface"
            c:type="GClueManagerIface"
            glib:is-gtype-struct-for="Manager">
      <doc xml:space="preserve">Virtual table for the D-Bus interface &lt;link linkend="gdbus-interface-org-freedesktop-GeoClue2-Manager.top_of_page"&gt;org.freedesktop.GeoClue2.Manager&lt;/link&gt;.</doc>
      <field name="parent_iface">
        <doc xml:space="preserve">The parent interface.</doc>
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="handle_add_agent">
        <callback name="handle_add_agent">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <type name="Manager" c:type="GClueManager*"/>
            </parameter>
            <parameter name="invocation" transfer-ownership="none">
              <type name="Gio.DBusMethodInvocation"
                    c:type="GDBusMethodInvocation*"/>
            </parameter>
            <parameter name="arg_id" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="handle_get_client">
        <callback name="handle_get_client">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <type name="Manager" c:type="GClueManager*"/>
            </parameter>
            <parameter name="invocation" transfer-ownership="none">
              <type name="Gio.DBusMethodInvocation"
                    c:type="GDBusMethodInvocation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_available_accuracy_level">
        <callback name="get_available_accuracy_level">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">The property value.</doc>
            <type name="guint" c:type="guint"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <doc xml:space="preserve">A #GClueManager.</doc>
              <type name="Manager" c:type="GClueManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_in_use">
        <callback name="get_in_use">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">The property value.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <doc xml:space="preserve">A #GClueManager.</doc>
              <type name="Manager" c:type="GClueManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="ManagerProxy"
           c:symbol-prefix="manager_proxy"
           c:type="GClueManagerProxy"
           parent="Gio.DBusProxy"
           glib:type-name="GClueManagerProxy"
           glib:get-type="gclue_manager_proxy_get_type"
           glib:type-struct="ManagerProxyClass">
      <doc xml:space="preserve">The #GClueManagerProxy structure contains only private data and should only be accessed using the provided API.</doc>
      <implements name="Manager"/>
      <implements name="Gio.AsyncInitable"/>
      <implements name="Gio.DBusInterface"/>
      <implements name="Gio.Initable"/>
      <constructor name="new_finish"
                   c:identifier="gclue_manager_proxy_new_finish"
                   throws="1">
        <doc xml:space="preserve">Finishes an operation started with gclue_manager_proxy_new().</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The constructed proxy object or %NULL if @error is set.</doc>
          <type name="ManagerProxy" c:type="GClueManager*"/>
        </return-value>
        <parameters>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve">The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gclue_manager_proxy_new().</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_for_bus_finish"
                   c:identifier="gclue_manager_proxy_new_for_bus_finish"
                   throws="1">
        <doc xml:space="preserve">Finishes an operation started with gclue_manager_proxy_new_for_bus().</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The constructed proxy object or %NULL if @error is set.</doc>
          <type name="ManagerProxy" c:type="GClueManager*"/>
        </return-value>
        <parameters>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve">The #GAsyncResult obtained from the #GAsyncReadyCallback passed to gclue_manager_proxy_new_for_bus().</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_for_bus_sync"
                   c:identifier="gclue_manager_proxy_new_for_bus_sync"
                   throws="1">
        <doc xml:space="preserve">Like gclue_manager_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.

The calling thread is blocked until a reply is received.

See gclue_manager_proxy_new_for_bus() for the asynchronous version of this constructor.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The constructed proxy object or %NULL if @error is set.</doc>
          <type name="ManagerProxy" c:type="GClueManager*"/>
        </return-value>
        <parameters>
          <parameter name="bus_type" transfer-ownership="none">
            <doc xml:space="preserve">A #GBusType.</doc>
            <type name="Gio.BusType" c:type="GBusType"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">Flags from the #GDBusProxyFlags enumeration.</doc>
            <type name="Gio.DBusProxyFlags" c:type="GDBusProxyFlags"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">A bus name (well-known or unique).</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">An object path.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_sync"
                   c:identifier="gclue_manager_proxy_new_sync"
                   throws="1">
        <doc xml:space="preserve">Synchronously creates a proxy for the D-Bus interface &lt;link linkend="gdbus-interface-org-freedesktop-GeoClue2-Manager.top_of_page"&gt;org.freedesktop.GeoClue2.Manager&lt;/link&gt;. See g_dbus_proxy_new_sync() for more details.

The calling thread is blocked until a reply is received.

See gclue_manager_proxy_new() for the asynchronous version of this constructor.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The constructed proxy object or %NULL if @error is set.</doc>
          <type name="ManagerProxy" c:type="GClueManager*"/>
        </return-value>
        <parameters>
          <parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve">A #GDBusConnection.</doc>
            <type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">Flags from the #GDBusProxyFlags enumeration.</doc>
            <type name="Gio.DBusProxyFlags" c:type="GDBusProxyFlags"/>
          </parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">An object path.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="new" c:identifier="gclue_manager_proxy_new">
        <doc xml:space="preserve">Asynchronously creates a proxy for the D-Bus interface &lt;link linkend="gdbus-interface-org-freedesktop-GeoClue2-Manager.top_of_page"&gt;org.freedesktop.GeoClue2.Manager&lt;/link&gt;. See g_dbus_proxy_new() for more details.

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 gclue_manager_proxy_new_finish() to get the result of the operation.

See gclue_manager_proxy_new_sync() for the synchronous, blocking version of this constructor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve">A #GDBusConnection.</doc>
            <type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">Flags from the #GDBusProxyFlags enumeration.</doc>
            <type name="Gio.DBusProxyFlags" c:type="GDBusProxyFlags"/>
          </parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">An object path.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">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">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">User data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <function name="new_for_bus"
                c:identifier="gclue_manager_proxy_new_for_bus">
        <doc xml:space="preserve">Like gclue_manager_proxy_new() but takes a #GBusType instead of a #GDBusConnection.

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 gclue_manager_proxy_new_for_bus_finish() to get the result of the operation.

See gclue_manager_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="bus_type" transfer-ownership="none">
            <doc xml:space="preserve">A #GBusType.</doc>
            <type name="Gio.BusType" c:type="GBusType"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">Flags from the #GDBusProxyFlags enumeration.</doc>
            <type name="Gio.DBusProxyFlags" c:type="GDBusProxyFlags"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">A bus name (well-known or unique).</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">An object path.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">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">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">User data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <field name="parent_instance" readable="0" private="1">
        <type name="Gio.DBusProxy" c:type="GDBusProxy"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ManagerProxyPrivate" c:type="GClueManagerProxyPrivate*"/>
      </field>
    </class>
    <record name="ManagerProxyClass"
            c:type="GClueManagerProxyClass"
            glib:is-gtype-struct-for="ManagerProxy">
      <doc xml:space="preserve">Class structure for #GClueManagerProxy.</doc>
      <field name="parent_class">
        <doc xml:space="preserve">The parent class.</doc>
        <type name="Gio.DBusProxyClass" c:type="GDBusProxyClass"/>
      </field>
    </record>
    <record name="ManagerProxyPrivate"
            c:type="GClueManagerProxyPrivate"
            disguised="1">
    </record>
    <class name="ManagerSkeleton"
           c:symbol-prefix="manager_skeleton"
           c:type="GClueManagerSkeleton"
           parent="Gio.DBusInterfaceSkeleton"
           glib:type-name="GClueManagerSkeleton"
           glib:get-type="gclue_manager_skeleton_get_type"
           glib:type-struct="ManagerSkeletonClass">
      <doc xml:space="preserve">The #GClueManagerSkeleton structure contains only private data and should only be accessed using the provided API.</doc>
      <implements name="Manager"/>
      <implements name="Gio.DBusInterface"/>
      <constructor name="new" c:identifier="gclue_manager_skeleton_new">
        <doc xml:space="preserve">Creates a skeleton object for the D-Bus interface &lt;link linkend="gdbus-interface-org-freedesktop-GeoClue2-Manager.top_of_page"&gt;org.freedesktop.GeoClue2.Manager&lt;/link&gt;.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The skeleton object.</doc>
          <type name="ManagerSkeleton" c:type="GClueManager*"/>
        </return-value>
      </constructor>
      <field name="parent_instance" readable="0" private="1">
        <type name="Gio.DBusInterfaceSkeleton"
              c:type="GDBusInterfaceSkeleton"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ManagerSkeletonPrivate"
              c:type="GClueManagerSkeletonPrivate*"/>
      </field>
    </class>
    <record name="ManagerSkeletonClass"
            c:type="GClueManagerSkeletonClass"
            glib:is-gtype-struct-for="ManagerSkeleton">
      <doc xml:space="preserve">Class structure for #GClueManagerSkeleton.</doc>
      <field name="parent_class">
        <doc xml:space="preserve">The parent class.</doc>
        <type name="Gio.DBusInterfaceSkeletonClass"
              c:type="GDBusInterfaceSkeletonClass"/>
      </field>
    </record>
    <record name="ManagerSkeletonPrivate"
            c:type="GClueManagerSkeletonPrivate"
            disguised="1">
    </record>
    <class name="Simple"
           c:symbol-prefix="simple"
           c:type="GClueSimple"
           parent="GObject.Object"
           glib:type-name="GClueSimple"
           glib:get-type="gclue_simple_get_type"
           glib:type-struct="SimpleClass">
      <implements name="Gio.AsyncInitable"/>
      <constructor name="new_finish"
                   c:identifier="gclue_simple_new_finish"
                   throws="1">
        <doc xml:space="preserve">Finishes an operation started with #gclue_simple_new().</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The constructed proxy
object or %NULL if @error is set.</doc>
          <type name="Simple" c:type="GClueSimple*"/>
        </return-value>
        <parameters>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve">The #GAsyncResult obtained from the #GAsyncReadyCallback passed to
         #gclue_simple_new().</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_sync"
                   c:identifier="gclue_simple_new_sync"
                   throws="1">
        <doc xml:space="preserve">The synchronous and blocking version of #gclue_simple_new().</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The new #GClueSimple object or
%NULL if @error is set.</doc>
          <type name="Simple" c:type="GClueSimple*"/>
        </return-value>
        <parameters>
          <parameter name="desktop_id" transfer-ownership="none">
            <doc xml:space="preserve">The desktop file id (the basename of the desktop file).</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="accuracy_level" transfer-ownership="none">
            <doc xml:space="preserve">The requested accuracy level as #GClueAccuracyLevel.</doc>
            <type name="AccuracyLevel" c:type="GClueAccuracyLevel"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">A #GCancellable or %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="new" c:identifier="gclue_simple_new">
        <doc xml:space="preserve">Asynchronously creates a #GClueSimple instance. Use
#gclue_simple_new_finish() to get the created #GClueSimple instance.

See #gclue_simple_new_sync() for the synchronous, blocking version
of this function.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="desktop_id" transfer-ownership="none">
            <doc xml:space="preserve">The desktop file id (the basename of the desktop file).</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="accuracy_level" transfer-ownership="none">
            <doc xml:space="preserve">The requested accuracy level as #GClueAccuracyLevel.</doc>
            <type name="AccuracyLevel" c:type="GClueAccuracyLevel"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">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">A #GAsyncReadyCallback to call when the results are ready.</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">User data to pass to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_client" c:identifier="gclue_simple_get_client">
        <doc xml:space="preserve">Gets the client proxy.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The client object.</doc>
          <type name="ClientProxy" c:type="GClueClient*"/>
        </return-value>
        <parameters>
          <instance-parameter name="simple" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueSimple object.</doc>
            <type name="Simple" c:type="GClueSimple*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_location" c:identifier="gclue_simple_get_location">
        <doc xml:space="preserve">Gets the current location.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The last known location
as #GClueLocation.</doc>
          <type name="LocationProxy" c:type="GClueLocation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="simple" transfer-ownership="none">
            <doc xml:space="preserve">A #GClueSimple object.</doc>
            <type name="Simple" c:type="GClueSimple*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="accuracy-level"
                introspectable="0"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The requested maximum accuracy level.</doc>
        <type/>
      </property>
      <property name="client" transfer-ownership="none">
        <doc xml:space="preserve">The client proxy.</doc>
        <type name="ClientProxy"/>
      </property>
      <property name="desktop-id"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The Desktop ID of the application.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="location" transfer-ownership="none">
        <doc xml:space="preserve">The current location.</doc>
        <type name="LocationProxy"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="SimplePrivate" c:type="GClueSimplePrivate*"/>
      </field>
    </class>
    <record name="SimpleClass"
            c:type="GClueSimpleClass"
            glib:is-gtype-struct-for="Simple">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="SimplePrivate" c:type="GClueSimplePrivate" disguised="1">
    </record>
    <function name="client_interface_info"
              c:identifier="gclue_client_interface_info"
              moved-to="Client.interface_info">
      <doc xml:space="preserve">Gets a machine-readable description of the &lt;link linkend="gdbus-interface-org-freedesktop-GeoClue2-Client.top_of_page"&gt;org.freedesktop.GeoClue2.Client&lt;/link&gt; D-Bus interface.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">A #GDBusInterfaceInfo. Do not free.</doc>
        <type name="Gio.DBusInterfaceInfo" c:type="GDBusInterfaceInfo*"/>
      </return-value>
    </function>
    <function name="client_override_properties"
              c:identifier="gclue_client_override_properties"
              moved-to="Client.override_properties">
      <doc xml:space="preserve">Overrides all #GObject properties in the #GClueClient interface for a concrete class.
The properties are overridden in the order they are defined.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">The last property id.</doc>
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="klass" transfer-ownership="none">
          <doc xml:space="preserve">The class structure for a #GObject derived class.</doc>
          <type name="GObject.ObjectClass" c:type="GObjectClass*"/>
        </parameter>
        <parameter name="property_id_begin" transfer-ownership="none">
          <doc xml:space="preserve">The property id to assign to the first overridden property.</doc>
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="location_interface_info"
              c:identifier="gclue_location_interface_info"
              moved-to="Location.interface_info">
      <doc xml:space="preserve">Gets a machine-readable description of the &lt;link linkend="gdbus-interface-org-freedesktop-GeoClue2-Location.top_of_page"&gt;org.freedesktop.GeoClue2.Location&lt;/link&gt; D-Bus interface.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">A #GDBusInterfaceInfo. Do not free.</doc>
        <type name="Gio.DBusInterfaceInfo" c:type="GDBusInterfaceInfo*"/>
      </return-value>
    </function>
    <function name="location_override_properties"
              c:identifier="gclue_location_override_properties"
              moved-to="Location.override_properties">
      <doc xml:space="preserve">Overrides all #GObject properties in the #GClueLocation interface for a concrete class.
The properties are overridden in the order they are defined.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">The last property id.</doc>
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="klass" transfer-ownership="none">
          <doc xml:space="preserve">The class structure for a #GObject derived class.</doc>
          <type name="GObject.ObjectClass" c:type="GObjectClass*"/>
        </parameter>
        <parameter name="property_id_begin" transfer-ownership="none">
          <doc xml:space="preserve">The property id to assign to the first overridden property.</doc>
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="manager_interface_info"
              c:identifier="gclue_manager_interface_info"
              moved-to="Manager.interface_info">
      <doc xml:space="preserve">Gets a machine-readable description of the &lt;link linkend="gdbus-interface-org-freedesktop-GeoClue2-Manager.top_of_page"&gt;org.freedesktop.GeoClue2.Manager&lt;/link&gt; D-Bus interface.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">A #GDBusInterfaceInfo. Do not free.</doc>
        <type name="Gio.DBusInterfaceInfo" c:type="GDBusInterfaceInfo*"/>
      </return-value>
    </function>
    <function name="manager_override_properties"
              c:identifier="gclue_manager_override_properties"
              moved-to="Manager.override_properties">
      <doc xml:space="preserve">Overrides all #GObject properties in the #GClueManager interface for a concrete class.
The properties are overridden in the order they are defined.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">The last property id.</doc>
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="klass" transfer-ownership="none">
          <doc xml:space="preserve">The class structure for a #GObject derived class.</doc>
          <type name="GObject.ObjectClass" c:type="GObjectClass*"/>
        </parameter>
        <parameter name="property_id_begin" transfer-ownership="none">
          <doc xml:space="preserve">The property id to assign to the first overridden property.</doc>
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
