OLD | NEW |
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 WebUSBClient_h | 5 #ifndef WebUSBClient_h |
6 #define WebUSBClient_h | 6 #define WebUSBClient_h |
7 | 7 |
8 #include "public/platform/WebCallbacks.h" | 8 #include "public/platform/WebCallbacks.h" |
9 #include "public/platform/WebVector.h" | 9 #include "public/platform/WebVector.h" |
10 | 10 |
11 namespace blink { | 11 namespace blink { |
12 | 12 |
13 class WebUSBDevice; | 13 class WebUSBDevice; |
14 struct WebUSBDeviceRequestOptions; | 14 struct WebUSBDeviceRequestOptions; |
15 struct WebUSBError; | 15 struct WebUSBError; |
16 | 16 |
17 using WebUSBClientGetDevicesCallbacks = WebCallbacks<WebPassOwnPtr<WebVector<Web
USBDevice*>>, const WebUSBError&>; | 17 using WebUSBClientGetDevicesCallbacks = WebCallbacks<std::unique_ptr<WebVector<W
ebUSBDevice*>>, const WebUSBError&>; |
18 using WebUSBClientRequestDeviceCallbacks = WebCallbacks<WebPassOwnPtr<WebUSBDevi
ce>, const WebUSBError&>; | 18 using WebUSBClientRequestDeviceCallbacks = WebCallbacks<std::unique_ptr<WebUSBDe
vice>, const WebUSBError&>; |
19 | 19 |
20 class WebUSBClient { | 20 class WebUSBClient { |
21 public: | 21 public: |
22 class Observer { | 22 class Observer { |
23 public: | 23 public: |
24 virtual ~Observer() { } | 24 virtual ~Observer() { } |
25 | 25 |
26 // Called when a device is connected to the system. | 26 // Called when a device is connected to the system. |
27 virtual void onDeviceConnected(WebPassOwnPtr<WebUSBDevice>) = 0; | 27 virtual void onDeviceConnected(std::unique_ptr<WebUSBDevice>) = 0; |
28 | 28 |
29 // Called when a device is disconnected from the system. | 29 // Called when a device is disconnected from the system. |
30 virtual void onDeviceDisconnected(WebPassOwnPtr<WebUSBDevice>) = 0; | 30 virtual void onDeviceDisconnected(std::unique_ptr<WebUSBDevice>) = 0; |
31 }; | 31 }; |
32 | 32 |
33 virtual ~WebUSBClient() { } | 33 virtual ~WebUSBClient() { } |
34 | 34 |
35 // Enumerates available devices. | 35 // Enumerates available devices. |
36 // Ownership of the WebUSBClientGetDevicesCallbacks is transferred to the cl
ient. | 36 // Ownership of the WebUSBClientGetDevicesCallbacks is transferred to the cl
ient. |
37 virtual void getDevices(WebUSBClientGetDevicesCallbacks*) = 0; | 37 virtual void getDevices(WebUSBClientGetDevicesCallbacks*) = 0; |
38 | 38 |
39 // Requests access to a device. | 39 // Requests access to a device. |
40 // Ownership of the WebUSBClientRequestDeviceCallbacks is transferred to the
client. | 40 // Ownership of the WebUSBClientRequestDeviceCallbacks is transferred to the
client. |
41 virtual void requestDevice(const WebUSBDeviceRequestOptions&, WebUSBClientRe
questDeviceCallbacks*) = 0; | 41 virtual void requestDevice(const WebUSBDeviceRequestOptions&, WebUSBClientRe
questDeviceCallbacks*) = 0; |
42 | 42 |
43 // Adds an observer of device changes to the WebUSBClient. | 43 // Adds an observer of device changes to the WebUSBClient. |
44 virtual void addObserver(Observer*) = 0; | 44 virtual void addObserver(Observer*) = 0; |
45 | 45 |
46 // Removes an observer of device changes from the WebUSBClient. | 46 // Removes an observer of device changes from the WebUSBClient. |
47 virtual void removeObserver(Observer*) = 0; | 47 virtual void removeObserver(Observer*) = 0; |
48 }; | 48 }; |
49 | 49 |
50 } // namespace blink | 50 } // namespace blink |
51 | 51 |
52 #endif // WebUSBClient_h | 52 #endif // WebUSBClient_h |
OLD | NEW |