1pub mod credentials;
11pub mod device;
12pub mod discovery;
13pub mod error;
14pub mod lockdown;
15pub mod mux;
16pub mod pairing_transport;
17pub mod proto;
18pub mod psk_tls;
19pub mod services;
20pub mod tunnel;
21pub mod xpc;
22
23pub use credentials::{PersistedCredentials, RemotePairingRecord};
24pub use device::{
25 connect_direct_usb_tunnel, connect_remote_pairing_tunnel, connect_tcp_lockdown_tunnel,
26 discover_paired_mobdev2_devices, ConnectOptions, ConnectedDevice, InternationalConfiguration,
27 PairedMobdev2Device, ServiceStream,
28};
29pub use discovery::{
30 browse_mobdev2, browse_remotepairing, BonjourService, DeviceEvent, DeviceInfo, MdnsDevice,
31};
32pub use error::CoreError;
33pub use lockdown::{LockdownClient, LOCKDOWN_PORT};
34pub use mux::MuxClient;
35pub use pairing_transport::{pair_new_device, PairedCredentials, UNTRUSTED_SERVICE_NAME};
36#[cfg(feature = "accessibility_audit")]
37pub use services::accessibility_audit;
38#[cfg(feature = "afc")]
39pub use services::afc;
40#[cfg(feature = "amfi")]
41pub use services::amfi;
42#[cfg(feature = "apps")]
43pub use services::apps;
44#[cfg(feature = "arbitration")]
45pub use services::arbitration;
46#[cfg(feature = "companion")]
47pub use services::companion;
48#[cfg(feature = "crashreport")]
49pub use services::crashreport;
50#[cfg(feature = "debugserver")]
51pub use services::debugserver;
52#[cfg(feature = "deviceinfo")]
53pub use services::deviceinfo;
54#[cfg(feature = "dproxy")]
55pub use services::dproxy;
56#[cfg(feature = "dtx")]
57pub use services::dtx;
58#[cfg(feature = "fetchsymbols")]
59pub use services::fetchsymbols;
60#[cfg(feature = "file_relay")]
61pub use services::file_relay;
62#[cfg(feature = "fileservice")]
63pub use services::fileservice;
64#[cfg(feature = "heartbeat")]
65pub use services::heartbeat;
66#[cfg(feature = "idam")]
67pub use services::idam;
68#[cfg(feature = "imagemounter")]
69pub use services::imagemounter;
70#[cfg(feature = "instruments")]
71pub use services::instruments;
72#[cfg(feature = "mcinstall")]
73pub use services::mcinstall;
74#[cfg(feature = "misagent")]
75pub use services::misagent;
76#[cfg(feature = "notificationproxy")]
77pub use services::notificationproxy;
78#[cfg(feature = "ostrace")]
79pub use services::ostrace;
80#[cfg(feature = "pcap")]
81pub use services::pcap;
82#[cfg(feature = "power_assertion")]
83pub use services::power_assertion;
84#[cfg(feature = "preboard")]
85pub use services::preboard;
86#[cfg(feature = "prepare")]
87pub use services::prepare;
88#[cfg(feature = "restore")]
89pub use services::restore;
90#[cfg(feature = "screenshot")]
91pub use services::screenshot;
92#[cfg(feature = "springboard")]
93pub use services::springboard;
94#[cfg(feature = "syslog")]
95pub use services::syslog;
96#[cfg(feature = "testmanager")]
97pub use services::testmanager;
98#[cfg(feature = "webinspector")]
99pub use services::webinspector;
100pub use services::{backup2, device_link, diagnostics, mobileactivation, simlocation};
101pub use tunnel::TunMode;
102pub use xpc::{RsdHandshake, ServiceDescriptor, XpcMessage, XpcValue};
103
104pub async fn list_devices() -> Result<Vec<DeviceInfo>, CoreError> {
106 discovery::list_devices().await
107}
108
109pub async fn watch_devices(
111) -> Result<impl futures_core::Stream<Item = Result<DeviceEvent, CoreError>>, CoreError> {
112 discovery::watch_devices().await
113}
114
115pub async fn connect(udid: &str, opts: ConnectOptions) -> Result<ConnectedDevice, CoreError> {
117 device::connect(udid, opts).await
118}
119
120pub async fn discover_mdns() -> Result<impl futures_core::Stream<Item = MdnsDevice>, CoreError> {
125 discovery::discover_mdns().await
126}