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

Side by Side Diff: Source/modules/bluetooth/BluetoothGATTService.h

Issue 1148283009: bluetooth: Remove deep copying of structs by using OwnPtr. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@bluetooth-get-primary-service-implementation
Patch Set: Created 5 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 BluetoothGATTService_h 5 #ifndef BluetoothGATTService_h
6 #define BluetoothGATTService_h 6 #define BluetoothGATTService_h
7 7
8 #include "bindings/core/v8/ScriptWrappable.h" 8 #include "bindings/core/v8/ScriptWrappable.h"
9 #include "platform/heap/Handle.h" 9 #include "platform/heap/Handle.h"
10 #include "public/platform/modules/bluetooth/WebBluetoothGATTService.h" 10 #include "public/platform/modules/bluetooth/WebBluetoothGATTService.h"
11 #include "wtf/text/WTFString.h" 11 #include "wtf/text/WTFString.h"
12 12
13 namespace blink { 13 namespace blink {
14 14
15 class ScriptPromiseResolver; 15 class ScriptPromiseResolver;
16 16
17 // Represents a GATT Service within a Bluetooth Peripheral, a collection of 17 // Represents a GATT Service within a Bluetooth Peripheral, a collection of
18 // characteristics and relationships to other services that encapsulate the 18 // characteristics and relationships to other services that encapsulate the
19 // behavior of part of a device. 19 // behavior of part of a device.
20 // 20 //
21 // Callbacks providing WebBluetoothGATTService objects are handled by 21 // Callbacks providing WebBluetoothGATTService objects are handled by
22 // CallbackPromiseAdapter templatized with this class. See this class's 22 // CallbackPromiseAdapter templatized with this class. See this class's
23 // "Interface required by CallbackPromiseAdapter" section and the 23 // "Interface required by CallbackPromiseAdapter" section and the
24 // CallbackPromiseAdapter class comments. 24 // CallbackPromiseAdapter class comments.
25 class BluetoothGATTService final 25 class BluetoothGATTService final
26 : public GarbageCollectedFinalized<BluetoothGATTService> 26 : public GarbageCollectedFinalized<BluetoothGATTService>
27 , public ScriptWrappable { 27 , public ScriptWrappable {
28 DEFINE_WRAPPERTYPEINFO(); 28 DEFINE_WRAPPERTYPEINFO();
29 public: 29 public:
30 explicit BluetoothGATTService(const WebBluetoothGATTService&); 30 explicit BluetoothGATTService(PassOwnPtr<WebBluetoothGATTService>);
31 31
32 // Interface required by CallbackPromiseAdapter: 32 // Interface required by CallbackPromiseAdapter:
33 typedef WebBluetoothGATTService WebType; 33 typedef WebBluetoothGATTService WebType;
34 static BluetoothGATTService* take(ScriptPromiseResolver*, WebBluetoothGATTSe rvice*); 34 static BluetoothGATTService* take(ScriptPromiseResolver*, WebBluetoothGATTSe rvice*);
35 static void dispose(WebBluetoothGATTService*); 35 static void dispose(WebBluetoothGATTService*);
36 36
37 // Interface required by garbage collection. 37 // Interface required by garbage collection.
38 DEFINE_INLINE_TRACE() { } 38 DEFINE_INLINE_TRACE() { }
39 39
40 // IDL exposed interface: 40 // IDL exposed interface:
41 String uuid() { return m_webService.uuid; } 41 String uuid() { return m_webService->uuid; }
42 bool isPrimary() { return m_webService.isPrimary; } 42 bool isPrimary() { return m_webService->isPrimary; }
43 43
44 private: 44 private:
45 WebBluetoothGATTService m_webService; 45 OwnPtr<WebBluetoothGATTService> m_webService;
46 }; 46 };
47 47
48 } // namespace blink 48 } // namespace blink
49 49
50 #endif // BluetoothGATTService_h 50 #endif // BluetoothGATTService_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698