mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-12-01 01:36:09 +03:00
53 lines
1.3 KiB
Plaintext
53 lines
1.3 KiB
Plaintext
// Copyright 2015 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
module device.mojom;
|
|
|
|
import "device/usb/public/interfaces/device.mojom";
|
|
import "mojo/common/string16.mojom";
|
|
|
|
struct UsbDeviceFilter {
|
|
bool has_vendor_id;
|
|
uint16 vendor_id;
|
|
|
|
bool has_product_id;
|
|
uint16 product_id;
|
|
|
|
bool has_class_code;
|
|
uint8 class_code;
|
|
|
|
bool has_subclass_code;
|
|
uint8 subclass_code;
|
|
|
|
bool has_protocol_code;
|
|
uint8 protocol_code;
|
|
|
|
mojo.common.mojom.String16? serial_number;
|
|
};
|
|
|
|
struct UsbEnumerationOptions {
|
|
array<UsbDeviceFilter> filters;
|
|
};
|
|
|
|
interface UsbDeviceManager {
|
|
// Retrieves information about all devices available to the DeviceManager
|
|
// implementation.
|
|
GetDevices(UsbEnumerationOptions? options) => (array<UsbDeviceInfo> results);
|
|
|
|
// Requests a device by guid.
|
|
GetDevice(string guid, UsbDevice& device_request);
|
|
|
|
// Sets the client for this DeviceManager service. The service will notify its
|
|
// client of device events such as connection and disconnection.
|
|
SetClient(UsbDeviceManagerClient client);
|
|
};
|
|
|
|
interface UsbDeviceManagerClient {
|
|
// Called when a device is connected to the host.
|
|
OnDeviceAdded(UsbDeviceInfo device_info);
|
|
|
|
// Called when a device is disconnected from the host.
|
|
OnDeviceRemoved(UsbDeviceInfo device_info);
|
|
};
|