ORG.BLUEZ.GATTMANAGER(5) Linux System Administration ORG.BLUEZ.GATTMANAGER(5)
NAME
org.bluez.GattManager - BlueZ D-Bus GattManager API documentation
DESCRIPTION
GATT Manager allows external applications to register GATT services and
profiles.
Registering a profile allows applications to subscribe to remote/client
services.
Registering a service allows applications to publish a local/server GATT
service, which then becomes available to remote devices. A GATT service
is represented by a D-Bus object hierarchy where the root node corre-
sponds to a service and the child nodes represent characteristics and
descriptors that belong to that service. Each node must implement one of
org.bluez.GattService(5), org.bluez.GattCharacteristic(5) or
org.bluez.GattDescriptor(5) interfaces, based on the attribute it repre-
sents. Each node must also implement the standard D-Bus Properties in-
terface to expose their properties. These objects collectively represent
a GATT service definition.
To make service registration simple, bluetoothd(8) requires that all ob-
jects that belong to a GATT service be grouped under a D-Bus Object Man-
ager that solely manages the objects of that service. Hence, the stan-
dard DBus.ObjectManager interface must be available on the root service
path. An example application hierarchy containing two separate GATT ser-
vices may look like this:
-> /com/example
| - org.freedesktop.DBus.ObjectManager
|
-> /com/example/service0
| | - org.freedesktop.DBus.Properties
| | - org.bluez.GattService1
| |
| -> /com/example/service0/char0
| | - org.freedesktop.DBus.Properties
| | - org.bluez.GattCharacteristic1
| |
| -> /com/example/service0/char1
| | - org.freedesktop.DBus.Properties
| | - org.bluez.GattCharacteristic1
| |
| -> /com/example/service0/char1/desc0
| - org.freedesktop.DBus.Properties
| - org.bluez.GattDescriptor1
|
-> /com/example/service1
| - org.freedesktop.DBus.Properties
| - org.bluez.GattService1
|
-> /com/example/service1/char0
- org.freedesktop.DBus.Properties
- org.bluez.GattCharacteristic1
When a service is registered, bluetoothd(8) will automatically obtain
information about all objects using the service's Object Manager. Once a
service has been registered, the objects of a service should not be re-
moved. If bluetoothd(8) receives an InterfacesRemoved signal from a ser-
vice's Object Manager, it will immediately unregister the service. Simi-
larly, if the application disconnects from the bus, all of its regis-
tered services will be automatically unregistered. InterfacesAdded sig-
nals will be ignored.
INTERFACE
Service
org.bluez
Interface
org.bluez.GattManager1
Object path
[variable prefix]/{hci0,hci1,...}
Methods
void RegisterApplication(object application, dict options)
Registers a local GATT services hierarchy as described above (GATT
Server) and/or GATT profiles (GATT Client).
The application object path together with the D-Bus system bus con-
nection ID define the identification of the application registering a
GATT based service (org.bluez.GattService(5)) and/or profile
(org.bluez.GattProfile(5)).
Possible errors:
org.bluez.Error.InvalidArguments
org.bluez.Error.AlreadyExists
void UnregisterApplication(object application)
This unregisters the services and/or profiles that has been previ-
ously registered using RegisterApplication(). The object path parame-
ter must match the same value that has been used on registration.
Possible errors:
org.bluez.Error.InvalidArguments
org.bluez.Error.DoesNotExist
BlueZ October 2023 ORG.BLUEZ.GATTMANAGER(5)
Generated by dwww version 1.16 on Sat Oct 3 07:34:47 CEST 2026.