Package org.bluez

Interface Adapter1

All Superinterfaces:
org.freedesktop.dbus.interfaces.DBusInterface

public interface Adapter1 extends org.freedesktop.dbus.interfaces.DBusInterface
File generated - 2023-02-20.
Based on bluez Documentation: adapter-api.txt.

Service: org.bluez
Interface: org.bluez.Adapter1

Object path:
[variable prefix]/{hci0,hci1,...}

Supported properties:

string Address [readonly]

The Bluetooth device address.

string AddressType [readonly]

The Bluetooth Address Type. For dual-mode and BR/EDR
only adapter this defaults to "public". Single mode LE
adapters may have either value. With privacy enabled
this contains type of Identity Address and not type of
address used for connection.

Possible values:
"public" - Public address
"random" - Random address

string Name [readonly]

The Bluetooth system name (pretty hostname).

This property is either a static system default
or controlled by an external daemon providing
access to the pretty hostname configuration.

string Alias [readwrite]

The Bluetooth friendly name. This value can be
changed.

In case no alias is set, it will return the system
provided name. Setting an empty string as alias will
convert it back to the system provided name.

When resetting the alias with an empty string, the
property will default back to system name.

On a well configured system, this property never
needs to be changed since it defaults to the system
name and provides the pretty hostname. Only if the
local name needs to be different from the pretty
hostname, this property should be used as last
resort.

uint32 Class [readonly]

The Bluetooth class of device.

This property represents the value that is either
automatically configured by DMI/ACPI information
or provided as static configuration.

boolean Powered [readwrite]

Switch an adapter on or off. This will also set the
appropriate connectable state of the controller.

The value of this property is not persistent. After
restart or unplugging of the adapter it will reset
back to false.

string PowerState [readonly, experimental]

The power state of an adapter.

The power state will show whether the adapter is
turning off, or turning on, as well as being on
or off.

Possible values:
"on" - powered on
"off" - powered off
"off-enabling" - transitioning from "off" to "on"
"on-disabling" - transitioning from "on" to "off"
"off-blocked" - blocked by rfkill

boolean Discoverable [readwrite]

Switch an adapter to discoverable or non-discoverable
to either make it visible or hide it. This is a global
setting and should only be used by the settings
application.

If the DiscoverableTimeout is set to a non-zero
value then the system will set this value back to
false after the timer expired.

In case the adapter is switched off, setting this
value will fail.

When changing the Powered property the new state of
this property will be updated via a PropertiesChanged
signal.

For any new adapter this settings defaults to false.

boolean Pairable [readwrite]

Switch an adapter to pairable or non-pairable. This is
a global setting and should only be used by the
settings application.

Note that this property only affects incoming pairing
requests.

For any new adapter this settings defaults to true.

uint32 PairableTimeout [readwrite]

The pairable timeout in seconds. A value of zero
means that the timeout is disabled and it will stay in
pairable mode forever.

The default value for pairable timeout should be
disabled (value 0).

uint32 DiscoverableTimeout [readwrite]

The discoverable timeout in seconds. A value of zero
means that the timeout is disabled and it will stay in
discoverable/limited mode forever.

The default value for the discoverable timeout should
be 180 seconds (3 minutes).

boolean Discovering [readonly]

Indicates that a device discovery procedure is active.

array{string} UUIDs [readonly]

List of 128-bit UUIDs that represents the available
local services.

string Modalias [readonly, optional]

Local Device ID information in modalias format
used by the kernel and udev.

array{string} Roles [readonly]

List of supported roles. Possible values:
"central": Supports the central role.
"peripheral": Supports the peripheral role.
"central-peripheral": Supports both roles
concurrently.

array{string} ExperimentalFeatures [readonly, optional]

List of 128-bit UUIDs that represents the experimental
features currently enabled.

  • Method Summary

    Modifier and Type
    Method
    Description
    org.freedesktop.dbus.DBusPath
    ConnectDevice(Map<String,org.freedesktop.dbus.types.Variant<?>> _properties)
    From bluez documentation:

    This method connects to device without need of
    performing General Discovery.
    From bluez documentation:

    Return available filters that can be given to
    SetDiscoveryFilter.

    void
    RemoveDevice(org.freedesktop.dbus.DBusPath _device)
    From bluez documentation:

    This removes the remote device object at the given
    path.
    void
    SetDiscoveryFilter(Map<String,org.freedesktop.dbus.types.Variant<?>> _filter)
    From bluez documentation:

    This method sets the device discovery filter for the
    caller.
    void
    From bluez documentation:

    This method starts the device discovery session.
    void
    From bluez documentation:

    This method will cancel any previous StartDiscovery
    transaction.

    Note that a discovery procedure is shared between all
    discovery sessions thus calling StopDiscovery will only
    release a single session and discovery will stop when
    all sessions from all clients have finished.

    Methods inherited from interface org.freedesktop.dbus.interfaces.DBusInterface

    getObjectPath, isRemote
  • Method Details

    • StartDiscovery

      From bluez documentation:

      This method starts the device discovery session. This
      includes an inquiry procedure and remote device name
      resolving. Use StopDiscovery to release the sessions
      acquired.

      This process will start creating Device objects as
      new devices are discovered.

      During discovery RSSI delta-threshold is imposed.

      Each client can request a single device discovery session
      per adapter.

      Throws:
      BluezNotReadyException - when bluez not ready
      BluezFailedException - on failure
      BluezInProgressException - when operation already in progress
    • StopDiscovery

      From bluez documentation:

      This method will cancel any previous StartDiscovery
      transaction.

      Note that a discovery procedure is shared between all
      discovery sessions thus calling StopDiscovery will only
      release a single session and discovery will stop when
      all sessions from all clients have finished.

      Throws:
      BluezNotReadyException - when bluez not ready
      BluezFailedException - on failure
      BluezNotAuthorizedException - when not authorized
    • RemoveDevice

      void RemoveDevice(org.freedesktop.dbus.DBusPath _device) throws BluezInvalidArgumentsException, BluezFailedException
      From bluez documentation:

      This removes the remote device object at the given
      path. It will remove also the pairing information.

      Parameters:
      _device - device
      Throws:
      BluezInvalidArgumentsException - when argument is invalid
      BluezFailedException - on failure
    • SetDiscoveryFilter

      void SetDiscoveryFilter(Map<String,org.freedesktop.dbus.types.Variant<?>> _filter) throws BluezNotReadyException, BluezNotSupportedException, BluezFailedException
      From bluez documentation:

      This method sets the device discovery filter for the
      caller. When this method is called with no filter
      parameter, filter is removed.

      Parameters that may be set in the filter dictionary
      include the following:

      array{string} UUIDs

      Filter by service UUIDs, empty means match
      _any_ UUID.

      When a remote device is found that advertises
      any UUID from UUIDs, it will be reported if:
      - Pathloss and RSSI are both empty.
      - only Pathloss param is set, device advertise
      TX pwer, and computed pathloss is less than
      Pathloss param.
      - only RSSI param is set, and received RSSI is
      higher than RSSI param.

      int16 RSSI

      RSSI threshold value.

      PropertiesChanged signals will be emitted
      for already existing Device objects, with
      updated RSSI value. If one or more discovery
      filters have been set, the RSSI delta-threshold,
      that is imposed by StartDiscovery by default,
      will not be applied.

      uint16 Pathloss

      Pathloss threshold value.

      PropertiesChanged signals will be emitted
      for already existing Device objects, with
      updated Pathloss value.

      string Transport (Default "auto")

      Transport parameter determines the type of
      scan.

      Possible values:
      "auto" - interleaved scan
      "bredr" - BR/EDR inquiry
      "le" - LE scan only

      If "le" or "bredr" Transport is requested,
      and the controller doesn't support it,
      org.bluez.Error.Failed error will be returned.
      If "auto" transport is requested, scan will use
      LE, BREDR, or both, depending on what's
      currently enabled on the controller.

      bool DuplicateData (Default: true)

      Disables duplicate detection of advertisement
      data.

      When enabled PropertiesChanged signals will be
      generated for either ManufacturerData and
      ServiceData everytime they are discovered.

      bool Discoverable (Default: false)

      Make adapter discoverable while discovering,
      if the adapter is already discoverable setting
      this filter won't do anything.

      string Pattern (Default: none)

      Discover devices where the pattern matches
      either the prefix of the address or
      device name which is convenient way to limited
      the number of device objects created during a
      discovery.

      When set disregards device discoverable flags.

      Note: The pattern matching is ignored if there
      are other client that don't set any pattern as
      it work as a logical OR, also setting empty
      string "" pattern will match any device found.

      When discovery filter is set, Device objects will be
      created as new devices with matching criteria are
      discovered regardless of they are connectable or
      discoverable which enables listening to
      non-connectable and non-discoverable devices.

      When multiple clients call SetDiscoveryFilter, their
      filters are internally merged, and notifications about
      new devices are sent to all clients. Therefore, each
      client must check that device updates actually match
      its filter.

      When SetDiscoveryFilter is called multiple times by the
      same client, last filter passed will be active for
      given client.

      SetDiscoveryFilter can be called before StartDiscovery.
      It is useful when client will create first discovery
      session, to ensure that proper scan will be started
      right after call to StartDiscovery.

      Parameters:
      _filter - filter
      Throws:
      BluezNotReadyException - when bluez not ready
      BluezNotSupportedException - when operation not supported
      BluezFailedException - on failure
    • GetDiscoveryFilters

      String[] GetDiscoveryFilters()
      From bluez documentation:

      Return available filters that can be given to
      SetDiscoveryFilter.

      Returns:
      String[] - maybe null
    • ConnectDevice

      org.freedesktop.dbus.DBusPath ConnectDevice(Map<String,org.freedesktop.dbus.types.Variant<?>> _properties) throws BluezInvalidArgumentsException, BluezAlreadyExistsException, BluezNotSupportedException, BluezNotReadyException, BluezFailedException
      From bluez documentation:

      This method connects to device without need of
      performing General Discovery. Connection mechanism is
      similar to Connect method from Device1 interface with
      exception that this method returns success when physical
      connection is established. After this method returns,
      services discovery will continue and any supported
      profile will be connected. There is no need for calling
      Connect on Device1 after this call. If connection was
      successful this method returns object path to created
      device object.

      Parameters that may be set in the filter dictionary
      include the following:

      string Address

      The Bluetooth device address of the remote
      device. This parameter is mandatory.

      string AddressType

      The Bluetooth device Address Type. This is
      address type that should be used for initial
      connection. If this parameter is not present
      BR/EDR device is created.

      Possible values:
      "public" - Public address
      "random" - Random address

      Parameters:
      _properties - properties
      Returns:
      DBusPath - maybe null
      Throws:
      BluezInvalidArgumentsException - when argument is invalid
      BluezAlreadyExistsException - when item already exists
      BluezNotSupportedException - when operation not supported
      BluezNotReadyException - when bluez not ready
      BluezFailedException - on failure