mirror of
https://git.kernel.org/pub/scm/bluetooth/bluez.git
synced 2024-12-24 11:23:41 +08:00
4c055aff11
There does not seem to be any actual need for this method. The current implementation calls Cancel when a pending NewConnection() or RequestDisconnection() method call fails. Additionally it calls Cancel() when the remote client has disconnected. In either case BlueZ calls shutdown on the file descriptor associated with the agent and issues a Cancel() method call. The closing of the file descriptor will trigger a HUP on the agent side, which will trigger normal cleanup procedures. The received Cancel() method call is redundant in both cases.
148 lines
3.4 KiB
Plaintext
148 lines
3.4 KiB
Plaintext
BlueZ D-Bus Profile API description
|
|
***********************************
|
|
|
|
|
|
Profile Manager hierarchy
|
|
=========================
|
|
|
|
Service org.bluez
|
|
Interface org.bluez.ProfileManager1
|
|
Object path /org/bluez
|
|
|
|
void RegisterProfile(object profile, string uuid, dict options)
|
|
|
|
This registers a profile implementation.
|
|
|
|
If an application disconnects from the bus all
|
|
its registered profiles will be removed.
|
|
|
|
HFP HS UUID: 0000111e-0000-1000-8000-00805f9b34fb
|
|
|
|
Default RFCOMM channel is 6. And this requires
|
|
authentication.
|
|
|
|
Available options:
|
|
|
|
string Name
|
|
|
|
Human readable name for the profile
|
|
|
|
string Service
|
|
|
|
The primary service class UUID
|
|
(if different from the actual
|
|
profile UUID)
|
|
|
|
string Role
|
|
|
|
For asymmetric profiles that do not
|
|
have UUIDs available to uniquely
|
|
identify each side this
|
|
parameter allows specifying the
|
|
precise local role.
|
|
|
|
Possible values: "client", "server"
|
|
|
|
uint16 Channel
|
|
|
|
RFCOMM channel number that is used
|
|
for client and server UUIDs.
|
|
|
|
If applicable it will be used in the
|
|
SDP record as well.
|
|
|
|
uint16 PSM
|
|
|
|
PSM number that is used for client
|
|
and server UUIDs.
|
|
|
|
If applicable it will be used in the
|
|
SDP record as well.
|
|
|
|
boolean RequireAuthentication
|
|
|
|
Pairing is required before connections
|
|
will be established. No devices will
|
|
be connected if not paired.
|
|
|
|
boolean RequireAuthorization
|
|
|
|
Request authorization before any
|
|
connection will be established.
|
|
|
|
boolean AutoConnect
|
|
|
|
In case of a client UUID this will
|
|
force connection of the RFCOMM or
|
|
L2CAP channels when a remote device
|
|
is connected.
|
|
|
|
string ServiceRecord
|
|
|
|
Provide a manual SDP record.
|
|
|
|
uint16 Version
|
|
|
|
Profile version (for SDP record)
|
|
|
|
uint16 Features
|
|
|
|
Profile features (for SDP record)
|
|
|
|
Possible errors: org.bluez.Error.InvalidArguments
|
|
org.bluez.Error.AlreadyExists
|
|
|
|
void UnregisterProfile(object profile)
|
|
|
|
This unregisters the profile 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
|
|
|
|
|
|
Profile hierarchy
|
|
=================
|
|
|
|
Service unique name
|
|
Interface org.bluez.Profile1
|
|
Object path freely definable
|
|
|
|
Methods void Release() [noreply]
|
|
|
|
This method gets called when the service daemon
|
|
unregisters the profile. A profile can use it to do
|
|
cleanup tasks. There is no need to unregister the
|
|
profile, because when this method gets called it has
|
|
already been unregistered.
|
|
|
|
void NewConnection(object device, fd, dict fd_properties)
|
|
|
|
This method gets called when a new service level
|
|
connection has been made and authorized.
|
|
|
|
Common fd_properties:
|
|
|
|
uint16 Version Profile version (optional)
|
|
uint16 Features Profile features (optional)
|
|
|
|
Possible errors: org.bluez.Error.Rejected
|
|
org.bluez.Error.Canceled
|
|
|
|
void RequestDisconnection(object device)
|
|
|
|
This method gets called when a profile gets
|
|
disconnected.
|
|
|
|
The file descriptor is no longer owned by the service
|
|
daemon and the profile implementation needs to take
|
|
care of cleaning up all connections.
|
|
|
|
If multiple file descriptors are indicated via
|
|
NewConnection, it is expected that all of them
|
|
are disconnected before returning from this
|
|
method call.
|
|
|
|
Possible errors: org.bluez.Error.Rejected
|
|
org.bluez.Error.Canceled
|