OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef BluetoothError_h | 5 #ifndef BluetoothError_h |
6 #define BluetoothError_h | 6 #define BluetoothError_h |
7 | 7 |
8 #include "platform/heap/Handle.h" | 8 #include "platform/heap/Handle.h" |
9 #include "third_party/WebKit/public/platform/modules/bluetooth/web_bluetooth.moj
om-blink.h" | 9 #include "third_party/WebKit/public/platform/modules/bluetooth/web_bluetooth.moj
om-blink.h" |
10 #include "wtf/Allocator.h" | 10 #include "wtf/Allocator.h" |
11 | 11 |
12 namespace blink { | 12 namespace blink { |
13 | 13 |
| 14 // Used when generating DOMExceptions specific to each operation. |
| 15 // TODO(crbug.com/684445): Add DescriptorsRetrieval and GATTOperation. |
| 16 enum class BluetoothOperation { |
| 17 ServicesRetrieval, |
| 18 CharacteristicsRetrieval, |
| 19 }; |
| 20 |
14 // These error codes requires detailed error messages. | 21 // These error codes requires detailed error messages. |
15 enum class BluetoothErrorCode { | 22 enum class BluetoothErrorCode { |
16 InvalidService, | 23 InvalidService, |
17 InvalidCharacteristic, | 24 InvalidCharacteristic, |
18 InvalidDescriptor, | 25 InvalidDescriptor, |
19 ServiceNotFound, | 26 ServiceNotFound, |
20 CharacteristicNotFound, | 27 CharacteristicNotFound, |
21 DescriptorNotFound | 28 DescriptorNotFound |
22 }; | 29 }; |
23 | 30 |
24 class DOMException; | 31 class DOMException; |
25 | 32 |
26 // BluetoothError is used with CallbackPromiseAdapter to receive | 33 // BluetoothError is used with CallbackPromiseAdapter to receive |
27 // WebBluetoothResult responses. See CallbackPromiseAdapter class comments. | 34 // WebBluetoothResult responses. See CallbackPromiseAdapter class comments. |
28 class BluetoothError { | 35 class BluetoothError { |
29 STATIC_ONLY(BluetoothError); | 36 STATIC_ONLY(BluetoothError); |
30 | 37 |
31 public: | 38 public: |
| 39 static DOMException* createNotConnectedException(BluetoothOperation); |
32 static DOMException* createDOMException(BluetoothErrorCode, | 40 static DOMException* createDOMException(BluetoothErrorCode, |
33 const String& detailedMessage); | 41 const String& detailedMessage); |
34 | 42 |
35 static DOMException* createDOMException( | 43 static DOMException* createDOMException( |
36 mojom::blink::WebBluetoothResult error); | 44 mojom::blink::WebBluetoothResult error); |
37 }; | 45 }; |
38 | 46 |
39 } // namespace blink | 47 } // namespace blink |
40 | 48 |
41 #endif // BluetoothError_h | 49 #endif // BluetoothError_h |
OLD | NEW |