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
3 // found in the LICENSE file.
10 // Opening the device succeeded.
13 // The device could not be opened because the request GUID is unknown.
16 // The operating system denied access to the device.
30 bool has_subclass_code;
33 bool has_protocol_code;
37 struct EnumerationOptions {
38 array<DeviceFilter> filters;
41 interface DeviceManager {
42 // Retrieves information about all devices available to the DeviceManager
44 GetDevices(EnumerationOptions options) => (array<DeviceInfo> results);
46 // Attempts to open a device given its GUID.
47 OpenDevice(string guid, Device& device_request) => (OpenDeviceError error);