All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bluez.GattManager1 Maven / Gradle / Ivy

The newest version!
package org.bluez;

import org.bluez.exceptions.*;
import org.freedesktop.dbus.DBusPath;
import org.freedesktop.dbus.interfaces.DBusInterface;
import org.freedesktop.dbus.types.Variant;

import java.util.Map;

/**
 * File generated - 2023-02-20.
* Based on bluez Documentation: gatt-api.txt.
*
* Service: org.bluez
* Interface: org.bluez.GattManager1
*
* Object path:
* [variable prefix]/{hci0,hci1,...}
*
* GATT Manager hierarchy
* ======================

* GATT Manager allows external applications to register GATT services and
* profiles.

* Registering a profile allows applications to subscribe to *remote* services.
* These must implement the GattProfile1 interface defined above.

* Registering a service allows applications to publish a *local* 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 GattService1, GattCharacteristic1,
* or GattDescriptor1 interfaces described above, 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, BlueZ 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, BlueZ 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 BlueZ 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.

* Examples:
* - Client
* test/example-gatt-client
* client/bluetoothctl
* - Server
* test/example-gatt-server
* tools/gatt-service
*/ public interface GattManager1 extends DBusInterface { /** * From bluez documentation:
*
* 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 or profile.
*
* * @param _application application * @param _options options * * @throws BluezInvalidArgumentsException when argument is invalid * @throws BluezAlreadyExistsException when item already exists */ void RegisterApplication(DBusPath _application, Map> _options) throws BluezInvalidArgumentsException, BluezAlreadyExistsException; /** * From bluez documentation:
*
* This unregisters the services that has been
* previously registered. The object path parameter
* must match the same value that has been used
* on registration.
*
* * @param _application application * * @throws BluezInvalidArgumentsException when argument is invalid * @throws BluezDoesNotExistException when item does not exist */ void UnregisterApplication(DBusPath _application) throws BluezInvalidArgumentsException, BluezDoesNotExistException; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy