Provided by: bluez_5.83-1~exp1_amd64 bug

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  corresponds  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
       represents. Each node must also implement  the  standard  D-Bus  Properties  interface  to  expose  their
       properties. These objects collectively represent a GATT service definition.

       To  make  service  registration  simple,  bluetoothd(8)  requires  that all objects that belong to a GATT
       service be grouped under a D-Bus Object Manager that solely manages the objects of that  service.  Hence,
       the  standard  DBus.ObjectManager  interface  must  be  available  on  the  root service path. An example
       application hierarchy containing two separate GATT services 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
       removed.  If  bluetoothd(8) receives an InterfacesRemoved signal from a service's Object Manager, it will
       immediately unregister the service. Similarly, if the application disconnects from the bus,  all  of  its
       registered services will be automatically unregistered. InterfacesAdded signals 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 connection 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  previously  registered  using
          RegisterApplication(). The object path parameter 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)