use std::net::SocketAddrV4;
use adb_client::{RustADBError, WaitForDeviceTransport};
use clap::Parser;
fn parse_wait_for_device_device_transport(
value: &str,
) -> Result<WaitForDeviceTransport, RustADBError> {
WaitForDeviceTransport::try_from(value)
}
#[derive(Parser, Debug)]
pub enum HostCommand {
Version,
Kill,
Devices {
#[clap(short = 'l', long = "long")]
long: bool,
},
TrackDevices,
Pair { address: SocketAddrV4, code: String },
Connect { address: SocketAddrV4 },
Disconnect { address: SocketAddrV4 },
Mdns {
#[clap(subcommand)]
subcommand: MdnsCommand,
},
ServerStatus,
WaitForDevice {
#[clap(short = 't', long = "transport", value_parser = parse_wait_for_device_device_transport)]
transport: Option<WaitForDeviceTransport>,
},
}
#[derive(Parser, Debug)]
pub enum MdnsCommand {
Check,
Services,
}