#[cfg(feature = "tunnel")]
pub mod client;
#[cfg(any(
feature = "tunnel",
feature = "dproxy",
feature = "fetchsymbols",
feature = "restore"
))]
pub mod h2_raw;
pub mod message;
pub mod rsd;
#[cfg(feature = "tunnel")]
pub use client::XpcClient;
#[cfg(any(
feature = "apps",
feature = "deviceinfo",
feature = "diagnosticsservice",
feature = "dproxy",
feature = "fetchsymbols",
feature = "fileservice",
feature = "restore"
))]
pub(crate) use message::{XpcMessage, XpcValue};
#[derive(Debug, thiserror::Error)]
pub enum XpcError {
#[error("IO error: {0}")]
Io(#[from] std::io::Error),
#[error("not connected")]
NotConnected,
#[error("service not found: {0}")]
ServiceNotFound(String),
#[error("TLS / protocol error: {0}")]
Tls(String),
}