org.bluez.mesh.ProvisionAgent1 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 org.freedesktop.dbus.interfaces.DBusInterface;
import org.freedesktop.dbus.types.UInt32;
/**
* File generated - 2020-12-28.
* Based on bluez Documentation: mesh-api.txt.
*
* Service: unique name
* Interface: org.bluez.mesh.ProvisionAgent1
*
* Object path:
* freely definable
*
* Supported properties:
* array{string} Capabilities [read-only]
* An array of strings with the following allowed values:
*
* "blink"
* "beep"
* "vibrate"
* "out-numeric"
* "out-alpha"
* "push"
* "twist"
* "in-numeric"
* "in-alpha"
* "static-oob"
* "public-oob"
*
* array{string} OutOfBandInfo [read-only, optional]
* Indicates availability of OOB data. An array of strings with the
* following allowed values:
*
* "other"
* "uri"
* "machine-code-2d"
* "bar-code"
* "nfc"
* "number"
* "string"
* "on-box"
* "in-box"
* "on-paper",
* "in-manual"
* "on-device"
*
* string URI [read-only, optional]
* Uniform Resource Identifier points to out-of-band (OOB)
* information (e.g., a public key)
*
*/
public interface ProvisionAgent1 extends DBusInterface {
/**
* From bluez documentation:
*
* This method is called during provisioning if the Provisioner
* has requested Out-Of-Band ECC key exchange. The Private key is
* returned to the Daemon, and the Public Key is delivered to the
* remote Provisioner using a method that does not involve the
* Bluetooth Mesh system. The Private Key returned must be 32
* octets in size, or the Provisioning procedure will fail and be
* canceled.
*
* This function will only be called if the Provisioner has
* requested pre-determined keys to be exchanged Out-of-Band, and
* the local role is Unprovisioned device.
*
* @return byte[] - maybe null
*/
byte[] PrivateKey();
/**
* From bluez documentation:
*
* This method is called during provisioning if the local device is
* the Provisioner, and is requestng Out-Of-Band ECC key exchange.
* The Public key is returned to the Daemon that is the matched
* pair of the Private key of the remote device. The Public Key
* returned must be 64 octets in size, or the Provisioning
* procedure will fail and be canceled.
*
* This function will only be called if the Provisioner has
* requested pre-determined keys to be exchanged Out-of-Band, and
* the local role is Provisioner.
*
* @return pubkey byte array
*/
byte[] PublicKey();
/**
/**
* From bluez documentation:
*
* This method is called when the Daemon has something important
* for the Agent to Display, but does not require any additional
* input locally. For instance: "Enter "ABCDE" on remote device".
*
* @param _value message
*/
void DisplayString(String _value);
/**
* From bluez documentation:
*
* This method is called when the Daemon has something important
* for the Agent to Display, but does not require any additional
* input locally. For instance: "Enter 14939264 on remote device".
*
* The type parameter indicates the display method. Allowed values
* are:
*
* "blink" - Locally blink LED
* "beep" - Locally make a noise
* "vibrate" - Locally vibrate
* "out-numeric" - Display value to enter remotely
* "push" - Request pushes on remote button
* "twist" - Request twists on remote knob
*
* The number parameter is the specific value represented by the
* Prompt.
*
* @param _type type
* @param _number number
*/
void DisplayNumeric(String _type, UInt32 _number);
/**
* From bluez documentation:
*
* This method is called when the Daemon requests the user to
* enter a decimal value between 1-99999999.
*
* The type parameter indicates the input method. Allowed values
* are:
*
* "blink" - Enter times remote LED blinked
* "beep" - Enter times remote device beeped
* "vibrate" - Enter times remote device vibrated
* "in-numeric" - Enter remotely displayed value
* "push" - Push local button remotely requested times
* "twist" - Twist local knob remotely requested times
*
* This agent should prompt the user for specific input. For
* instance: "Enter value being displayed by remote device".
*
* @param _type type
* @return UInt32 - maybe null
*/
UInt32 PromptNumeric(String _type);
/**
* From bluez documentation:
*
* This method is called when the Daemon requires a 16 octet byte
* array, as an Out-of-Band authentication.
*
* The type parameter indicates the input method. Allowed values
* are:
*
* "static-oob" - return 16 octet array
* "in-alpha" - return 16 octet alpha array
*
* The Static data returned must be 16 octets in size, or the
* Provisioning procedure will fail and be canceled. If input type
* is "in-alpha", the printable characters should be
* left-justified, with trailing 0x00 octets filling the remaining
* bytes.
*
* @param _type type
* @return byte array
*/
byte[] PromptStatic(String _type);
/**
* From bluez documentation:
*
* This method gets called by the daemon to cancel any existing
* Agent Requests. When called, any pending user input should be
* canceled, and any display requests removed.
*/
void Cancel();
}