Add option for libimobiledevice environment variable read

This commit is contained in:
Jackson Coxson
2025-02-05 17:31:43 -07:00
parent fcd6b17a9a
commit a43f343f31

View File

@@ -1,6 +1,9 @@
// Jackson Coxson
use std::net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4};
use std::{
net::{AddrParseError, IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4},
str::FromStr,
};
use log::debug;
use tokio::io::{AsyncReadExt, AsyncWriteExt};
@@ -52,6 +55,19 @@ impl UsbmuxdAddr {
let socket = self.to_socket().await?;
Ok(UsbmuxdConnection::new(socket, tag))
}
pub fn from_env_var() -> Result<Self, AddrParseError> {
Ok(match std::env::var("USBMUXD_SOCKET_ADDRESS") {
Ok(var) => {
if var.contains(':') {
Self::TcpSocket(SocketAddr::from_str(&var)?)
} else {
Self::UnixSocket(var)
}
}
Err(_) => Self::default(),
})
}
}
impl Default for UsbmuxdAddr {