OLD | NEW |
1 Bluetooth | 1 Bluetooth |
2 ========= | 2 ========= |
3 | 3 |
4 `device/bluetooth` abstracts | 4 `device/bluetooth` abstracts |
5 [Bluetooth Classic](https://en.wikipedia.org/wiki/Bluetooth) and | 5 [Bluetooth Classic](https://en.wikipedia.org/wiki/Bluetooth) and |
6 [Low Energy](https://en.wikipedia.org/wiki/Bluetooth_low_energy) features | 6 [Low Energy](https://en.wikipedia.org/wiki/Bluetooth_low_energy) features |
7 across multiple platforms. | 7 across multiple platforms. |
8 | 8 |
9 Classic and Low Energy based profiles differ substantially. Platform | 9 Classic and Low Energy based profiles differ substantially. Platform |
10 implementations may support only one or the other, even though several classes | 10 implementations may support only one or the other, even though several classes |
11 have interfaces for both, e.g. `BluetoothAdapter` & `BluetoothDevice`. | 11 have interfaces for both, e.g. `BluetoothAdapter` & `BluetoothDevice`. |
12 | 12 |
13 | | Classic | Low Energy | | 13 | | Classic | Low Energy | |
14 |----------|:-------:|:-----------:| | 14 |----------|:-------:|:-----------:| |
15 | Android | no | in progress | | 15 | Android | no | in progress | |
16 | ChromeOS | yes | yes | | 16 | ChromeOS | yes | yes | |
17 | Linux | yes | yes | | 17 | Linux | yes | yes | |
18 | Mac OSX | yes | in progress | | 18 | Mac OSX | yes | in progress | |
19 | Windows | some | in progress | | 19 | Windows | some | in progress | |
20 | 20 |
21 ChromeOS and Linux are supported via BlueZ, see `*_bluez` files. | 21 ChromeOS and Linux are supported via BlueZ, see `*_bluez` files. |
22 | 22 |
23 | 23 |
24 -------------------------------------------------------------------------------- | |
25 Maintainer History | 24 Maintainer History |
26 -------------------------------------------------------------------------------- | 25 -------------------------------------------------------------------------------- |
27 | 26 |
28 Initial implementation OWNERS were youngki@chromium.org, keybuk@chromium.org, | 27 Initial implementation OWNERS were youngki@chromium.org, keybuk@chromium.org, |
29 armansito@chromium.org, and rpaquay@chromium.org. They no longer contribute to | 28 armansito@chromium.org, and rpaquay@chromium.org. They no longer contribute to |
30 chromium fulltime. They were responsible for support for ChromeOS Bluetooth | 29 chromium fulltime. They were responsible for support for ChromeOS Bluetooth |
31 features and the Chrome Apps APIs: | 30 features and the Chrome Apps APIs: |
32 | 31 |
33 * [bluetooth](https://developer.chrome.com/apps/bluetooth) | 32 * [bluetooth](https://developer.chrome.com/apps/bluetooth) |
34 * [bluetoothLowEnergy](https://developer.chrome.com/apps/bluetoothLowEnergy) | 33 * [bluetoothLowEnergy](https://developer.chrome.com/apps/bluetoothLowEnergy) |
35 * [bluetoothSocket](https://developer.chrome.com/apps/bluetoothSocket) | 34 * [bluetoothSocket](https://developer.chrome.com/apps/bluetoothSocket) |
36 | 35 |
37 Active development in 2015 & 2016 is focused on enabling GATT features for: | 36 Active development in 2015 & 2016 is focused on enabling GATT features for: |
38 | 37 |
39 * [Web Bluetooth](https://crbug.com/419413) | 38 * [Web Bluetooth](https://crbug.com/419413) |
40 | 39 |
41 Known future work is tracked in the | 40 Known future work is tracked in the |
42 [Refactoring meta issue](https://crbug.com/580406). | 41 [Refactoring meta issue](https://crbug.com/580406). |
43 | 42 |
44 -------------------------------------------------------------------------------- | 43 |
45 Testing | 44 Testing |
46 -------------------------------------------------------------------------------- | 45 -------------------------------------------------------------------------------- |
47 | 46 |
48 Implementation of the Bluetooth component is tested via unittests. Client code | 47 Implementation of the Bluetooth component is tested via unittests. Client code |
49 uses Mock Bluetooth objects: | 48 uses Mock Bluetooth objects: |
50 | 49 |
51 | 50 |
52 ### Cross Platform Unit Tests | 51 ### Cross Platform Unit Tests |
53 | 52 |
54 New feature development uses cross platform unit tests. This reduces test code | 53 New feature development uses cross platform unit tests. This reduces test code |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 | 85 |
87 ### ChromeOS Blueooth Controller Tests | 86 ### ChromeOS Blueooth Controller Tests |
88 | 87 |
89 Bluetooth controller system tests generating radio signals are run and managed | 88 Bluetooth controller system tests generating radio signals are run and managed |
90 by the ChromeOS team. See: | 89 by the ChromeOS team. See: |
91 https://chromium.googlesource.com/chromiumos/third_party/autotest/+/master/serve
r/site_tests/ | 90 https://chromium.googlesource.com/chromiumos/third_party/autotest/+/master/serve
r/site_tests/ |
92 https://chromium.googlesource.com/chromiumos/third_party/autotest/+/master/serve
r/cros/bluetooth/ | 91 https://chromium.googlesource.com/chromiumos/third_party/autotest/+/master/serve
r/cros/bluetooth/ |
93 https://chromium.googlesource.com/chromiumos/third_party/autotest/+/master/clien
t/cros/bluetooth/ | 92 https://chromium.googlesource.com/chromiumos/third_party/autotest/+/master/clien
t/cros/bluetooth/ |
94 | 93 |
95 | 94 |
96 -------------------------------------------------------------------------------- | |
97 Android | 95 Android |
98 -------------------------------------------------------------------------------- | 96 -------------------------------------------------------------------------------- |
99 | 97 |
100 The android implementation requires crossing from C++ to Java using | 98 The android implementation requires crossing from C++ to Java using |
101 [__JNI__](https://www.chromium.org/developers/design-documents/android-jni). | 99 [__JNI__](https://www.chromium.org/developers/design-documents/android-jni). |
102 | 100 |
103 Object ownership is rooted in the C++ classes, starting with the Adapter, which | 101 Object ownership is rooted in the C++ classes, starting with the Adapter, which |
104 owns Devices, Services, etc. Java counter parts interface with the Android | 102 owns Devices, Services, etc. Java counter parts interface with the Android |
105 Bluetooth objects. E.g. | 103 Bluetooth objects. E.g. |
106 | 104 |
(...skipping 12 matching lines...) Expand all Loading... |
119 * `android/.../ChromeBluetoothDevice.java` uses: | 117 * `android/.../ChromeBluetoothDevice.java` uses: |
120 * `android/.../Wrappers.java`: `BluetoothDeviceWrapper` | 118 * `android/.../Wrappers.java`: `BluetoothDeviceWrapper` |
121 * Which under test is a `FakeBluetoothDevice` | 119 * Which under test is a `FakeBluetoothDevice` |
122 * `bluetooth_gatt_service_android.h` owns: | 120 * `bluetooth_gatt_service_android.h` owns: |
123 * `android/.../ChromeBluetoothService.java` uses: | 121 * `android/.../ChromeBluetoothService.java` uses: |
124 * `android/.../Wrappers.java`: `BluetoothServiceWrapper` | 122 * `android/.../Wrappers.java`: `BluetoothServiceWrapper` |
125 * Which under test is a `FakeBluetoothService` | 123 * Which under test is a `FakeBluetoothService` |
126 * ... and so on for characteristics and descriptors. | 124 * ... and so on for characteristics and descriptors. |
127 | 125 |
128 Fake objects are controlled by `bluetooth_test_android.cc`. | 126 Fake objects are controlled by `bluetooth_test_android.cc`. |
OLD | NEW |