From 0f85563dc59c78b9d4d6ce6dd3d07f85dae5a05e Mon Sep 17 00:00:00 2001 From: uncor3 Date: Sun, 5 Apr 2026 23:33:06 +0000 Subject: [PATCH] remove unused imports, cleanup code --- lib/idevice-rs | 2 +- src/rust/Cargo.lock | 333 ++++++++++++++++++++++++++++++-- src/rust/src/afc.rs | 14 +- src/rust/src/afc2_services.rs | 11 +- src/rust/src/afc_services.rs | 6 +- src/rust/src/hause_arrest.rs | 9 +- src/rust/src/io_manager.rs | 4 +- src/rust/src/lib.rs | 4 +- src/rust/src/screenshot.rs | 18 +- src/rust/src/service_manager.rs | 36 ++-- 10 files changed, 365 insertions(+), 72 deletions(-) diff --git a/lib/idevice-rs b/lib/idevice-rs index beb5f36..c949705 160000 --- a/lib/idevice-rs +++ b/lib/idevice-rs @@ -1 +1 @@ -Subproject commit beb5f365a942713847744194834798fafff18a10 +Subproject commit c94970512823cdbae24f68b916a1ce6b620ddc76 diff --git a/src/rust/Cargo.lock b/src/rust/Cargo.lock index 799e6b4..0f862e5 100644 --- a/src/rust/Cargo.lock +++ b/src/rust/Cargo.lock @@ -8,6 +8,27 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" +[[package]] +name = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common", + "generic-array", +] + +[[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures 0.2.17", +] + [[package]] name = "aho-corasick" version = "1.1.4" @@ -121,6 +142,12 @@ dependencies = [ "fs_extra", ] +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + [[package]] name = "base64" version = "0.22.1" @@ -148,6 +175,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-padding" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93" +dependencies = [ + "generic-array", +] + [[package]] name = "bumpalo" version = "3.20.2" @@ -166,6 +202,15 @@ version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" +[[package]] +name = "cbc" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" +dependencies = [ + "cipher", +] + [[package]] name = "cc" version = "1.2.57" @@ -184,6 +229,41 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" +[[package]] +name = "chacha20" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures 0.2.17", +] + +[[package]] +name = "chacha20" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.0", + "rand_core 0.10.0", +] + +[[package]] +name = "chacha20poly1305" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" +dependencies = [ + "aead", + "chacha20 0.9.1", + "cipher", + "poly1305", + "zeroize", +] + [[package]] name = "chrono" version = "0.4.44" @@ -198,6 +278,17 @@ dependencies = [ "windows-link", ] +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", + "zeroize", +] + [[package]] name = "clang-format" version = "0.3.0" @@ -309,6 +400,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" +dependencies = [ + "libc", +] + [[package]] name = "crc32fast" version = "1.5.0" @@ -353,9 +453,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" dependencies = [ "generic-array", + "rand_core 0.6.4", "typenum", ] +[[package]] +name = "curve25519-dalek" +version = "4.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" +dependencies = [ + "cfg-if", + "cpufeatures 0.2.17", + "curve25519-dalek-derive", + "digest", + "fiat-crypto", + "rustc_version", + "subtle", + "zeroize", +] + +[[package]] +name = "curve25519-dalek-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "cxx" version = "1.0.194" @@ -543,6 +671,7 @@ dependencies = [ "block-buffer", "const-oid", "crypto-common", + "subtle", ] [[package]] @@ -562,6 +691,31 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" +[[package]] +name = "ed25519" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" +dependencies = [ + "pkcs8", + "signature", +] + +[[package]] +name = "ed25519-dalek" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" +dependencies = [ + "curve25519-dalek", + "ed25519", + "rand_core 0.6.4", + "serde", + "sha2", + "subtle", + "zeroize", +] + [[package]] name = "enum_dispatch" version = "0.3.13" @@ -608,6 +762,12 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +[[package]] +name = "fiat-crypto" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" + [[package]] name = "find-msvc-tools" version = "0.1.9" @@ -800,6 +960,7 @@ dependencies = [ "cfg-if", "libc", "r-efi 6.0.0", + "rand_core 0.10.0", "wasip2", "wasip3", ] @@ -837,6 +998,24 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" +[[package]] +name = "hkdf" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + [[package]] name = "http" version = "1.4.0" @@ -903,7 +1082,7 @@ version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" dependencies = [ - "base64", + "base64 0.22.1", "bytes", "futures-channel", "futures-util", @@ -1055,36 +1234,59 @@ dependencies = [ [[package]] name = "idevice" -version = "0.1.53" +version = "0.1.57" dependencies = [ + "aes", "async-stream", "async_zip", - "base64", + "base64 0.22.1", "byteorder", "bytes", + "cbc", + "chacha20poly1305", "chrono", - "crossfire", + "ed25519-dalek", "futures", + "hkdf", + "hmac", + "idevice-srp", "indexmap", + "jktcp", "json", "ns-keyed-archive", "plist", "plist-macro", - "rand 0.9.2", + "rand 0.10.0", "reqwest", "rsa", "rustls", "serde", "serde_json", + "sha1", "sha2", "thiserror 2.0.18", "tokio", "tokio-rustls", "tracing", "uuid", + "x25519-dalek", "x509-cert", ] +[[package]] +name = "idevice-srp" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d84c9637ebbdfa523f352b62c8cf791288b3fbf59f6eac6c57c7c9949f5924b2" +dependencies = [ + "base64 0.21.7", + "digest", + "generic-array", + "lazy_static", + "num-bigint", + "subtle", +] + [[package]] name = "idna" version = "1.1.0" @@ -1127,6 +1329,16 @@ dependencies = [ "rustversion", ] +[[package]] +name = "inout" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" +dependencies = [ + "block-padding", + "generic-array", +] + [[package]] name = "ipnet" version = "2.12.0" @@ -1149,6 +1361,19 @@ version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" +[[package]] +name = "jktcp" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a5e6f49d25ffd9617fde3b1f01b6bc349497affef78d5fc67f5b0f0b4b3924c" +dependencies = [ + "crossfire", + "futures", + "rand 0.9.2", + "tokio", + "tracing", +] + [[package]] name = "jobserver" version = "0.1.34" @@ -1243,6 +1468,16 @@ version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest", +] + [[package]] name = "memchr" version = "2.8.0" @@ -1272,9 +1507,9 @@ dependencies = [ [[package]] name = "ns-keyed-archive" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bc340e0b7a5bb4b06338cafa693d0b585d597b024fff876c5dad385a00d83e7" +checksum = "815e8c8171d033165fdda6d95630d6f447592ad5e6fbade9db26663970c6fae6" dependencies = [ "nskeyedarchiver_converter", "plist", @@ -1290,6 +1525,16 @@ dependencies = [ "thiserror 2.0.18", ] +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", +] + [[package]] name = "num-bigint-dig" version = "0.8.6" @@ -1348,6 +1593,12 @@ version = "1.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" +[[package]] +name = "opaque-debug" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" + [[package]] name = "parking" version = "2.2.1" @@ -1457,7 +1708,7 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "740ebea15c5d1428f910cd1a5f52cebf8d25006245ed8ade92702f4943d91e07" dependencies = [ - "base64", + "base64 0.22.1", "indexmap", "quick-xml", "serde", @@ -1473,6 +1724,17 @@ dependencies = [ "plist", ] +[[package]] +name = "poly1305" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" +dependencies = [ + "cpufeatures 0.2.17", + "opaque-debug", + "universal-hash", +] + [[package]] name = "potential_utf" version = "0.1.4" @@ -1579,6 +1841,17 @@ dependencies = [ "rand_core 0.9.5", ] +[[package]] +name = "rand" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8" +dependencies = [ + "chacha20 0.10.0", + "getrandom 0.4.2", + "rand_core 0.10.0", +] + [[package]] name = "rand_chacha" version = "0.3.1" @@ -1617,6 +1890,12 @@ dependencies = [ "getrandom 0.3.4", ] +[[package]] +name = "rand_core" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba" + [[package]] name = "redox_syscall" version = "0.5.18" @@ -1661,7 +1940,7 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab3f43e3283ab1488b624b44b0e988d0acea0b3214e694730a055cb6b2efa801" dependencies = [ - "base64", + "base64 0.22.1", "bytes", "futures-core", "http", @@ -1746,6 +2025,15 @@ dependencies = [ "sqlite-wasm-rs", ] +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + [[package]] name = "rustls" version = "0.23.37" @@ -1855,7 +2143,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "digest", ] @@ -1866,7 +2154,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "digest", ] @@ -2288,6 +2576,16 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common", + "subtle", +] + [[package]] name = "untrusted" version = "0.9.0" @@ -2326,6 +2624,7 @@ checksum = "a68d3c8f01c0cfa54a75291d83601161799e4a89a39e0929f4b0354d88757a37" dependencies = [ "getrandom 0.4.2", "js-sys", + "md-5", "serde_core", "wasm-bindgen", ] @@ -2722,6 +3021,18 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" +[[package]] +name = "x25519-dalek" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" +dependencies = [ + "curve25519-dalek", + "rand_core 0.6.4", + "serde", + "zeroize", +] + [[package]] name = "x509-cert" version = "0.2.5" diff --git a/src/rust/src/afc.rs b/src/rust/src/afc.rs index bf09850..6f3a698 100644 --- a/src/rust/src/afc.rs +++ b/src/rust/src/afc.rs @@ -1,15 +1,7 @@ -use crate::{DeviceServices, run_sync}; use cxx_qt_lib::{QMap, QMapPair_QString_QVariant, QString, QVariant}; -use idevice::{ - provider::IdeviceProvider, - services::afc::{AfcClient, opcode::AfcFopenMode}, -}; -use std::{io::SeekFrom, pin::Pin}; -use tokio::{ - io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt, BufWriter}, - net::TcpListener, - sync::{Semaphore, oneshot}, -}; +use idevice::services::afc::{AfcClient, opcode::AfcFopenMode}; +use std::io::SeekFrom; +use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt, BufWriter}; // FIXME: resolve symlinks pub async fn check_is_dir_and_list( diff --git a/src/rust/src/afc2_services.rs b/src/rust/src/afc2_services.rs index 3f1934f..604a8c9 100644 --- a/src/rust/src/afc2_services.rs +++ b/src/rust/src/afc2_services.rs @@ -2,16 +2,13 @@ use cxx_qt::Threading; use cxx_qt_lib::{QByteArray, QList, QMap, QMapPair_QString_QVariant, QString}; use crate::{APP_DEVICE_STATE, RUNTIME, VIDEO_STREAMS, afc, run_sync}; -use idevice::{ - IdeviceService, - afc::{AfcClient, opcode::AfcFopenMode}, -}; +use idevice::afc::{AfcClient, opcode::AfcFopenMode}; use once_cell::sync::Lazy; use regex::Regex; use std::{io::SeekFrom, pin::Pin}; -use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt, BufWriter}; +use tokio::io::{AsyncReadExt, AsyncSeekExt}; use tokio::net::TcpListener; -use tokio::sync::{Semaphore, oneshot}; +use tokio::sync::oneshot; #[cxx_qt::bridge(namespace = "CXX")] mod qobject { @@ -749,7 +746,7 @@ impl qobject::Afc2Backend { let provider = device.provider.lock().await; match AfcClient::new_afc2(provider.as_ref()).await { Ok(c) => c, - Err(e) => { + Err(_) => { //FIXME // eprintln!( // "handle_http_connection: AfcClient::connect failed for {}: {:?}", diff --git a/src/rust/src/afc_services.rs b/src/rust/src/afc_services.rs index 83845bf..ad20df2 100644 --- a/src/rust/src/afc_services.rs +++ b/src/rust/src/afc_services.rs @@ -9,9 +9,9 @@ use idevice::{ use once_cell::sync::Lazy; use regex::Regex; use std::{io::SeekFrom, pin::Pin}; -use tokio::io::{AsyncReadExt, AsyncSeekExt, AsyncWriteExt, BufWriter}; +use tokio::io::{AsyncReadExt, AsyncSeekExt}; use tokio::net::TcpListener; -use tokio::sync::{Semaphore, oneshot}; +use tokio::sync::oneshot; #[cxx_qt::bridge(namespace = "CXX")] mod qobject { @@ -665,7 +665,7 @@ impl qobject::AfcBackend { let provider = device.provider.lock().await; match AfcClient::connect(provider.as_ref()).await { Ok(c) => c, - Err(e) => { + Err(_) => { //FIXME // eprintln!( // "handle_http_connection: AfcClient::connect failed for {}: {:?}", diff --git a/src/rust/src/hause_arrest.rs b/src/rust/src/hause_arrest.rs index 255eeee..85121a7 100644 --- a/src/rust/src/hause_arrest.rs +++ b/src/rust/src/hause_arrest.rs @@ -55,10 +55,8 @@ mod qobject { fn start_video_stream(self: &HauseArrest, file_path: &QString) -> QString; } - // Required for CXX-Qt objects that will interact with a separate (Tokio) thread impl cxx_qt::Threading for HauseArrest {} - // Custom constructor to initialize with device UDID and iOS version impl cxx_qt::Constructor<(QString, QString), NewArguments = (QString, QString)> for HauseArrest {} } @@ -81,7 +79,7 @@ impl cxx_qt::Constructor<(QString, QString)> for qobject::HauseArrest { Self::BaseArguments, Self::InitializeArguments, ) { - (args, (), ()) // Pass the tuple through + (args, (), ()) } fn new(args: (QString, QString)) -> RHauseArrestBackend { @@ -94,11 +92,6 @@ impl cxx_qt::Constructor<(QString, QString)> for qobject::HauseArrest { } impl qobject::HauseArrest { - fn get_udid(&self) -> &QString { - use cxx_qt::CxxQtType; - &self.rust().udid - } - fn get_bundle_id(&self) -> &QString { use cxx_qt::CxxQtType; &self.rust().bundle_id diff --git a/src/rust/src/io_manager.rs b/src/rust/src/io_manager.rs index 2090d8d..beddc28 100644 --- a/src/rust/src/io_manager.rs +++ b/src/rust/src/io_manager.rs @@ -28,7 +28,7 @@ mod qobject { extern "RustQt" { #[qobject] - type IOManager = super::R_IOManager; + type IOManager = super::RIOManager; #[qinvokable] fn start_export( @@ -158,7 +158,7 @@ struct ExportItemResult { } #[derive(Default)] -pub struct R_IOManager { +pub struct RIOManager { jobs: Arc>>>, } diff --git a/src/rust/src/lib.rs b/src/rust/src/lib.rs index a9f0fab..424a0a5 100644 --- a/src/rust/src/lib.rs +++ b/src/rust/src/lib.rs @@ -6,7 +6,7 @@ use idevice::{ heartbeat, lockdown::LockdownClient, pairing_file::PairingFile, - provider::{IdeviceProvider, TcpProvider}, + provider::{TcpProvider}, IdeviceError, usbmuxd::{Connection, UsbmuxdAddr, UsbmuxdConnection, UsbmuxdListenEvent}, }; @@ -240,7 +240,7 @@ impl qobject::Core { fn emit_pairing_failed( qt_thread: cxx_qt::CxxQtThread, udid: String, - reason : &str, + _reason : &str, ) { // let reason_clone = reason.to_string(); //TODO: listen for this event diff --git a/src/rust/src/screenshot.rs b/src/rust/src/screenshot.rs index 7cb9a62..a7c9434 100644 --- a/src/rust/src/screenshot.rs +++ b/src/rust/src/screenshot.rs @@ -71,14 +71,14 @@ impl cxx_qt::Constructor<(QString, u32)> for qobject::ScreenshotBackend { } impl qobject::ScreenshotBackend { - fn get_udid(&self) -> &QString { - use cxx_qt::CxxQtType; - &self.rust().udid - } - fn get_ios_version(&self) -> u32 { - use cxx_qt::CxxQtType; - self.rust().ios_version - } + // fn get_udid(&self) -> &QString { + // use cxx_qt::CxxQtType; + // &self.rust().udid + // } + // fn get_ios_version(&self) -> u32 { + // use cxx_qt::CxxQtType; + // self.rust().ios_version + // } fn set_udid(mut self: Pin<&mut Self>, udid: &QString) { use cxx_qt::CxxQtType; @@ -150,7 +150,7 @@ async fn run_capture_ios17_and_above( } }; - let rsd_port = proxy.handshake.server_rsd_port; + let rsd_port = proxy.tunnel_info().server_rsd_port; let mut adapter = match proxy.create_software_tunnel() { Ok(a) => a.to_async_handle(), Err(e) => { diff --git a/src/rust/src/service_manager.rs b/src/rust/src/service_manager.rs index ca23e32..39601dd 100644 --- a/src/rust/src/service_manager.rs +++ b/src/rust/src/service_manager.rs @@ -1145,21 +1145,21 @@ async fn set_device_location_lockdown( } // iOS 17+: -async fn set_device_location_rsd( - proxy: CoreDeviceProxy, - latitude: f64, - longitude: f64, -) -> Result<(), idevice::IdeviceError> { - let rsd_port = proxy.handshake.server_rsd_port; - let adapter = proxy.create_software_tunnel()?; - let mut adapter = adapter.to_async_handle(); - let stream = adapter.connect(rsd_port).await?; - - let mut handshake = RsdHandshake::new(stream).await?; - - let mut remote_server = RemoteServerClient::connect_rsd(&mut adapter, &mut handshake).await?; - remote_server.read_message(0).await?; - - let mut location_client = LocationSimulationClient::new(&mut remote_server).await?; - location_client.set(latitude, longitude).await -} +async fn set_device_location_rsd( + proxy: CoreDeviceProxy, + latitude: f64, + longitude: f64, +) -> Result<(), idevice::IdeviceError> { + let rsd_port = proxy.tunnel_info().server_rsd_port; + let adapter = proxy.create_software_tunnel()?; + let mut adapter = adapter.to_async_handle(); + let stream = adapter.connect(rsd_port).await?; + + let mut handshake = RsdHandshake::new(stream).await?; + + let mut remote_server = RemoteServerClient::connect_rsd(&mut adapter, &mut handshake).await?; + remote_server.read_message(0).await?; + + let mut location_client = LocationSimulationClient::new(&mut remote_server).await?; + location_client.set(latitude, longitude).await +} \ No newline at end of file