summaryrefslogtreecommitdiffstats
path: root/device/core/device_client.h
diff options
context:
space:
mode:
Diffstat (limited to 'device/core/device_client.h')
-rw-r--r--device/core/device_client.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/device/core/device_client.h b/device/core/device_client.h
index b4a9934..00fa179 100644
--- a/device/core/device_client.h
+++ b/device/core/device_client.h
@@ -6,12 +6,17 @@
#define DEVICE_CORE_DEVICE_CLIENT_H_
#include "base/macros.h"
+#include "third_party/mojo/src/mojo/public/cpp/bindings/interface_request.h"
namespace device {
class HidService;
class UsbService;
+namespace usb {
+class DeviceManager;
+}
+
// Interface used by consumers of //device APIs to get pointers to the service
// singletons appropriate for a given embedding application. For an example see
// //chrome/browser/chrome_device_client.h.
@@ -21,7 +26,7 @@ class DeviceClient {
DeviceClient();
// Destruction clears the single instance.
- ~DeviceClient();
+ virtual ~DeviceClient();
// Returns the single instance of |this|.
static DeviceClient* Get();
@@ -29,6 +34,11 @@ class DeviceClient {
// Returns the UsbService instance for this embedder.
virtual UsbService* GetUsbService();
+ // Connects a USB DeviceManager client to a concrete implementation. If
+ // no such implementation is available the request is dropped.
+ virtual void ConnectToUSBDeviceManager(
+ mojo::InterfaceRequest<usb::DeviceManager> request);
+
// Returns the HidService instance for this embedder.
virtual HidService* GetHidService();