Age | Commit message (Collapse) | Author | Files | Lines |
|
We should be checking that modems != NULL, not modems->data. This is
because the list can be empty and we would crash.
|
|
We should be checking that modems != NULL, not modems->data. This is
because the list can be empty and we would crash.
|
|
|
|
This patch adds initial implementation of the D-Bus Profile1
interface and methods responsible for handling Bluetooth connections.
The DUN GW profile interface is registered as soon as a GPRS capable
modem is registered in oFono.
|
|
As BlueZ 5 introduced backwards incompatible API changes, and we want to
keep support for BlueZ 4 based DUN GW plugin for some time, we need to
separate DUN GW plugin which is based on BlueZ 4 from the one based on
BlueZ 5.
The dun_gw.c plugin is renamed to dun_gw_bluez4. This will make it easy
to add a DUN GW plugin for BlueZ 5.
|
|
|
|
|
|
|
|
This patch moves the SCO socket handling from hfp_hf_bluez5 plugin. It
will be instead handled by the handsfree-audio functionality. This is
the initial step to be able to support sending the file descriptor
through the Agent NewConnection method.
|
|
|
|
|
|
This function allows to specify which role is registering when the
profile does not have specific UUIDs for each role.
|
|
This commit moves the ref / unref to hfp_hf_bluez5 to make
bluez5 more generic and reusable.
|
|
For local initiated disconnection the GAtChat disconnect callback is not
called. For this case, Audio Card remove function needs to be called.
|
|
|
|
This patch removes previous registered Audio Card when the remote
Bluetooth device triggers the service level disconnection.
|
|
This patch removes the previously created Audio Card if the service
level negotiation fails.
|
|
|
|
This patch registers the Handsfree Audio Card when the service level
connection is established.
|
|
RequestAuthorization method call may trigger pairing and/or pop up a
dialog in the remote device to which the user needs to react. Thus
increase D-Bus timeouts to 60 seconds for the Bluez 4 plugin.
|
|
|
|
|
|
|
|
This patch adds sending of the Version argument to RegisterProfile
method. The version is required to create the service record
containing the correct profile version.
|
|
Fallback to HFP 1.5 if defer setup is not supported since it is not
possible to proceed with codec negotiation.
|
|
Whenever a SCO connection is attempted, ensure that the SLC link is
already active between us and the same remote peer.
|
|
The number of paired devices is quite small, so the use of the hash
table for lookup seems unnecessary. The typical user will have no more
than 1-2 devices paired, maybe half a dozen in a less common case.
|
|
|
|
Modem object is created when the Device Proxy is added, and it is
paired. Another path is when the Device "Paired" property changes
to True.
|
|
|
|
Now that we have the support for sending the correct messages
to BlueZ, we are able to dynamically power up/down the HFP modem.
We add another property to the modem to be able to get the D-Bus
object path that represents the remote device.
|
|
This patch implements RequestDisconnection method of the Profile1
interface. This method gets called when the profile gets disconnected.
The profile implementation needs to cleanup the resources related to
the informed device.
|
|
This adds supports for sending the ConnectProfile() and
DisconnectProfile() messages for the org.bluez.Device1 interface.
|
|
This patch renames external profile registration functions replacing the
prefix from 'bluetooth_' to 'bt_' in order to follow the name convention
adopted for bluez5 functions.
|
|
This patch adds initial implementation of the D-Bus Profile1
interface and methods responsible for handling Bluetooth connections.
The HFP AG profile interface is registered as soon as a voice capable
modem is registered in oFono.
|
|
The hash table to track the devices is not necessary anymore since
dynamic modem registration on NewConnection was removed.
|
|
HFP modem will be registered when Proxy Added callback gets called
or when Pair is True. This patch removes the support for dynamic modem
registration when a new connection is notified and there isn't a modem
associated with the Bluetooth remote device.
BlueZ behaviour has been changed and a NewConnection is not notified
before the service discovery finishes.
|
|
Apart from g_io_channel_unix_new() not setting errno, it never
returns an NULL pointer on error, because in practice it only
calls g_new().
|
|
As BlueZ 5 introduced backwards incompatible API changes, and we want to
keep support for BlueZ 4 based HFP AG plugin for some time, we need to
separate HFP AG plugin which is based on BlueZ 4 from the one based on
BlueZ 5.
The hfp_ag.c plugin is renamed to hfp_ag_bluez4. This will make it easy
to add an HFP AG plugin for BlueZ 5.
|
|
When there are many devices around that support the HFP AG profile,
we may have a lot of modems that the user will never use.
|
|
This patch removes unnecessary GDBusProxy object access when property
changed is triggered. The property name and the argument iterator is
informed in the function callback.
|
|
This patch fix an unusual scenario, service_level_connection() fails if
GIOChannel or GAtChat memory allocation fails.
|
|
Rename this property to better indicate that it is the remote Address
being referred to.
|
|
This patch adds a copy of Bluetooth RFCOMM socket declaration.
|
|
Adds a copy of BlueZ bacmp() function.
|
|
Adds a copy of BlueZ ba2str() function.
|
|
This patch adds the initial SCO server socket handling. BtIO and BlueZ
functions should not be used, with the new Profile API the objetive is
to get rid of these dependencies.
|
|
Adds a copy of BlueZ bacpy() function.
|
|
Adds local copy of SCO Bluetooth sockets declarations, since the
objective to avoid including BlueZ library headers.
|
|
When receiving a NewConnection call from BlueZ, initiates the Service
Level Connection using the received file descriptor. The HFP modem
sub-components (devinfo, voicecall, netreg, handsfree and callvolume)
are created at this point.
|