Commit Graph

56 Commits

Author SHA1 Message Date
Thomas Zimmermann
edfa94d68f Bug 1171017: Move classes from ipc/bluetooth to ipc/hal, r=shuang
The class |DaemonSocket| and its helpers implement a service-
neutral connection to a HAL daemon. This patch moves the code
to an appropriate directory and breaks up the code into smaller
pieces.
2015-06-15 14:44:03 +02:00
Thomas Zimmermann
c363a18fe3 Bug 1171017: Rename |BluetoothDaemonConnection| to |DaemonSocket|, r=shuang 2015-06-15 14:44:03 +02:00
Thomas Zimmermann
78b50fc946 Bug 1171017: Rename |BluetoothSocketPDU| to |DaemonSocketPDU|, r=shuang 2015-06-15 14:44:03 +02:00
Thomas Zimmermann
af7ac46125 Bug 1171017: Rename |BluetoothDaemonPDUConsumer| to |DaemonSocketIOConsumer|, r=shuang 2015-06-15 14:44:03 +02:00
Thomas Zimmermann
a8295132e7 Bug 1171017: Rename |BluetoothDaemonConnectionConsumer| to |DaemonSocketConsumer|, r=shuang 2015-06-15 14:44:03 +02:00
Jocelyn Liu
be77d8c065 Bug 1163499 - Part 5: Support GATT profile when using Bluetooth daemon. r=tzimmermann 2015-05-27 00:05:00 -04:00
Thomas Zimmermann
f54c30fee0 Bug 1167207: Remove |BluetoothDaemonChannel|, r=shuang
This patch integrates the functionality of |BluetoothDaemonChannel|
into |BluetoothDaemonConnection|. All users are adapted, the former
class is removed.
2015-05-26 18:29:02 +02:00
Thomas Zimmermann
aec4ceeb9f Bug 1166638: Use |ListenSocketConsumer| in |ListenSocket|, r=kmachulis, dlee, chucklee, shuang
This patch converts |ListenSocket| to forward events to an instance
of |ListenSocketConsumer|. All users are converted and the related
listener and consumer classes are removed.
2015-05-26 13:24:20 +02:00
Thomas Zimmermann
523f0a6208 Bug 1164417: Add |ConnectionOrientedSocket::PrepareAccept| for accepting socket connections, r=kmachulis
With this patch, stream and listening sockets handle the setup of
accepted sockets internally. Sub-classes of |StreamSocket| don't
have to overload StreamSocket's |GetIO| any longer.
2015-05-21 13:34:37 +02:00
Thomas Zimmermann
0bd48eef5c Bug 1164417: Store PDU consumer in |BluetoothDaemonConnection|, r=kmachulis 2015-05-21 13:34:37 +02:00
Thomas Zimmermann
07f4d250ef Bug 1164425: Cleanup interfaces of |ListenSocket|, r=kmachulis
This patch removes |ListenSocket::GetSocketAddr|, which is unused
and not thread-safe. The |Listen| methods now return error codes.
2015-05-20 10:50:43 +02:00
Thomas Zimmermann
c983ccdc82 Bug 1164425: Rename |SocketBase::CloseSocket| to |SocketBase::Close|, r=kmachulis 2015-05-20 10:50:43 +02:00
Carsten "Tomcat" Book
5504c0ac35 Backed out changeset 1e93024c9fec (bug 1164425) for bustage 2015-05-20 10:31:55 +02:00
Carsten "Tomcat" Book
9729509b11 Backed out changeset 17bd0777339a (bug 1164425) 2015-05-20 10:30:55 +02:00
Thomas Zimmermann
bc22aa14e9 Bug 1164425: Cleanup interfaces of |ListenSocket|, r=kmachulis
This patch removes |ListenSocket::GetSocketAddr|, which is unused
and not thread-safe. The |Listen| methods now return error codes.
2015-05-20 09:54:27 +02:00
Thomas Zimmermann
b7f2673e7e Bug 1164425: Rename |SocketBase::CloseSocket| to |SocketBase::Close|, r=kmachulis 2015-05-20 09:54:27 +02:00
Thomas Zimmermann
c27cf681f7 Bug 1161020: Implement new socket-connector interface for Bluetooth daemon socket, r=shuang
This patch moves |BluetoothDaemonSocketConnector| into its own file,
renames it to |BluetoothDaemonConnector| and implements the new socket-
connector interface.
2015-05-19 13:28:46 +02:00
Carsten "Tomcat" Book
35ddcbe0b8 Backed out 8 changesets (bug 1161020) for b2g ics emulator debug mochitest memory leaks on a CLOSED TREE
Backed out changeset 976e19eac8b5 (bug 1161020)
Backed out changeset 4f782be31f87 (bug 1161020)
Backed out changeset 384de663084c (bug 1161020)
Backed out changeset a8f42d85ce3f (bug 1161020)
Backed out changeset ac23206e80bd (bug 1161020)
Backed out changeset 34a20b05af6c (bug 1161020)
Backed out changeset 13753f9043f7 (bug 1161020)
Backed out changeset f90b8d3d6b70 (bug 1161020)
2015-05-18 15:01:27 +02:00
Thomas Zimmermann
7b70a8d873 Bug 1161020: Implement new socket-connector interface for Bluetooth daemon socket, r=shuang
This patch moves |BluetoothDaemonSocketConnector| into its own file,
renames it to |BluetoothDaemonConnector| and implements the new socket-
connector interface.
2015-05-18 11:28:30 +02:00
Neil Rashbrook
3ac6e8ce7a Bug 1155963 Only allow NS_LITERAL_CSTRING to be used on compile-time literals r=froydnj,ehsan 2015-05-16 09:07:10 +01:00
Thomas Zimmermann
ec3e297ae4 Bug 1161003: Don't send PDU when connection to Bluetooth daemon is closed, r=shuang
During restarts of the Bluetooth daemon, it can occur that Gecko tries
to send without having a connection to bluetoothd opened. This patch adds
a check to prevent this.
2015-05-06 10:00:02 +02:00
Wes Kocher
7201032df5 Backed out changeset ffad198d409b (bug 1161003) for b2g windows build bustage 2015-05-05 13:15:42 -07:00
Thomas Zimmermann
8d5b3b1912 Bug 1161003: Don't send PDU when connection to Bluetooth daemon is closed, r=shuang
During restarts of the Bluetooth daemon, it can occur that Gecko tries
to send without having a connection to bluetoothd opened. This patch adds
a check to prevent this.
2015-05-05 17:02:43 +02:00
Andrew McCreight
92010d3e4c Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Jocelyn Liu
95ad59bac2 Bug 1159685 - Fix BluetoothSspVariant argument passing for SspRequestNotification. r=shuang 2015-04-30 01:04:00 -04:00
Shawn Huang
ab2f389b25 Bug 1143925 - Restart bluetoothd daemon automatically for V1 API. r=tzimmermann 2015-04-30 05:13:00 -04:00
Thomas Zimmermann
5103859d2d Bug 1159709: Inherit |BluetoothDaemonConnection| from |DataSocket|, r=kmachulis
|BluetoothDaemonConnection| sends and receives data. With this patch
it inherits from |DataSocket|, which provides the respective abstract
interfaces.
2015-04-30 12:55:37 +02:00
Thomas Zimmermann
8e0cbf9589 Bug 1158818: Only store Bluetooth result runnable after command has been sent successfully, r=shuang
With the current code, the Bluetooth result runnable is saved for
receiving before a command has been sent successfully. If sending
fails afterwards, the saved result runnable will still sit in the
result queue, and interfere with later, successful commands.

With this patch, the result runnable is saved only if the sending
was successful.
2015-04-30 11:29:25 +02:00
Thomas Zimmermann
5c83daeba5 Bug 1153796: Share BluetoothInterface.{cpp,h} between Bluetooth v1 and v2, r=btian
With this patch, Bluetooth v1 and v2 share the same interfaces classes
for their backend code. Bluetooth v1 doesn't yet support GATT, so the
GATT interfaces are still not implemented.

The patch also fixes the GATT-specific classes to compile under recent GCC
versions 4.8 and later, which are used with Android L.

The patch also preserves the prefered backend for each version. Bluetooth
v1 defaults to 'bluetoothd,' v2 defaults to 'bluedroid.'
2015-04-15 11:46:33 +02:00
Thomas Zimmermann
6186527baa Bug 1153796: Unify variants of |BluetoothInterface::SspReply|, r=btian
Bluetooth use different types for the second argument of their variant
of |BluetoothInterface::SspReply|. This patch standardizes them on the
v2 version.
2015-04-15 11:46:33 +02:00
Carsten "Tomcat" Book
59df1710b1 Backed out changeset 3a16edeb9ed2 (bug 1153796) for bustage on a CLOSED TREE 2015-04-15 11:33:02 +02:00
Carsten "Tomcat" Book
11dd717bbf Backed out changeset a74d1c644c84 (bug 1153796) 2015-04-15 11:32:16 +02:00
Thomas Zimmermann
365ca67202 Bug 1153796: Share BluetoothInterface.{cpp,h} between Bluetooth v1 and v2, r=btian
With this patch, Bluetooth v1 and v2 share the same interfaces classes
for their backend code. Bluetooth v1 doesn't yet support GATT, so the
GATT interfaces are still not implemented.

The patch also fixes the GATT-specific classes to compile under recent GCC
versions 4.8 and later, which are used with Android L.

The patch also preserves the prefered backend for each version. Bluetooth
v1 defaults to 'bluetoothd,' v2 defaults to 'bluedroid.'
2015-04-15 11:04:43 +02:00
Thomas Zimmermann
23b6e22872 Bug 1153796: Unify variants of |BluetoothInterface::SspReply|, r=btian
Bluetooth use different types for the second argument of their variant
of |BluetoothInterface::SspReply|. This patch standardizes them on the
v2 version.
2015-04-15 11:04:43 +02:00
Shawn Huang
f29444c17b Bug 1152095 - Check mResultHandlerQ is empty before dispatching DispatchError. r=tzimmermann 2015-04-09 04:20:00 -04:00
Thomas Zimmermann
e4602a8801 Bug 1146355: Support Bluetooth v1 and v2 in backend interfaces, r=joliu
There are some minor differences between backends in Bluetooth v1 and
v2. Some of the types have been added, removed or renamed. This patch
prepares the HAL and daemon backend interfaces to support both variants.
2015-04-09 15:57:41 +02:00
Thomas Zimmermann
5ea70e2567 Bug 1146923: Pass SSP variant as enum instead of string, r=btian 2015-03-26 10:29:58 +01:00
Thomas Zimmermann
806f85a94a Bug 1146923: Rename |BluetoothSspPairingVariant| to |BluetoothSspVariant|, r=btian 2015-03-26 10:29:58 +01:00
Ryan VanderMeulen
d1cffd4446 Backed out 4 changesets (bug 1146923) for bustage.
Backed out changeset 926351238914 (bug 1146923)
Backed out changeset 7d8eb56f1e24 (bug 1146923)
Backed out changeset c5d4efed15e9 (bug 1146923)
Backed out changeset 045020b31842 (bug 1146923)

CLOSED TREE
2015-03-25 10:05:42 -04:00
Thomas Zimmermann
616e74fe33 Bug 1146923: Pass SSP variant as enum instead of string, r=btian 2015-03-25 10:38:00 +01:00
Thomas Zimmermann
5a8ee19cb3 Bug 1146923: Rename |BluetoothSspPairingVariant| to |BluetoothSspVariant|, r=btian 2015-03-25 10:38:00 +01:00
Ehsan Akhgari
ea41d8de48 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Thomas Zimmermann
82b8184812 Bug 1132229: Survive crashes of bluetoothd, r=shuang
With this patch, Gecko will handle crashes of bluetoothd by clearing its
internal state. Switching Bluetooth off and on restarts the daemon and
the Bluetooth sub-system.
2015-02-26 09:52:45 +01:00
Thomas Zimmermann
c6deb6b5e1 Bug 1132229: Handle I/O errors in Bluetooth's daemon backend, r=shuang
This patch adds error handling to all interface methods of Bluedroid's
daemon backend. If an error occures while sending a command to the daemon,
the methods dispatch an error.
2015-02-26 09:52:45 +01:00
Thomas Zimmermann
6b1d767708 Bug 1119746: Support random postfix for Bluetooth daemon socket name, r=btian
This patch adds support for a random postfix for bluetoothd's socket
name. The postfix is re-generated for every instance of the daemon.
This prevents name collisions between mutliple sessions and malicious
programs from taking over the connection easily.
2015-01-20 10:17:45 +08:00
Thomas Zimmermann
8704643009 Bug 1119746: Listen for socket connections when starting Bluetooth, r=btian
Currently, Gecko connects to a running instance of bluetoothd when
it starts the daemon backend. This contains a race condition between
the startup of the daemon and the startup of Gecko.

This patch changes the initialization and cleanup of Bluetooth's
daemon backend so that the Bluetooth daemon connects to Gecko. The
daemon process is now started as part of the initialization and
quits during shutdown. The steps are strictly ordered, so no race
condition exists.

The initialization and cleanup procedures should now be compatible
with BlueZ 5.
2015-01-20 10:17:40 +08:00
Bruce Sun
30788b05b5 Bug 1102703: (7/10) Porting bluetooth interface of bluez 5.26 (core) r=btian, f=tzimmermann 2015-01-09 13:38:15 +08:00
Bruce Sun
0dca72b917 Bug 1102703: (1/10) Extend internal interfaces to sync with android lollipop and bluez 5.26 (core) r=btian, f=tzimmermann 2015-01-09 13:33:53 +08:00
Thomas Zimmermann
8f940091bc Bug 1095488: Added AVRCP support for Bluetooth daemon backend, r=shuang 2015-01-07 11:32:06 +01:00
Thomas Zimmermann
abaa9b03bb Bug 1095487: Add Blueooth A2DP support when using daemon backend, r=shuang 2014-12-11 10:53:14 +01:00