mirror of
https://git.kernel.org/pub/scm/bluetooth/bluez.git
synced 2024-12-28 13:23:53 +08:00
183 lines
5.4 KiB
Plaintext
183 lines
5.4 KiB
Plaintext
BlueZ D-Bus Agent API description
|
|
**********************************
|
|
|
|
|
|
Agent Manager hierarchy
|
|
=======================
|
|
|
|
Service org.bluez
|
|
Interface org.bluez.AgentManager1
|
|
Object path /org/bluez
|
|
|
|
void RegisterAgent(object agent, string capability)
|
|
|
|
This registers an agent handler.
|
|
|
|
The object path defines the path of the agent
|
|
that will be called when user input is needed.
|
|
|
|
Every application can register its own agent and
|
|
for all actions triggered by that application its
|
|
agent is used.
|
|
|
|
It is not required by an application to register
|
|
an agent. If an application does chooses to not
|
|
register an agent, the default agent is used. This
|
|
is on most cases a good idea. Only application
|
|
like a pairing wizard should register their own
|
|
agent.
|
|
|
|
An application can only register one agent. Multiple
|
|
agents per application is not supported.
|
|
|
|
The capability parameter can have the values
|
|
"DisplayOnly", "DisplayYesNo", "KeyboardOnly",
|
|
"NoInputNoOutput" and "KeyboardDisplay" which
|
|
reflects the input and output capabilities of the
|
|
agent.
|
|
|
|
If an empty string is used it will fallback to
|
|
"DisplayYesNo".
|
|
|
|
Possible errors: org.bluez.Error.InvalidArguments
|
|
org.bluez.Error.AlreadyExists
|
|
|
|
void UnregisterAgent(object agent)
|
|
|
|
This unregisters the agent that has been previously
|
|
registered. The object path parameter must match the
|
|
same value that has been used on registration.
|
|
|
|
Possible errors: org.bluez.Error.DoesNotExist
|
|
|
|
void RequestDefaultAgent(object agent)
|
|
|
|
This requests is to make the application agent
|
|
the default agent. The application is required
|
|
to register an agent.
|
|
|
|
Special permission might be required to become
|
|
the default agent.
|
|
|
|
Possible errors: org.bluez.Error.DoesNotExist
|
|
|
|
|
|
Agent hierarchy
|
|
===============
|
|
|
|
Service unique name
|
|
Interface org.bluez.Agent1
|
|
Object path freely definable
|
|
|
|
Methods void Release()
|
|
|
|
This method gets called when the service daemon
|
|
unregisters the agent. An agent can use it to do
|
|
cleanup tasks. There is no need to unregister the
|
|
agent, because when this method gets called it has
|
|
already been unregistered.
|
|
|
|
string RequestPinCode(object device)
|
|
|
|
This method gets called when the service daemon
|
|
needs to get the passkey for an authentication.
|
|
|
|
The return value should be a string of 1-16 characters
|
|
length. The string can be alphanumeric.
|
|
|
|
Possible errors: org.bluez.Error.Rejected
|
|
org.bluez.Error.Canceled
|
|
|
|
void DisplayPinCode(object device, string pincode)
|
|
|
|
This method gets called when the service daemon
|
|
needs to display a pincode for an authentication.
|
|
|
|
An empty reply should be returned. When the pincode
|
|
needs no longer to be displayed, the Cancel method
|
|
of the agent will be called.
|
|
|
|
This is used during the pairing process of keyboards
|
|
that don't support Bluetooth 2.1 Secure Simple Pairing,
|
|
in contrast to DisplayPasskey which is used for those
|
|
that do.
|
|
|
|
This method will only ever be called once since
|
|
older keyboards do not support typing notification.
|
|
|
|
Note that the PIN will always be a 6-digit number,
|
|
zero-padded to 6 digits. This is for harmony with
|
|
the later specification.
|
|
|
|
Possible errors: org.bluez.Error.Rejected
|
|
org.bluez.Error.Canceled
|
|
|
|
uint32 RequestPasskey(object device)
|
|
|
|
This method gets called when the service daemon
|
|
needs to get the passkey for an authentication.
|
|
|
|
The return value should be a numeric value
|
|
between 0-999999.
|
|
|
|
Possible errors: org.bluez.Error.Rejected
|
|
org.bluez.Error.Canceled
|
|
|
|
void DisplayPasskey(object device, uint32 passkey,
|
|
uint16 entered)
|
|
|
|
This method gets called when the service daemon
|
|
needs to display a passkey for an authentication.
|
|
|
|
The entered parameter indicates the number of already
|
|
typed keys on the remote side.
|
|
|
|
An empty reply should be returned. When the passkey
|
|
needs no longer to be displayed, the Cancel method
|
|
of the agent will be called.
|
|
|
|
During the pairing process this method might be
|
|
called multiple times to update the entered value.
|
|
|
|
Note that the passkey will always be a 6-digit number,
|
|
so the display should be zero-padded at the start if
|
|
the value contains less than 6 digits.
|
|
|
|
void RequestConfirmation(object device, uint32 passkey)
|
|
|
|
This method gets called when the service daemon
|
|
needs to confirm a passkey for an authentication.
|
|
|
|
To confirm the value it should return an empty reply
|
|
or an error in case the passkey is invalid.
|
|
|
|
Note that the passkey will always be a 6-digit number,
|
|
so the display should be zero-padded at the start if
|
|
the value contains less than 6 digits.
|
|
|
|
Possible errors: org.bluez.Error.Rejected
|
|
org.bluez.Error.Canceled
|
|
|
|
void RequestAuthorization(object device)
|
|
|
|
This method gets called to request the user to
|
|
authorize an incoming pairing attempt which
|
|
would in other circumstances trigger the just-works
|
|
model.
|
|
|
|
Possible errors: org.bluez.Error.Rejected
|
|
org.bluez.Error.Canceled
|
|
|
|
void AuthorizeService(object device, string uuid)
|
|
|
|
This method gets called when the service daemon
|
|
needs to authorize a connection/service request.
|
|
|
|
Possible errors: org.bluez.Error.Rejected
|
|
org.bluez.Error.Canceled
|
|
|
|
void Cancel()
|
|
|
|
This method gets called to indicate that the agent
|
|
request failed before a reply was returned.
|