Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Side by Side Diff: device/bluetooth/README.md

Issue 2757463002: bluetooth: Documentation of mojo interfaces (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | device/bluetooth/public/interfaces/README.md » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 Bluetooth 1 # Bluetooth
2 =========
3 2
4 `device/bluetooth` abstracts 3 `device/bluetooth` abstracts
5 [Bluetooth Classic](https://en.wikipedia.org/wiki/Bluetooth) and 4 [Bluetooth Classic](https://en.wikipedia.org/wiki/Bluetooth) and
6 [Low Energy](https://en.wikipedia.org/wiki/Bluetooth_low_energy) features 5 [Low Energy](https://en.wikipedia.org/wiki/Bluetooth_low_energy) features
7 across multiple platforms. 6 across multiple platforms.
8 7
9 Classic and Low Energy based profiles differ substantially. Platform 8 Classic and Low Energy based profiles differ substantially. Platform
10 implementations may support only one or the other, even though several classes 9 implementations may support only one or the other, even though several classes
11 have interfaces for both, e.g. `BluetoothAdapter` & `BluetoothDevice`. 10 have interfaces for both, e.g. `BluetoothAdapter` & `BluetoothDevice`.
12 11
13 | | Classic | Low Energy | 12 | | Classic | Low Energy |
14 |-----------|:-------:|:-----------:| 13 |-----------|:-------:|:-----------:|
15 | Android | no | yes | 14 | Android | no | yes |
16 | Chrome OS | yes | yes | 15 | Chrome OS | yes | yes |
17 | Linux | yes | yes | 16 | Linux | yes | yes |
18 | Mac | yes | yes | 17 | Mac | yes | yes |
19 | Windows | some | nearly | 18 | Windows | some | nearly |
20 19
21 Chrome OS and Linux are supported via BlueZ, see `*_bluez` files. 20 Chrome OS and Linux are supported via BlueZ, see `*_bluez` files.
22 21
22 [Mojo](https://www.chromium.org/developers/design-documents/mojo)
23 interfaces in [public/interfaces](public/interfaces) have been started
24 but are *not* ready for production use.
23 25
24 Maintainer History 26
25 -------------------------------------------------------------------------------- 27 ## Maintainer History
26 28
27 Initial implementation OWNERS were youngki@chromium.org, keybuk@chromium.org, 29 Initial implementation OWNERS were youngki@chromium.org, keybuk@chromium.org,
28 armansito@chromium.org, and rpaquay@chromium.org. They no longer contribute to 30 armansito@chromium.org, and rpaquay@chromium.org. They no longer contribute to
29 chromium fulltime. They were responsible for support for Chrome OS Bluetooth 31 chromium fulltime. They were responsible for support for Chrome OS Bluetooth
30 features and the Chrome Apps APIs: 32 features and the Chrome Apps APIs:
31 33
32 * [chrome.bluetooth](https://developer.chrome.com/apps/bluetooth) 34 * [chrome.bluetooth](https://developer.chrome.com/apps/bluetooth)
33 * [chrome.bluetoothLowEnergy](https://developer.chrome.com/apps/bluetoothLowEner gy) 35 * [chrome.bluetoothLowEnergy](https://developer.chrome.com/apps/bluetoothLowEner gy)
34 * [chrome.bluetoothSocket](https://developer.chrome.com/apps/bluetoothSocket) 36 * [chrome.bluetoothSocket](https://developer.chrome.com/apps/bluetoothSocket)
35 37
36 Active development in 2015 & 2016 is focused on enabling GATT features for: 38 Active development in 2015 & 2016 is focused on enabling GATT features for:
37 39
38 * [Web Bluetooth](https://crbug.com/419413) 40 * [Web Bluetooth](https://crbug.com/419413)
39 * Peripheral mode for Chrome OS. 41 * Peripheral mode for Chrome OS.
40 42
41 Known future work is tracked in the 43 Known future work is tracked in the
42 [Refactoring meta issue](https://crbug.com/580406). 44 [Refactoring meta issue](https://crbug.com/580406).
43 45
44 46
45 Testing 47 ## Testing
46 --------------------------------------------------------------------------------
47 48
48 Implementation of the Bluetooth component is tested via unittests. Client code 49 Implementation of the Bluetooth component is tested via unittests. Client code
49 uses Mock Bluetooth objects: 50 uses Mock Bluetooth objects:
50 51
51 52
52 ### Cross Platform Unit Tests 53 ### Cross Platform Unit Tests
53 54
54 New feature development uses cross platform unit tests. This reduces test code 55 New feature development uses cross platform unit tests. This reduces test code
55 redundancy and produces consistency across all implementations. 56 redundancy and produces consistency across all implementations.
56 57
(...skipping 29 matching lines...) Expand all
86 87
87 ### Chrome OS Blueooth Controller Tests 88 ### Chrome OS Blueooth Controller Tests
88 89
89 Bluetooth controller system tests generating radio signals are run and managed 90 Bluetooth controller system tests generating radio signals are run and managed
90 by the Chrome OS team. See: 91 by the Chrome OS team. See:
91 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/site_tests/
92 https://chromium.googlesource.com/chromiumos/third_party/autotest/+/master/serve r/cros/bluetooth/ 93 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/ 94 https://chromium.googlesource.com/chromiumos/third_party/autotest/+/master/clien t/cros/bluetooth/
94 95
95 96
96 Android 97 ## Android
97 --------------------------------------------------------------------------------
98 98
99 The android implementation requires crossing from C++ to Java using 99 The android implementation requires crossing from C++ to Java using
100 [__JNI__](https://www.chromium.org/developers/design-documents/android-jni). 100 [__JNI__](https://www.chromium.org/developers/design-documents/android-jni).
101 101
102 Object ownership is rooted in the C++ classes, starting with the Adapter, which 102 Object ownership is rooted in the C++ classes, starting with the Adapter, which
103 owns Devices, Services, etc. Java counter parts interface with the Android 103 owns Devices, Services, etc. Java counter parts interface with the Android
104 Bluetooth objects. E.g. 104 Bluetooth objects. E.g.
105 105
106 For testing, the Android objects are __wrapped__ in: 106 For testing, the Android objects are __wrapped__ in:
107 `android/java/src/org/chromium/device/bluetooth/Wrappers.java`. <br> 107 `android/java/src/org/chromium/device/bluetooth/Wrappers.java`. <br>
(...skipping 15 matching lines...) Expand all
123 * `android/.../Wrappers.java`: `BluetoothServiceWrapper` 123 * `android/.../Wrappers.java`: `BluetoothServiceWrapper`
124 * Which under test is a `FakeBluetoothService` 124 * Which under test is a `FakeBluetoothService`
125 * ... and so on for characteristics and descriptors. 125 * ... and so on for characteristics and descriptors.
126 126
127 Fake objects are controlled by `bluetooth_test_android.cc`. 127 Fake objects are controlled by `bluetooth_test_android.cc`.
128 128
129 See also: [Class Diagram of Web Bluetooth through Bluetooth Android][Class] 129 See also: [Class Diagram of Web Bluetooth through Bluetooth Android][Class]
130 130
131 [Class]: https://sites.google.com/a/chromium.org/dev/developers/design-documents /bluetooth-design-docs/web-bluetooth-through-bluetooth-android-class-diagram 131 [Class]: https://sites.google.com/a/chromium.org/dev/developers/design-documents /bluetooth-design-docs/web-bluetooth-through-bluetooth-android-class-diagram
132 132
133 Design Documents 133
134 -------------------------------------------------------------------------------- 134 ## Design Documents
135 135
136 * [Bluetooth Notifications](https://docs.google.com/document/d/1guBtAnQUP8ZoZre4 VQGrjR5uX0ZYxfK-lwKNeqY0-z4/edit?usp=sharing) 2016-08-26 136 * [Bluetooth Notifications](https://docs.google.com/document/d/1guBtAnQUP8ZoZre4 VQGrjR5uX0ZYxfK-lwKNeqY0-z4/edit?usp=sharing) 2016-08-26
137 * Web Bluetooth through Android implementation details, class diagram and 137 * Web Bluetooth through Android implementation details, class diagram and
138 call flow. 138 call flow.
OLDNEW
« no previous file with comments | « no previous file | device/bluetooth/public/interfaces/README.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698