BluetoothClient

## BluetoothClient BluetoothClient — Bluetooth client object |

## Stability Level

Stable, unless otherwise indicated

## Synopsis

    #include <bluetooth-client.h>

    struct              BluetoothClient;
    struct              BluetoothClientClass;
    void                bluetooth_client_connect_service    (BluetoothClient *client,
                                                             const char *device,
                                                             gboolean connect,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    gboolean            bluetooth_client_connect_service_finish
                                                            (BluetoothClient *client,
                                                             GAsyncResult *res,
                                                             GError **error);
    GtkTreeModel *      bluetooth_client_get_adapter_model  (BluetoothClient *client);
    GtkTreeModel *      bluetooth_client_get_device_model   (BluetoothClient *client);
    GtkTreeModel *      bluetooth_client_get_filter_model   (BluetoothClient *client,
                                                             GtkTreeModelFilterVisibleFunc func,
                                                             gpointer data,
                                                             GDestroyNotify destroy);
    GtkTreeModel *      bluetooth_client_get_model          (BluetoothClient *client);
    BluetoothClient *   bluetooth_client_new                (void);

## Object Hierarchy

      GObject
       +----BluetoothClient

## Properties

      "default-adapter"          gchar*                : Read
      "default-adapter-discoverable" gboolean              : Read / Write
      "default-adapter-discovering" gboolean              : Read / Write
      "default-adapter-name"     gchar*                : Read
      "default-adapter-powered"  gboolean              : Read

## Description

The BluetoothClient object is used to query the state of Bluetooth devices and adapters.

## Details

### struct BluetoothClient

    struct BluetoothClient;

### struct BluetoothClientClass

    struct BluetoothClientClass {
    	GObjectClass parent_class;
    };

### bluetooth_client_connect_service ()

    void                bluetooth_client_connect_service    (BluetoothClient *client,
                                                             const char *device,
                                                             gboolean connect,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

When the connection operation is finished, `callback` will be called. You can then call `bluetooth_client_connect_service_finish()` to get the result of the operation.

`client` : | a BluetoothClient
`device` : | the DBUS path on which to operate
`connect` : | Whether try to connect or disconnect from services on a device
`cancellable` : | optional GCancellable object, `NULL` to ignore
`callback` : | a GAsyncReadyCallback to call when the connection is complete. [scope async]
`user_data` : | the data to pass to callback function

### bluetooth_client_connect_service_finish ()

    gboolean            bluetooth_client_connect_service_finish
                                                            (BluetoothClient *client,
                                                             GAsyncResult *res,
                                                             GError **error);

Finishes the connection operation, See `bluetooth_client_connect_service()`.

`client` : | a BluetoothClient
`res` : | a GAsyncResult
`error` : | a GError
Returns : | `TRUE` if the connection operation succeeded, `FALSE` otherwise.

### bluetooth_client_get_adapter_model ()

    GtkTreeModel *      bluetooth_client_get_adapter_model  (BluetoothClient *client);

Returns a GtkTreeModelFilter with only adapters present.

`client` : | a BluetoothClient object
Returns : | a GtkTreeModel object. [transfer full]

### bluetooth_client_get_device_model ()

    GtkTreeModel *      bluetooth_client_get_device_model   (BluetoothClient *client);

Returns a GtkTreeModelFilter with only devices belonging to the default adapter listed. Note that the model will follow a specific adapter, and will not follow the default adapter. Also note that due to the way GtkTreeModelFilter works, you will probably want to monitor signals on the "child-model" GtkTreeModel to monitor for changes.

`client` : | a BluetoothClient object
Returns : | a GtkTreeModel object. [transfer full]

### bluetooth_client_get_filter_model ()

    GtkTreeModel *      bluetooth_client_get_filter_model   (BluetoothClient *client,
                                                             GtkTreeModelFilterVisibleFunc func,
                                                             gpointer data,
                                                             GDestroyNotify destroy);

Returns a GtkTreeModelFilter of devices filtered using the `func`, `data` and `destroy` arguments to pass to `gtk_tree_model_filter_set_visible_func()`.

`client` : | a BluetoothClient object
`func` : | a GtkTreeModelFilterVisibleFunc
`data` : | user data to pass to `gtk_tree_model_filter_set_visible_func()`
`destroy` : | a destroy function for `gtk_tree_model_filter_set_visible_func()`
Returns : | a GtkTreeModel object. [transfer full]

### bluetooth_client_get_model ()

    GtkTreeModel *      bluetooth_client_get_model          (BluetoothClient *client);

Returns an unfiltered GtkTreeModel representing the adapter and devices available on the system.

`client` : | a BluetoothClient object
Returns : | a GtkTreeModel object. [transfer full]

### bluetooth_client_new ()

    BluetoothClient *   bluetooth_client_new                (void);

Returns a reference to the BluetoothClient singleton. Use `g_object_unref()` when done with the object.

Returns : | a BluetoothClient object. [transfer full]

## Property Details

### The `"default-adapter"` property

      "default-adapter"          gchar*                : Read

The D-Bus path of the default Bluetooth adapter or `NULL`.

Default value: NULL

### The `"default-adapter-discoverable"` property

      "default-adapter-discoverable" gboolean              : Read / Write

`TRUE` if the default Bluetooth adapter is discoverable.

Default value: FALSE

### The `"default-adapter-discovering"` property

      "default-adapter-discovering" gboolean              : Read / Write

`TRUE` if the default Bluetooth adapter is discovering.

Default value: FALSE

### The `"default-adapter-name"` property

      "default-adapter-name"     gchar*                : Read

The name of the default Bluetooth adapter or `NULL`.

Default value: NULL

### The `"default-adapter-powered"` property

      "default-adapter-powered"  gboolean              : Read

`TRUE` if the default Bluetooth adapter is powered.

Default value: FALSE