Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bluetooth backends in Firefox OS v3

15 views
Skip to first unread message

Thomas Zimmermann

unread,
Feb 11, 2015, 5:24:35 AM2/11/15
to dev-bl...@lists.mozilla.org
Hi,

I just want to send out some plans that I have for Bluetooth's back-end
code in v3. The current back-end code is a mixture of different APIs for
supporting BlueZ, Bluedroid and bluetoothd; and I feel that BlueZ will
hold us back soon. I want to unify and clean up all this code.

1) While BlueZ code is aging quickly, I don't want to remove it. That
would leave older devices without any Bluetooth support. I have been
working on bug 1088574 [1] for implementing BlueZ support behind Gecko's
interface for Bluedroid and bluetoothd (the code in
BluetoothInterface.{cpp,h}). It's far from being finished, but it can
switch on BlueZ and discover devices. Pairing is next on my list. I want
to offer basic APIs, OPP and HFP. I don't own A2DP devices, so
supporting this will be harder. QA will be needed for this code as well.

2) After the new BlueZ code landed, I intend to remove the old BlueZ
code completely. A quick check with 'sloccount' shows that this would
remove ~22% of obsolete code. The new BlueZ code will run with service
and profile managers from the bluedroid/ directory.

3) At this point, service classes and profile managers will be located
in the bluedroid/ directory. So we can merge them into the generic code,
which should make the overall code base easier to understand and maintain.

4) Finally, I want to go over the back-end interfaces, for more
optimizations, cleanups, features, etc.

Please share your comments, concerns, ideas about these plans.

Best regards
Thomas
0 new messages