@yume-chan/adb-daemon-webusb
Version:
Adb daemon transport connection for `@yume-chan/adb` using WebUSB API.
54 lines • 2.7 kB
TypeScript
import type { AdbDaemonDevice, AdbPacketData, AdbPacketInit } from "@yume-chan/adb";
import type { Consumable, ReadableWritablePair, WritableStream } from "@yume-chan/stream-extra";
import { ReadableStream } from "@yume-chan/stream-extra";
import { DeviceBusyError as _DeviceBusyError } from "./error.js";
import type { UsbInterfaceFilter, UsbInterfaceIdentifier } from "./utils.js";
/**
* The default filter for ADB devices, as defined by Google.
*/
export declare const AdbDefaultInterfaceFilter: {
readonly classCode: 255;
readonly subclassCode: 66;
readonly protocolCode: 1;
};
export declare function mergeDefaultAdbInterfaceFilter(filters: USBDeviceFilter[] | undefined): (USBDeviceFilter & UsbInterfaceFilter)[];
export declare class AdbDaemonWebUsbConnection implements ReadableWritablePair<AdbPacketData, Consumable<AdbPacketInit>> {
#private;
get device(): AdbDaemonWebUsbDevice;
get inEndpoint(): USBEndpoint;
get outEndpoint(): USBEndpoint;
get readable(): ReadableStream<AdbPacketData>;
get writable(): WritableStream<Consumable<import("@yume-chan/struct").FieldsInit<{
command: import("@yume-chan/struct").NumberField<number>;
arg0: import("@yume-chan/struct").NumberField<number>;
arg1: import("@yume-chan/struct").NumberField<number>;
payloadLength: import("@yume-chan/struct").NumberField<number>;
checksum: import("@yume-chan/struct").NumberField<number>;
magic: import("@yume-chan/struct").NumberField<number>;
} & {
payload: import("@yume-chan/struct").Field<Uint8Array<ArrayBufferLike>, "payloadLength", Record<"payloadLength", number>, Uint8Array<ArrayBufferLike>>;
}>>>;
constructor(device: AdbDaemonWebUsbDevice, inEndpoint: USBEndpoint, outEndpoint: USBEndpoint, usbManager: USB);
}
export declare class AdbDaemonWebUsbDevice implements AdbDaemonDevice {
#private;
static DeviceBusyError: typeof _DeviceBusyError;
get raw(): USBDevice;
get serial(): string;
get name(): string;
/**
* Create a new instance of `AdbDaemonWebUsbConnection` using a specified `USBDevice` instance
*
* @param device The `USBDevice` instance obtained elsewhere.
* @param filters The filters to use when searching for ADB interface. Defaults to {@link ADB_DEFAULT_DEVICE_FILTER}.
*/
constructor(device: USBDevice, interface_: UsbInterfaceIdentifier, usbManager: USB);
/**
* Open the device and create a new connection to the ADB Daemon.
*/
connect(): Promise<AdbDaemonWebUsbConnection>;
}
export declare namespace AdbDaemonWebUsbDevice {
type DeviceBusyError = _DeviceBusyError;
}
//# sourceMappingURL=device.d.ts.map