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<WebPassOwnPtr<WebVector<Web
USBDevice*>>, const WebUSBError&>; |
18 using WebUSBClientRequestDeviceCallbacks = WebCallbacks<WebPassOwnPtr<WebUSBDevi
ce>, const WebUSBError&>; | 18 using WebUSBClientRequestDeviceCallbacks = WebCallbacks<WebPassOwnPtr<WebUSBDevi
ce>, const WebUSBError&>; |
19 | 19 |
20 class WebUSBClient { | 20 class WebUSBClient { |
21 public: | 21 public: |
| 22 class Observer { |
| 23 public: |
| 24 virtual ~Observer() { } |
| 25 |
| 26 // Called when a device is connected to the system. |
| 27 virtual void onDeviceConnected(WebPassOwnPtr<WebUSBDevice>) = 0; |
| 28 |
| 29 // Called when a device is disconnected from the system. |
| 30 virtual void onDeviceDisconnected(WebPassOwnPtr<WebUSBDevice>) = 0; |
| 31 }; |
| 32 |
22 virtual ~WebUSBClient() { } | 33 virtual ~WebUSBClient() { } |
23 | 34 |
24 // Enumerates available devices. | 35 // Enumerates available devices. |
25 // Ownership of the WebUSBClientGetDevicesCallbacks is transferred to the cl
ient. | 36 // Ownership of the WebUSBClientGetDevicesCallbacks is transferred to the cl
ient. |
26 virtual void getDevices(WebUSBClientGetDevicesCallbacks*) = 0; | 37 virtual void getDevices(WebUSBClientGetDevicesCallbacks*) = 0; |
27 | 38 |
28 // Requests access to a device. | 39 // Requests access to a device. |
29 // Ownership of the WebUSBClientRequestDeviceCallbacks is transferred to the
client. | 40 // Ownership of the WebUSBClientRequestDeviceCallbacks is transferred to the
client. |
30 virtual void requestDevice(const WebUSBDeviceRequestOptions&, WebUSBClientRe
questDeviceCallbacks*) = 0; | 41 virtual void requestDevice(const WebUSBDeviceRequestOptions&, WebUSBClientRe
questDeviceCallbacks*) = 0; |
| 42 |
| 43 // Sets the observer of device changes through the WebUSBClient. |
| 44 virtual void setObserver(Observer*) { } |
31 }; | 45 }; |
32 | 46 |
33 } // namespace blink | 47 } // namespace blink |
34 | 48 |
35 #endif // WebUSBClient_h | 49 #endif // WebUSBClient_h |
OLD | NEW |