geoclue-sys 0.1.1

Rust bindings to the Geoclue geolocation library
Documentation
// Generated by gir (https://github.com/gtk-rs/gir @ 9e7b5ee)
// from gir (@ ???)
// from girs (@ 8e47c67)
// DO NOT EDIT

#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
#![allow(clippy::approx_constant, clippy::type_complexity, clippy::unreadable_literal, clippy::upper_case_acronyms)]
#![cfg_attr(feature = "dox", feature(doc_cfg))]

use glib_sys as glib;
use gobject_sys as gobject;
use gio_sys as gio;

#[allow(unused_imports)]
use libc::{c_int, c_char, c_uchar, c_float, c_uint, c_double,
    c_short, c_ushort, c_long, c_ulong,
    c_void, size_t, ssize_t, intptr_t, uintptr_t, time_t, FILE};

#[allow(unused_imports)]
use glib::{gboolean, gconstpointer, gpointer, GType};

// Enums
pub type GClueAccuracyLevel = c_int;
pub const GCLUE_ACCURACY_LEVEL_NONE: GClueAccuracyLevel = 0;
pub const GCLUE_ACCURACY_LEVEL_COUNTRY: GClueAccuracyLevel = 1;
pub const GCLUE_ACCURACY_LEVEL_CITY: GClueAccuracyLevel = 4;
pub const GCLUE_ACCURACY_LEVEL_NEIGHBORHOOD: GClueAccuracyLevel = 5;
pub const GCLUE_ACCURACY_LEVEL_STREET: GClueAccuracyLevel = 6;
pub const GCLUE_ACCURACY_LEVEL_EXACT: GClueAccuracyLevel = 8;

// Flags
pub type GClueClientProxyCreateFlags = c_uint;
pub const GCLUE_CLIENT_PROXY_CREATE_NONE: GClueClientProxyCreateFlags = 0;
pub const GCLUE_CLIENT_PROXY_CREATE_AUTO_DELETE: GClueClientProxyCreateFlags = 1;

// Records
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GClueClientIface {
    pub parent_iface: gobject::GTypeInterface,
    pub handle_start: Option<unsafe extern "C" fn(*mut GClueClient, *mut gio::GDBusMethodInvocation) -> gboolean>,
    pub handle_stop: Option<unsafe extern "C" fn(*mut GClueClient, *mut gio::GDBusMethodInvocation) -> gboolean>,
    pub get_active: Option<unsafe extern "C" fn(*mut GClueClient) -> gboolean>,
    pub get_desktop_id: Option<unsafe extern "C" fn(*mut GClueClient) -> *const c_char>,
    pub get_distance_threshold: Option<unsafe extern "C" fn(*mut GClueClient) -> c_uint>,
    pub get_location: Option<unsafe extern "C" fn(*mut GClueClient) -> *const c_char>,
    pub get_requested_accuracy_level: Option<unsafe extern "C" fn(*mut GClueClient) -> c_uint>,
    pub get_time_threshold: Option<unsafe extern "C" fn(*mut GClueClient) -> c_uint>,
    pub location_updated: Option<unsafe extern "C" fn(*mut GClueClient, *const c_char, *const c_char)>,
}

impl ::std::fmt::Debug for GClueClientIface {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GClueClientIface @ {:p}", self))
         .field("parent_iface", &self.parent_iface)
         .field("handle_start", &self.handle_start)
         .field("handle_stop", &self.handle_stop)
         .field("get_active", &self.get_active)
         .field("get_desktop_id", &self.get_desktop_id)
         .field("get_distance_threshold", &self.get_distance_threshold)
         .field("get_location", &self.get_location)
         .field("get_requested_accuracy_level", &self.get_requested_accuracy_level)
         .field("get_time_threshold", &self.get_time_threshold)
         .field("location_updated", &self.location_updated)
         .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GClueClientProxyClass {
    pub parent_class: gio::GDBusProxyClass,
}

impl ::std::fmt::Debug for GClueClientProxyClass {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GClueClientProxyClass @ {:p}", self))
         .field("parent_class", &self.parent_class)
         .finish()
    }
}

#[repr(C)]
pub struct _GClueClientProxyPrivate(c_void);

pub type GClueClientProxyPrivate = *mut _GClueClientProxyPrivate;

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GClueClientSkeletonClass {
    pub parent_class: gio::GDBusInterfaceSkeletonClass,
}

impl ::std::fmt::Debug for GClueClientSkeletonClass {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GClueClientSkeletonClass @ {:p}", self))
         .field("parent_class", &self.parent_class)
         .finish()
    }
}

#[repr(C)]
pub struct _GClueClientSkeletonPrivate(c_void);

pub type GClueClientSkeletonPrivate = *mut _GClueClientSkeletonPrivate;

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GClueLocationIface {
    pub parent_iface: gobject::GTypeInterface,
    pub get_accuracy: Option<unsafe extern "C" fn(*mut GClueLocation) -> c_double>,
    pub get_altitude: Option<unsafe extern "C" fn(*mut GClueLocation) -> c_double>,
    pub get_description: Option<unsafe extern "C" fn(*mut GClueLocation) -> *const c_char>,
    pub get_heading: Option<unsafe extern "C" fn(*mut GClueLocation) -> c_double>,
    pub get_latitude: Option<unsafe extern "C" fn(*mut GClueLocation) -> c_double>,
    pub get_longitude: Option<unsafe extern "C" fn(*mut GClueLocation) -> c_double>,
    pub get_speed: Option<unsafe extern "C" fn(*mut GClueLocation) -> c_double>,
    pub get_timestamp: Option<unsafe extern "C" fn(*mut GClueLocation) -> *mut glib::GVariant>,
}

impl ::std::fmt::Debug for GClueLocationIface {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GClueLocationIface @ {:p}", self))
         .field("parent_iface", &self.parent_iface)
         .field("get_accuracy", &self.get_accuracy)
         .field("get_altitude", &self.get_altitude)
         .field("get_description", &self.get_description)
         .field("get_heading", &self.get_heading)
         .field("get_latitude", &self.get_latitude)
         .field("get_longitude", &self.get_longitude)
         .field("get_speed", &self.get_speed)
         .field("get_timestamp", &self.get_timestamp)
         .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GClueLocationProxyClass {
    pub parent_class: gio::GDBusProxyClass,
}

impl ::std::fmt::Debug for GClueLocationProxyClass {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GClueLocationProxyClass @ {:p}", self))
         .field("parent_class", &self.parent_class)
         .finish()
    }
}

#[repr(C)]
pub struct _GClueLocationProxyPrivate(c_void);

pub type GClueLocationProxyPrivate = *mut _GClueLocationProxyPrivate;

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GClueLocationSkeletonClass {
    pub parent_class: gio::GDBusInterfaceSkeletonClass,
}

impl ::std::fmt::Debug for GClueLocationSkeletonClass {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GClueLocationSkeletonClass @ {:p}", self))
         .field("parent_class", &self.parent_class)
         .finish()
    }
}

#[repr(C)]
pub struct _GClueLocationSkeletonPrivate(c_void);

pub type GClueLocationSkeletonPrivate = *mut _GClueLocationSkeletonPrivate;

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GClueManagerIface {
    pub parent_iface: gobject::GTypeInterface,
    pub handle_add_agent: Option<unsafe extern "C" fn(*mut GClueManager, *mut gio::GDBusMethodInvocation, *const c_char) -> gboolean>,
    pub handle_create_client: Option<unsafe extern "C" fn(*mut GClueManager, *mut gio::GDBusMethodInvocation) -> gboolean>,
    pub handle_delete_client: Option<unsafe extern "C" fn(*mut GClueManager, *mut gio::GDBusMethodInvocation, *const c_char) -> gboolean>,
    pub handle_get_client: Option<unsafe extern "C" fn(*mut GClueManager, *mut gio::GDBusMethodInvocation) -> gboolean>,
    pub get_available_accuracy_level: Option<unsafe extern "C" fn(*mut GClueManager) -> c_uint>,
    pub get_in_use: Option<unsafe extern "C" fn(*mut GClueManager) -> gboolean>,
}

impl ::std::fmt::Debug for GClueManagerIface {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GClueManagerIface @ {:p}", self))
         .field("parent_iface", &self.parent_iface)
         .field("handle_add_agent", &self.handle_add_agent)
         .field("handle_create_client", &self.handle_create_client)
         .field("handle_delete_client", &self.handle_delete_client)
         .field("handle_get_client", &self.handle_get_client)
         .field("get_available_accuracy_level", &self.get_available_accuracy_level)
         .field("get_in_use", &self.get_in_use)
         .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GClueManagerProxyClass {
    pub parent_class: gio::GDBusProxyClass,
}

impl ::std::fmt::Debug for GClueManagerProxyClass {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GClueManagerProxyClass @ {:p}", self))
         .field("parent_class", &self.parent_class)
         .finish()
    }
}

#[repr(C)]
pub struct _GClueManagerProxyPrivate(c_void);

pub type GClueManagerProxyPrivate = *mut _GClueManagerProxyPrivate;

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GClueManagerSkeletonClass {
    pub parent_class: gio::GDBusInterfaceSkeletonClass,
}

impl ::std::fmt::Debug for GClueManagerSkeletonClass {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GClueManagerSkeletonClass @ {:p}", self))
         .field("parent_class", &self.parent_class)
         .finish()
    }
}

#[repr(C)]
pub struct _GClueManagerSkeletonPrivate(c_void);

pub type GClueManagerSkeletonPrivate = *mut _GClueManagerSkeletonPrivate;

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GClueSimpleClass {
    pub parent_class: gobject::GObjectClass,
}

impl ::std::fmt::Debug for GClueSimpleClass {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GClueSimpleClass @ {:p}", self))
         .field("parent_class", &self.parent_class)
         .finish()
    }
}

#[repr(C)]
pub struct _GClueSimplePrivate(c_void);

pub type GClueSimplePrivate = *mut _GClueSimplePrivate;

// Classes
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GClueClientProxy {
    pub parent_instance: gio::GDBusProxy,
    pub priv_: *mut GClueClientProxyPrivate,
}

impl ::std::fmt::Debug for GClueClientProxy {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GClueClientProxy @ {:p}", self))
         .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GClueClientSkeleton {
    pub parent_instance: gio::GDBusInterfaceSkeleton,
    pub priv_: *mut GClueClientSkeletonPrivate,
}

impl ::std::fmt::Debug for GClueClientSkeleton {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GClueClientSkeleton @ {:p}", self))
         .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GClueLocationProxy {
    pub parent_instance: gio::GDBusProxy,
    pub priv_: *mut GClueLocationProxyPrivate,
}

impl ::std::fmt::Debug for GClueLocationProxy {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GClueLocationProxy @ {:p}", self))
         .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GClueLocationSkeleton {
    pub parent_instance: gio::GDBusInterfaceSkeleton,
    pub priv_: *mut GClueLocationSkeletonPrivate,
}

impl ::std::fmt::Debug for GClueLocationSkeleton {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GClueLocationSkeleton @ {:p}", self))
         .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GClueManagerProxy {
    pub parent_instance: gio::GDBusProxy,
    pub priv_: *mut GClueManagerProxyPrivate,
}

impl ::std::fmt::Debug for GClueManagerProxy {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GClueManagerProxy @ {:p}", self))
         .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GClueManagerSkeleton {
    pub parent_instance: gio::GDBusInterfaceSkeleton,
    pub priv_: *mut GClueManagerSkeletonPrivate,
}

impl ::std::fmt::Debug for GClueManagerSkeleton {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GClueManagerSkeleton @ {:p}", self))
         .finish()
    }
}

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GClueSimple {
    pub parent: gobject::GObject,
    pub priv_: *mut GClueSimplePrivate,
}

impl ::std::fmt::Debug for GClueSimple {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GClueSimple @ {:p}", self))
         .field("parent", &self.parent)
         .finish()
    }
}

// Interfaces
#[repr(C)]
pub struct GClueClient(c_void);

impl ::std::fmt::Debug for GClueClient {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        write!(f, "GClueClient @ {:p}", self)
    }
}

#[repr(C)]
pub struct GClueLocation(c_void);

impl ::std::fmt::Debug for GClueLocation {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        write!(f, "GClueLocation @ {:p}", self)
    }
}

#[repr(C)]
pub struct GClueManager(c_void);

impl ::std::fmt::Debug for GClueManager {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        write!(f, "GClueManager @ {:p}", self)
    }
}


#[link(name = "geoclue-2")]
extern "C" {

    //=========================================================================
    // GClueAccuracyLevel
    //=========================================================================
    pub fn gclue_accuracy_level_get_type() -> GType;

    //=========================================================================
    // GClueClientProxyCreateFlags
    //=========================================================================
    pub fn gclue_client_proxy_create_flags_get_type() -> GType;

    //=========================================================================
    // GClueClientProxy
    //=========================================================================
    pub fn gclue_client_proxy_get_type() -> GType;
    pub fn gclue_client_proxy_new_finish(res: *mut gio::GAsyncResult, error: *mut *mut glib::GError) -> *mut GClueClientProxy;
    pub fn gclue_client_proxy_new_for_bus_finish(res: *mut gio::GAsyncResult, error: *mut *mut glib::GError) -> *mut GClueClientProxy;
    pub fn gclue_client_proxy_new_for_bus_sync(bus_type: gio::GBusType, flags: gio::GDBusProxyFlags, name: *const c_char, object_path: *const c_char, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> *mut GClueClientProxy;
    pub fn gclue_client_proxy_new_sync(connection: *mut gio::GDBusConnection, flags: gio::GDBusProxyFlags, name: *const c_char, object_path: *const c_char, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> *mut GClueClientProxy;
    pub fn gclue_client_proxy_create(desktop_id: *const c_char, accuracy_level: GClueAccuracyLevel, cancellable: *mut gio::GCancellable, callback: gio::GAsyncReadyCallback, user_data: gpointer);
    pub fn gclue_client_proxy_create_finish(result: *mut gio::GAsyncResult, error: *mut *mut glib::GError) -> *mut GClueClientProxy;
    pub fn gclue_client_proxy_create_full(desktop_id: *const c_char, accuracy_level: GClueAccuracyLevel, flags: GClueClientProxyCreateFlags, cancellable: *mut gio::GCancellable, callback: gio::GAsyncReadyCallback, user_data: gpointer);
    pub fn gclue_client_proxy_create_full_finish(result: *mut gio::GAsyncResult, error: *mut *mut glib::GError) -> *mut GClueClientProxy;
    pub fn gclue_client_proxy_create_full_sync(desktop_id: *const c_char, accuracy_level: GClueAccuracyLevel, flags: GClueClientProxyCreateFlags, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> *mut GClueClientProxy;
    pub fn gclue_client_proxy_create_sync(desktop_id: *const c_char, accuracy_level: GClueAccuracyLevel, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> *mut GClueClientProxy;
    pub fn gclue_client_proxy_new(connection: *mut gio::GDBusConnection, flags: gio::GDBusProxyFlags, name: *const c_char, object_path: *const c_char, cancellable: *mut gio::GCancellable, callback: gio::GAsyncReadyCallback, user_data: gpointer);
    pub fn gclue_client_proxy_new_for_bus(bus_type: gio::GBusType, flags: gio::GDBusProxyFlags, name: *const c_char, object_path: *const c_char, cancellable: *mut gio::GCancellable, callback: gio::GAsyncReadyCallback, user_data: gpointer);

    //=========================================================================
    // GClueClientSkeleton
    //=========================================================================
    pub fn gclue_client_skeleton_get_type() -> GType;
    pub fn gclue_client_skeleton_new() -> *mut GClueClientSkeleton;

    //=========================================================================
    // GClueLocationProxy
    //=========================================================================
    pub fn gclue_location_proxy_get_type() -> GType;
    pub fn gclue_location_proxy_new_finish(res: *mut gio::GAsyncResult, error: *mut *mut glib::GError) -> *mut GClueLocationProxy;
    pub fn gclue_location_proxy_new_for_bus_finish(res: *mut gio::GAsyncResult, error: *mut *mut glib::GError) -> *mut GClueLocationProxy;
    pub fn gclue_location_proxy_new_for_bus_sync(bus_type: gio::GBusType, flags: gio::GDBusProxyFlags, name: *const c_char, object_path: *const c_char, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> *mut GClueLocationProxy;
    pub fn gclue_location_proxy_new_sync(connection: *mut gio::GDBusConnection, flags: gio::GDBusProxyFlags, name: *const c_char, object_path: *const c_char, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> *mut GClueLocationProxy;
    pub fn gclue_location_proxy_new(connection: *mut gio::GDBusConnection, flags: gio::GDBusProxyFlags, name: *const c_char, object_path: *const c_char, cancellable: *mut gio::GCancellable, callback: gio::GAsyncReadyCallback, user_data: gpointer);
    pub fn gclue_location_proxy_new_for_bus(bus_type: gio::GBusType, flags: gio::GDBusProxyFlags, name: *const c_char, object_path: *const c_char, cancellable: *mut gio::GCancellable, callback: gio::GAsyncReadyCallback, user_data: gpointer);

    //=========================================================================
    // GClueLocationSkeleton
    //=========================================================================
    pub fn gclue_location_skeleton_get_type() -> GType;
    pub fn gclue_location_skeleton_new() -> *mut GClueLocationSkeleton;

    //=========================================================================
    // GClueManagerProxy
    //=========================================================================
    pub fn gclue_manager_proxy_get_type() -> GType;
    pub fn gclue_manager_proxy_new_finish(res: *mut gio::GAsyncResult, error: *mut *mut glib::GError) -> *mut GClueManagerProxy;
    pub fn gclue_manager_proxy_new_for_bus_finish(res: *mut gio::GAsyncResult, error: *mut *mut glib::GError) -> *mut GClueManagerProxy;
    pub fn gclue_manager_proxy_new_for_bus_sync(bus_type: gio::GBusType, flags: gio::GDBusProxyFlags, name: *const c_char, object_path: *const c_char, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> *mut GClueManagerProxy;
    pub fn gclue_manager_proxy_new_sync(connection: *mut gio::GDBusConnection, flags: gio::GDBusProxyFlags, name: *const c_char, object_path: *const c_char, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> *mut GClueManagerProxy;
    pub fn gclue_manager_proxy_new(connection: *mut gio::GDBusConnection, flags: gio::GDBusProxyFlags, name: *const c_char, object_path: *const c_char, cancellable: *mut gio::GCancellable, callback: gio::GAsyncReadyCallback, user_data: gpointer);
    pub fn gclue_manager_proxy_new_for_bus(bus_type: gio::GBusType, flags: gio::GDBusProxyFlags, name: *const c_char, object_path: *const c_char, cancellable: *mut gio::GCancellable, callback: gio::GAsyncReadyCallback, user_data: gpointer);

    //=========================================================================
    // GClueManagerSkeleton
    //=========================================================================
    pub fn gclue_manager_skeleton_get_type() -> GType;
    pub fn gclue_manager_skeleton_new() -> *mut GClueManagerSkeleton;

    //=========================================================================
    // GClueSimple
    //=========================================================================
    pub fn gclue_simple_get_type() -> GType;
    pub fn gclue_simple_new_finish(result: *mut gio::GAsyncResult, error: *mut *mut glib::GError) -> *mut GClueSimple;
    pub fn gclue_simple_new_sync(desktop_id: *const c_char, accuracy_level: GClueAccuracyLevel, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> *mut GClueSimple;
    pub fn gclue_simple_new(desktop_id: *const c_char, accuracy_level: GClueAccuracyLevel, cancellable: *mut gio::GCancellable, callback: gio::GAsyncReadyCallback, user_data: gpointer);
    pub fn gclue_simple_get_client(simple: *mut GClueSimple) -> *mut GClueClientProxy;
    pub fn gclue_simple_get_location(simple: *mut GClueSimple) -> *mut GClueLocationProxy;

    //=========================================================================
    // GClueClient
    //=========================================================================
    pub fn gclue_client_get_type() -> GType;
    pub fn gclue_client_interface_info() -> *mut gio::GDBusInterfaceInfo;
    pub fn gclue_client_override_properties(klass: *mut gobject::GObjectClass, property_id_begin: c_uint) -> c_uint;
    pub fn gclue_client_call_start(proxy: *mut GClueClient, cancellable: *mut gio::GCancellable, callback: gio::GAsyncReadyCallback, user_data: gpointer);
    pub fn gclue_client_call_start_finish(proxy: *mut GClueClient, res: *mut gio::GAsyncResult, error: *mut *mut glib::GError) -> gboolean;
    pub fn gclue_client_call_start_sync(proxy: *mut GClueClient, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> gboolean;
    pub fn gclue_client_call_stop(proxy: *mut GClueClient, cancellable: *mut gio::GCancellable, callback: gio::GAsyncReadyCallback, user_data: gpointer);
    pub fn gclue_client_call_stop_finish(proxy: *mut GClueClient, res: *mut gio::GAsyncResult, error: *mut *mut glib::GError) -> gboolean;
    pub fn gclue_client_call_stop_sync(proxy: *mut GClueClient, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> gboolean;
    pub fn gclue_client_complete_start(object: *mut GClueClient, invocation: *mut gio::GDBusMethodInvocation);
    pub fn gclue_client_complete_stop(object: *mut GClueClient, invocation: *mut gio::GDBusMethodInvocation);
    pub fn gclue_client_dup_desktop_id(object: *mut GClueClient) -> *mut c_char;
    pub fn gclue_client_dup_location(object: *mut GClueClient) -> *mut c_char;
    pub fn gclue_client_emit_location_updated(object: *mut GClueClient, arg_old: *const c_char, arg_new: *const c_char);
    pub fn gclue_client_get_active(object: *mut GClueClient) -> gboolean;
    pub fn gclue_client_get_desktop_id(object: *mut GClueClient) -> *const c_char;
    pub fn gclue_client_get_distance_threshold(object: *mut GClueClient) -> c_uint;
    pub fn gclue_client_get_location(object: *mut GClueClient) -> *const c_char;
    pub fn gclue_client_get_requested_accuracy_level(object: *mut GClueClient) -> c_uint;
    pub fn gclue_client_get_time_threshold(object: *mut GClueClient) -> c_uint;
    pub fn gclue_client_set_active(object: *mut GClueClient, value: gboolean);
    pub fn gclue_client_set_desktop_id(object: *mut GClueClient, value: *const c_char);
    pub fn gclue_client_set_distance_threshold(object: *mut GClueClient, value: c_uint);
    pub fn gclue_client_set_location(object: *mut GClueClient, value: *const c_char);
    pub fn gclue_client_set_requested_accuracy_level(object: *mut GClueClient, value: c_uint);
    pub fn gclue_client_set_time_threshold(object: *mut GClueClient, value: c_uint);

    //=========================================================================
    // GClueLocation
    //=========================================================================
    pub fn gclue_location_get_type() -> GType;
    pub fn gclue_location_interface_info() -> *mut gio::GDBusInterfaceInfo;
    pub fn gclue_location_override_properties(klass: *mut gobject::GObjectClass, property_id_begin: c_uint) -> c_uint;
    pub fn gclue_location_dup_description(object: *mut GClueLocation) -> *mut c_char;
    pub fn gclue_location_dup_timestamp(object: *mut GClueLocation) -> *mut glib::GVariant;
    pub fn gclue_location_get_accuracy(object: *mut GClueLocation) -> c_double;
    pub fn gclue_location_get_altitude(object: *mut GClueLocation) -> c_double;
    pub fn gclue_location_get_description(object: *mut GClueLocation) -> *const c_char;
    pub fn gclue_location_get_heading(object: *mut GClueLocation) -> c_double;
    pub fn gclue_location_get_latitude(object: *mut GClueLocation) -> c_double;
    pub fn gclue_location_get_longitude(object: *mut GClueLocation) -> c_double;
    pub fn gclue_location_get_speed(object: *mut GClueLocation) -> c_double;
    pub fn gclue_location_get_timestamp(object: *mut GClueLocation) -> *mut glib::GVariant;
    pub fn gclue_location_set_accuracy(object: *mut GClueLocation, value: c_double);
    pub fn gclue_location_set_altitude(object: *mut GClueLocation, value: c_double);
    pub fn gclue_location_set_description(object: *mut GClueLocation, value: *const c_char);
    pub fn gclue_location_set_heading(object: *mut GClueLocation, value: c_double);
    pub fn gclue_location_set_latitude(object: *mut GClueLocation, value: c_double);
    pub fn gclue_location_set_longitude(object: *mut GClueLocation, value: c_double);
    pub fn gclue_location_set_speed(object: *mut GClueLocation, value: c_double);
    pub fn gclue_location_set_timestamp(object: *mut GClueLocation, value: *mut glib::GVariant);

    //=========================================================================
    // GClueManager
    //=========================================================================
    pub fn gclue_manager_get_type() -> GType;
    pub fn gclue_manager_interface_info() -> *mut gio::GDBusInterfaceInfo;
    pub fn gclue_manager_override_properties(klass: *mut gobject::GObjectClass, property_id_begin: c_uint) -> c_uint;
    pub fn gclue_manager_call_add_agent(proxy: *mut GClueManager, arg_id: *const c_char, cancellable: *mut gio::GCancellable, callback: gio::GAsyncReadyCallback, user_data: gpointer);
    pub fn gclue_manager_call_add_agent_finish(proxy: *mut GClueManager, res: *mut gio::GAsyncResult, error: *mut *mut glib::GError) -> gboolean;
    pub fn gclue_manager_call_add_agent_sync(proxy: *mut GClueManager, arg_id: *const c_char, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> gboolean;
    pub fn gclue_manager_call_create_client(proxy: *mut GClueManager, cancellable: *mut gio::GCancellable, callback: gio::GAsyncReadyCallback, user_data: gpointer);
    pub fn gclue_manager_call_create_client_finish(proxy: *mut GClueManager, out_client: *mut *mut c_char, res: *mut gio::GAsyncResult, error: *mut *mut glib::GError) -> gboolean;
    pub fn gclue_manager_call_create_client_sync(proxy: *mut GClueManager, out_client: *mut *mut c_char, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> gboolean;
    pub fn gclue_manager_call_delete_client(proxy: *mut GClueManager, arg_client: *const c_char, cancellable: *mut gio::GCancellable, callback: gio::GAsyncReadyCallback, user_data: gpointer);
    pub fn gclue_manager_call_delete_client_finish(proxy: *mut GClueManager, res: *mut gio::GAsyncResult, error: *mut *mut glib::GError) -> gboolean;
    pub fn gclue_manager_call_delete_client_sync(proxy: *mut GClueManager, arg_client: *const c_char, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> gboolean;
    pub fn gclue_manager_call_get_client(proxy: *mut GClueManager, cancellable: *mut gio::GCancellable, callback: gio::GAsyncReadyCallback, user_data: gpointer);
    pub fn gclue_manager_call_get_client_finish(proxy: *mut GClueManager, out_client: *mut *mut c_char, res: *mut gio::GAsyncResult, error: *mut *mut glib::GError) -> gboolean;
    pub fn gclue_manager_call_get_client_sync(proxy: *mut GClueManager, out_client: *mut *mut c_char, cancellable: *mut gio::GCancellable, error: *mut *mut glib::GError) -> gboolean;
    pub fn gclue_manager_complete_add_agent(object: *mut GClueManager, invocation: *mut gio::GDBusMethodInvocation);
    pub fn gclue_manager_complete_create_client(object: *mut GClueManager, invocation: *mut gio::GDBusMethodInvocation, client: *const c_char);
    pub fn gclue_manager_complete_delete_client(object: *mut GClueManager, invocation: *mut gio::GDBusMethodInvocation);
    pub fn gclue_manager_complete_get_client(object: *mut GClueManager, invocation: *mut gio::GDBusMethodInvocation, client: *const c_char);
    pub fn gclue_manager_get_available_accuracy_level(object: *mut GClueManager) -> c_uint;
    pub fn gclue_manager_get_in_use(object: *mut GClueManager) -> gboolean;
    pub fn gclue_manager_set_available_accuracy_level(object: *mut GClueManager, value: c_uint);
    pub fn gclue_manager_set_in_use(object: *mut GClueManager, value: gboolean);

}