org.bluez.mesh.Element1 Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bluez-dbus Show documentation
Show all versions of bluez-dbus Show documentation
Java native bluetooth library which uses bluez via dbus (linux only)
package org.bluez.mesh;
import java.util.Map;
import org.freedesktop.dbus.interfaces.DBusInterface;
import org.freedesktop.dbus.types.UInt16;
import org.freedesktop.dbus.types.Variant;
/**
* File generated - 2020-12-28.
* Based on bluez Documentation: mesh-api.txt.
*
* Service: org.bluez.mesh
* Interface: org.bluez.mesh.Element1
*
* Object path: <app_defined_element_path>
*
* Supported properties:
* uint8 Index [read-only]
*
* Element index. It is required that the application follows
* sequential numbering scheme for the elements, starting with 0.
*
* array{(uint16 id, dict caps)} Models [read-only]
*
* An array of SIG Models:
*
* id - SIG Model Identifier
*
* options - a dictionary that may contain additional model
* info. The following keys are defined:
*
* boolean Publish - indicates whether the model
* supports publication mechanism. If not
* present, publication is enabled.
*
* boolean Subscribe - indicates whether the model
* supports subscription mechanism. If not
* present, subscriptons are enabled.
*
* The array may be empty.
*
*
* array{(uint16 vendor, uint16 id, dict options)} VendorModels [read-only]
*
* An array of Vendor Models:
*
* vendor - a 16-bit Bluetooth-assigned Company ID as
* defined by Bluetooth SIG.
*
* id - a 16-bit vendor-assigned Model Identifier
*
* options - a dictionary that may contain additional model
* info. The following keys are defined:
*
* boolean Publish - indicates whether the model
* supports publication mechanism
*
* boolean Subscribe - indicates whether the model
* supports subscription mechanism
*
* The array may be empty.
*
* uint16 Location [read-only, optional]
*
* Location descriptor as defined in the GATT Bluetooth Namespace
* Descriptors section of the Bluetooth SIG Assigned Numbers
*
*/
public interface Element1 extends DBusInterface {
/**
* From bluez documentation:
*
* This method is called by bluetooth-meshd daemon when a message
* arrives addressed to the application.
*
* The source parameter is unicast address of the remote
* node-element that sent the message.
*
* The key_index parameter indicates which application key has been
* used to decode the incoming message. The same key_index should
* be used by the application when sending a response to this
* message (in case a response is expected).
*
* The destination parameter contains the destination address of
* received message. Underlying variant types are:
*
* uint16
*
* Destination is an unicast address, or a well known
* group address
*
* array{byte}
*
* Destination is a virtual address label
*
* The data parameter is the incoming message.
*
* @param _source source
* @param _keyIndex key_index
* @param _destination destination
* @param _data data
*/
void MessageReceived(UInt16 _source, UInt16 _keyIndex, Variant> _destination, byte[] _data);
/**
* From bluez documentation:
*
* This method is called by meshd daemon when a message arrives
* addressed to the application, which was sent with the remote
* node's device key.
*
* The source parameter is unicast address of the remote
* node-element that sent the message.
*
* The remote parameter if true indicates that the device key
* used to decrypt the message was from the sender. False
* indicates that the local nodes device key was used, and the
* message has permissions to modify local states.
*
* The net_index parameter indicates what subnet the message was
* received on, and if a response is required, the same subnet
* must be used to send the response.
*
* The data parameter is the incoming message.
*
* @param _source source
* @param _remote remote
* @param _net_index net_index
* @param _data data
*/
void DevKeyMessageReceived(UInt16 _source, boolean _remote, UInt16 _net_index, byte[] _data);
/**
* From bluez documentation:
*
* This method is called by bluetooth-meshd daemon when a model's
* configuration is updated.
*
* The model_id parameter contains BT SIG Model Identifier or, if
* Vendor key is present in config dictionary, a 16-bit
* vendor-assigned Model Identifier.
*
* The config parameter is a dictionary with the following keys
* defined:
*
* array{uint16} Bindings
*
* Indices of application keys bound to the model
*
* uint32 PublicationPeriod
*
* Model publication period in milliseconds
*
* uint16 Vendor
*
* A 16-bit Bluetooth-assigned Company Identifier of the
* vendor as defined by Bluetooth SIG
*
* array{variant} Subscriptions
*
* Addresses the model is subscribed to.
*
* Each address is provided either as uint16 for group
* addresses, or as array{byte} for virtual labels.
*
*
* @param _modelId model_id
* @param _config config
*/
void UpdateModelConfiguration(UInt16 _modelId, Map> _config);
}