Commit Graph

1144 Commits

Author SHA1 Message Date
Vinicius Costa Gomes 48cb2e5249 bluez5: Unify bt_register_profile_* into a single function
It was a cause of confusion for little gain to have separate
functions for registering profiles with extra information, for
example "role" and "features". We remove those helper functions
in favor of a single one with more parameters, "role" and
"feature" when NULL, will be ignored.
2013-04-25 03:38:11 -05:00
Paulo Borges 7b56ca2730 hfp_ag_bluez5: Implement RequestDisconnection()
When a RequestDisconnect() is received, the socket must be closed.
This way, the related emulator will be freed.
2013-04-22 03:55:21 -05:00
Paulo Borges 9332299bb7 hfp_ag_bluez5: Add watch for G_IO_HUP when connect
A watch to G_IO_HUP is added to remove the file descriptor when the
emulator is automatically disconnected when its GAtServer closes.

We use a dupped file descriptor because the events aren't delivered to
the file descriptor who originated them.
2013-04-22 03:54:24 -05:00
Paulo Borges d062d485d6 hfp_ag_bluez5: Create a hash to store connections
We need to store active connections so we can disconnect them at
RequestDisconnect().

When we remove a connection from the hash, we also close it.
2013-04-22 03:53:42 -05:00
Paulo Borges fc7de0f6e1 hfp_ag_bluez5: Remove unused includes 2013-04-18 08:43:25 -05:00
Paulo Borges 4245df6200 hfp_ag_bluez5: Include hfp.h 2013-04-18 08:42:44 -05:00
Paulo Borges f1e29338ba phonesim: Include hfp.h 2013-04-18 08:42:28 -05:00
Vinicius Costa Gomes 456b8c9723 hfp_hf_bluez5: UUIDs can change after Pairing
For example, in the case of a remote-initiated pairing, the device may
be created and Paired first, then the UUID array is emitted later.
2013-04-18 08:37:17 -05:00
Vinicius Costa Gomes 4e7f0690e9 hfp_hf_bluez5: Watch for changes in the selected codec
This patch adds a function to monitor when the AG sends a new codec
before establishing the SCO connection.
2013-04-15 07:00:39 -05:00
Denis Kenzior 4610d3dad2 hfp_hf_bluez5: Include hfp.h 2013-04-09 14:33:41 -05:00
Denis Kenzior 3715103654 hfp_hf_bluez5: Remove redundant parentheses 2013-04-09 14:33:41 -05:00
Vinicius Costa Gomes 3697794f9e hfp_hf_bluez5: Add audio card .connect() for HFP 1.6 2013-04-09 14:33:41 -05:00
Vinicius Costa Gomes a36ffa872a hfp_hf_bluez5: Use 1.6 card driver 2013-04-05 12:25:10 -05:00
Claudio Takahasi dd24a39d2f hfp_hf_bluez5: Add extracting version
This patch parses and reads the profile "Version" that comes in the fd
dictionary of the NewConnection method. "Version" is input for Audio Card
registration.
2013-04-05 12:14:00 -05:00
Forest Bond 692e59f108 huawei: Use AlwaysOnline for CDMA modems 2013-04-01 21:42:44 -05:00
Denis Kenzior 2f50d25ab5 hfp_hf_bluez5: Make sure to call the callback 2013-03-28 09:30:45 -05:00
Vinicius Costa Gomes 759cf25614 hfp_hf_bluez5: Add a card driver for HFP 1.6
This is just the skeleton of a Handsfree Audio Card for the HF side of
HFP 1.6.
2013-03-28 09:29:50 -05:00
Denis Kenzior 93ac1669a0 sim900: Fix disable cleanup procedure 2013-03-26 10:53:41 -05:00
Denis Kenzior 32cece7b09 sim900: Fix compile error
make --no-print-directory all-am
  CC     plugins/sim900.o
  cc1: warnings being treated as errors
  plugins/sim900.c: In function ‘shutdown_device’:
  plugins/sim900.c:180:9: error: unused variable ‘fd’
  make[1]: *** [plugins/sim900.o] Error 1
  make: *** [all] Error 2
2013-03-26 10:36:25 -05:00
Denis Kenzior 548611e939 sim900: Remove unneeded goto / label 2013-03-26 10:35:59 -05:00
Denis Kenzior b4518caa50 sim900: Properly clean up device IOChannel on error 2013-03-26 10:34:09 -05:00
Renat Zaripov 2d09257855 sim900: Add multiplexer support
Also add gprs and call-volume support.
2013-03-26 10:29:08 -05:00
Denis Kenzior d8a9bf776b sim900: Fix leak of options hash table 2013-03-26 10:21:14 -05:00
Denis Kenzior 2864624c56 hfp_ag_bluez5: Fix sanity check
We should be checking that modems != NULL, not modems->data.  This is
because the list can be empty and we would crash.
2013-03-21 10:19:00 -05:00
Denis Kenzior 823215ff66 dun_gw_bluez5: Fix sanity check
We should be checking that modems != NULL, not modems->data.  This is
because the list can be empty and we would crash.
2013-03-21 10:18:11 -05:00
Denis Kenzior 439712a937 dun_gw_bluez5: Fix copy-paste error 2013-03-21 10:15:16 -05:00
Frédéric Danis 770cb38352 dun_gw: Add BlueZ 5 version
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.
2013-03-21 10:12:42 -05:00
Frédéric Danis 8a1bd0d657 bluetooth: Rename DUN GW plugin
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.
2013-03-21 10:08:41 -05:00
Denis Kenzior afb4470558 hfp_hf_bluez5: Set remote and local information 2013-03-18 13:57:30 -05:00
Denis Kenzior 0f973d7150 hfp_hf_bluez5: Update to the new API 2013-03-18 13:42:46 -05:00
Claudio Takahasi b64357f690 hfp_hf_bluez5: Remove duplicated include 2013-03-12 13:03:42 -05:00
Claudio Takahasi e51f734881 hfp_hf_bluez5: Remove SCO handling
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.
2013-03-04 16:16:24 -06:00
Claudio Takahasi 3b8d84d19d hfp_hf_bluez5: Use new bluetooth.h header 2013-03-04 16:13:31 -06:00
Claudio Takahasi 3373fae662 bluez5: Remove Bluetooth related utilities 2013-03-04 16:13:18 -06:00
Paulo Borges 08eea76ea8 bluez5: Add bt_register_profile_with_role
This function allows to specify which role is registering when the
profile does not have specific UUIDs for each role.
2013-03-04 12:04:54 -06:00
Paulo Borges 80212a3db2 bluez5: Move ref / unref handsfree audio
This commit moves the ref / unref to hfp_hf_bluez5 to make
bluez5 more generic and reusable.
2013-03-01 13:22:35 -06:00
Claudio Takahasi cf6137c187 hfp_hf_bluez5: Remove Card on RequestDisconnection
For local initiated disconnection the GAtChat disconnect callback is not
called. For this case, Audio Card remove function needs to be called.
2013-02-28 10:11:05 -06:00
Claudio Takahasi bff9432007 hfp_hf_bluez5: Remove Card when modem is disabled 2013-02-28 10:10:54 -06:00
Claudio Takahasi 134b237344 hfp_hf_bluez5: Remove Card if SLC is disconnected
This patch removes previous registered Audio Card when the remote
Bluetooth device triggers the service level disconnection.
2013-02-28 10:10:41 -06:00
Claudio Takahasi 1ee6c6ea09 hfp_hf_bluez5: Remove Card when SLC fails
This patch removes the previously created Audio Card if the service
level negotiation fails.
2013-02-28 10:10:30 -06:00
Claudio Takahasi fb9b54bc2c hfp_hf_bluez5: Add local address to Audio Card 2013-02-28 10:10:13 -06:00
Claudio Takahasi 4ef4d620e4 hfp_hf_bluez5: Add registering Audio Card
This patch registers the Handsfree Audio Card when the service level
connection is established.
2013-02-28 10:09:33 -06:00
Patrik Flykt 71551c98a9 bluez4: Increase Bluez 4 D-Bus timeouts to 60 seconds
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.
2013-02-26 14:15:44 -06:00
Denis Kenzior 2f8b9ab50c bluez5: ref / unref handsfree audio 2013-02-21 08:30:03 -06:00
Claudio Takahasi 28603a98ce hfp_ag_bluez5: Send HFP version when registering 2013-02-20 21:39:06 -06:00
Claudio Takahasi f765427b22 hfp_hf_bluez5: Send HFP version when registering 2013-02-20 21:36:49 -06:00
Claudio Takahasi 6672f41fd6 bluez5: Add profile version argument
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.
2013-02-20 21:35:44 -06:00
Claudio Takahasi 8a1cd911d8 hfp_hf_bluez5: Add local HFP version tracking
Fallback to HFP 1.5 if defer setup is not supported since it is not
possible to proceed with codec negotiation.
2013-02-20 21:31:04 -06:00
Denis Kenzior 7ba9521f10 hfp_hf_bluez5: Ensure active SLC for SCO links
Whenever a SCO connection is attempted, ensure that the SLC link is
already active between us and the same remote peer.
2013-02-14 08:47:10 -06:00
Denis Kenzior 83b43c8abd hfp_hf_bluez5: Remove use of hash table
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.
2013-02-14 08:47:10 -06:00