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

Side by Side Diff: third_party/WebKit/Source/modules/bluetooth/BluetoothRemoteGATTService.h

Issue 2080623002: Revert "Remove OwnPtr from Blink." (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 BluetoothRemoteGATTService_h 5 #ifndef BluetoothRemoteGATTService_h
6 #define BluetoothRemoteGATTService_h 6 #define BluetoothRemoteGATTService_h
7 7
8 #include "bindings/core/v8/ScriptWrappable.h" 8 #include "bindings/core/v8/ScriptWrappable.h"
9 #include "bindings/modules/v8/StringOrUnsignedLong.h" 9 #include "bindings/modules/v8/StringOrUnsignedLong.h"
10 #include "platform/heap/Handle.h" 10 #include "platform/heap/Handle.h"
11 #include "public/platform/modules/bluetooth/WebBluetoothRemoteGATTService.h" 11 #include "public/platform/modules/bluetooth/WebBluetoothRemoteGATTService.h"
12 #include "public/platform/modules/bluetooth/web_bluetooth.mojom.h" 12 #include "public/platform/modules/bluetooth/web_bluetooth.mojom.h"
13 #include "wtf/OwnPtr.h"
14 #include "wtf/PassOwnPtr.h"
13 #include "wtf/text/WTFString.h" 15 #include "wtf/text/WTFString.h"
14 #include <memory>
15 16
16 namespace blink { 17 namespace blink {
17 18
18 class ScriptPromise; 19 class ScriptPromise;
19 class ScriptPromiseResolver; 20 class ScriptPromiseResolver;
20 class ScriptState; 21 class ScriptState;
21 22
22 // Represents a GATT Service within a Bluetooth Peripheral, a collection of 23 // Represents a GATT Service within a Bluetooth Peripheral, a collection of
23 // characteristics and relationships to other services that encapsulate the 24 // characteristics and relationships to other services that encapsulate the
24 // behavior of part of a device. 25 // behavior of part of a device.
25 // 26 //
26 // Callbacks providing WebBluetoothRemoteGATTService objects are handled by 27 // Callbacks providing WebBluetoothRemoteGATTService objects are handled by
27 // CallbackPromiseAdapter templatized with this class. See this class's 28 // CallbackPromiseAdapter templatized with this class. See this class's
28 // "Interface required by CallbackPromiseAdapter" section and the 29 // "Interface required by CallbackPromiseAdapter" section and the
29 // CallbackPromiseAdapter class comments. 30 // CallbackPromiseAdapter class comments.
30 class BluetoothRemoteGATTService final 31 class BluetoothRemoteGATTService final
31 : public GarbageCollectedFinalized<BluetoothRemoteGATTService> 32 : public GarbageCollectedFinalized<BluetoothRemoteGATTService>
32 , public ScriptWrappable { 33 , public ScriptWrappable {
33 DEFINE_WRAPPERTYPEINFO(); 34 DEFINE_WRAPPERTYPEINFO();
34 public: 35 public:
35 explicit BluetoothRemoteGATTService(std::unique_ptr<WebBluetoothRemoteGATTSe rvice>); 36 explicit BluetoothRemoteGATTService(PassOwnPtr<WebBluetoothRemoteGATTService >);
36 37
37 // Interface required by CallbackPromiseAdapter: 38 // Interface required by CallbackPromiseAdapter:
38 using WebType = std::unique_ptr<WebBluetoothRemoteGATTService>; 39 using WebType = OwnPtr<WebBluetoothRemoteGATTService>;
39 static BluetoothRemoteGATTService* take(ScriptPromiseResolver*, std::unique_ ptr<WebBluetoothRemoteGATTService>); 40 static BluetoothRemoteGATTService* take(ScriptPromiseResolver*, PassOwnPtr<W ebBluetoothRemoteGATTService>);
40 41
41 // Interface required by garbage collection. 42 // Interface required by garbage collection.
42 DEFINE_INLINE_TRACE() { } 43 DEFINE_INLINE_TRACE() { }
43 44
44 // IDL exposed interface: 45 // IDL exposed interface:
45 String uuid() { return m_webService->uuid; } 46 String uuid() { return m_webService->uuid; }
46 bool isPrimary() { return m_webService->isPrimary; } 47 bool isPrimary() { return m_webService->isPrimary; }
47 ScriptPromise getCharacteristic(ScriptState*, const StringOrUnsignedLong& ch aracteristic, ExceptionState&); 48 ScriptPromise getCharacteristic(ScriptState*, const StringOrUnsignedLong& ch aracteristic, ExceptionState&);
48 ScriptPromise getCharacteristics(ScriptState*, const StringOrUnsignedLong& c haracteristic, ExceptionState&); 49 ScriptPromise getCharacteristics(ScriptState*, const StringOrUnsignedLong& c haracteristic, ExceptionState&);
49 ScriptPromise getCharacteristics(ScriptState*, ExceptionState&); 50 ScriptPromise getCharacteristics(ScriptState*, ExceptionState&);
50 51
51 private: 52 private:
52 ScriptPromise getCharacteristicsImpl(ScriptState*, mojom::WebBluetoothGATTQu eryQuantity, String characteristicUUID = String()); 53 ScriptPromise getCharacteristicsImpl(ScriptState*, mojom::WebBluetoothGATTQu eryQuantity, String characteristicUUID = String());
53 54
54 std::unique_ptr<WebBluetoothRemoteGATTService> m_webService; 55 OwnPtr<WebBluetoothRemoteGATTService> m_webService;
55 }; 56 };
56 57
57 } // namespace blink 58 } // namespace blink
58 59
59 #endif // BluetoothRemoteGATTService_h 60 #endif // BluetoothRemoteGATTService_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698