dwww Home | Manual pages | Find package

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.