diff --git a/Cargo.toml b/Cargo.toml index 58e49b1..b78da85 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -37,3 +37,6 @@ openssl = { version = "0.10" } # Binary dependencies sha2 = { version = "0.10", optional = true } ureq = { version = "2.12", optional = true } + +[features] +std-tcp = [] diff --git a/src/lib.rs b/src/lib.rs index 19933ff..ff91127 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -26,6 +26,20 @@ impl Idevice { label: label.into(), } } + + #[cfg(feature = "std-tcp")] + pub fn connect_tcp( + addr: std::net::SocketAddr, + label: impl Into, + ) -> Result { + let socket = std::net::TcpStream::connect(addr)?; + let label = label.into(); + Ok(Self { + socket: Some(Box::new(socket)), + label, + }) + } + pub fn get_type(&mut self) -> Result { let mut req = plist::Dictionary::new(); req.insert("Label".into(), self.label.clone().into());