2012-09-25 22:26:16 +08:00
|
|
|
BlueZ D-Bus Profile API description
|
|
|
|
***********************************
|
|
|
|
|
2012-11-10 03:19:18 +08:00
|
|
|
|
|
|
|
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 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.
|
|
|
|
|
|
|
|
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
|
2012-09-25 22:26:16 +08:00
|
|
|
|
|
|
|
|
|
|
|
Profile hierarchy
|
|
|
|
=================
|
|
|
|
|
|
|
|
Service unique name
|
2012-11-10 03:19:18 +08:00
|
|
|
Interface org.bluez.Profile1
|
2012-09-25 22:26:16 +08:00
|
|
|
Object path freely definable
|
|
|
|
|
|
|
|
Methods void Release()
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
2012-11-09 18:29:33 +08:00
|
|
|
void NewConnection(object device, fd, dict fd_properties)
|
2012-09-25 22:26:16 +08:00
|
|
|
|
|
|
|
This method gets called when a new service level
|
|
|
|
connection has been made and authorized.
|
|
|
|
|
2012-11-12 21:07:44 +08:00
|
|
|
Common fd_properties:
|
|
|
|
|
|
|
|
uint16 Version Profile version (optional)
|
|
|
|
uint16 Features Profile features (optional)
|
|
|
|
|
2012-09-25 22:26:16 +08:00
|
|
|
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
|
|
|
|
|
|
|
|
void Cancel()
|
|
|
|
|
|
|
|
This method gets called to indicate that the profile
|
|
|
|
request failed before a reply was returned.
|
|
|
|
|
|
|
|
All request are queued and there will be only one
|
|
|
|
pending pequest at a time per profile.
|