use std::path::{Path, PathBuf};
pub struct SshContext<'a> {
pub alias: &'a str,
pub config_path: &'a Path,
pub askpass: Option<&'a str>,
pub session_password: Option<&'a str>,
pub bw_session: Option<&'a str>,
pub has_tunnel: bool,
pub trust_new_host_key: bool,
pub security_key: &'a crate::security_key::SecurityKeyRun,
pub env: &'a crate::runtime::env::Env,
}
pub struct OwnedSshContext {
pub alias: String,
pub config_path: PathBuf,
pub askpass: Option<String>,
pub session_password: Option<String>,
pub bw_session: Option<String>,
pub has_tunnel: bool,
pub trust_new_host_key: bool,
pub security_key: crate::security_key::SecurityKeyRun,
pub env: std::sync::Arc<crate::runtime::env::Env>,
}
impl OwnedSshContext {
pub fn borrow(&self) -> SshContext<'_> {
SshContext {
alias: &self.alias,
config_path: &self.config_path,
askpass: self.askpass.as_deref(),
session_password: self.session_password.as_deref(),
bw_session: self.bw_session.as_deref(),
has_tunnel: self.has_tunnel,
trust_new_host_key: self.trust_new_host_key,
security_key: &self.security_key,
env: &self.env,
}
}
}