use zbus::proxy;
use crate::error;
#[proxy(
interface = "org.freedesktop.UDisks2.Drive.Ata",
default_service = "org.freedesktop.UDisks2",
default_path = "/org/freedesktop/UDisks2/Drive"
)]
pub trait Ata {
fn pm_get_state(
&self,
options: std::collections::HashMap<&str, zbus::zvariant::Value<'_>>,
) -> error::Result<u8>;
fn pm_standby(
&self,
options: std::collections::HashMap<&str, zbus::zvariant::Value<'_>>,
) -> error::Result<()>;
fn pm_wakeup(
&self,
options: std::collections::HashMap<&str, zbus::zvariant::Value<'_>>,
) -> error::Result<()>;
fn security_erase_unit(
&self,
options: std::collections::HashMap<&str, zbus::zvariant::Value<'_>>,
) -> error::Result<()>;
#[allow(clippy::type_complexity)]
fn smart_get_attributes(
&self,
options: std::collections::HashMap<&str, zbus::zvariant::Value<'_>>,
) -> error::Result<
Vec<(
u8,
String,
u16,
i32,
i32,
i32,
i64,
i32,
std::collections::HashMap<String, zbus::zvariant::OwnedValue>,
)>,
>;
fn smart_selftest_abort(
&self,
options: std::collections::HashMap<&str, zbus::zvariant::Value<'_>>,
) -> error::Result<()>;
fn smart_selftest_start(
&self,
type_: &str,
options: std::collections::HashMap<&str, zbus::zvariant::Value<'_>>,
) -> error::Result<()>;
fn smart_set_enabled(
&self,
value: bool,
options: std::collections::HashMap<&str, zbus::zvariant::Value<'_>>,
) -> error::Result<()>;
fn smart_update(
&self,
options: std::collections::HashMap<&str, zbus::zvariant::Value<'_>>,
) -> error::Result<()>;
#[zbus(property)]
fn aam_enabled(&self) -> error::Result<bool>;
#[zbus(property)]
fn aam_supported(&self) -> error::Result<bool>;
#[zbus(property)]
fn aam_vendor_recommended_value(&self) -> error::Result<i32>;
#[zbus(property)]
fn apm_enabled(&self) -> error::Result<bool>;
#[zbus(property)]
fn apm_supported(&self) -> error::Result<bool>;
#[zbus(property)]
fn pm_enabled(&self) -> error::Result<bool>;
#[zbus(property)]
fn pm_supported(&self) -> error::Result<bool>;
#[zbus(property)]
fn read_lookahead_enabled(&self) -> error::Result<bool>;
#[zbus(property)]
fn read_lookahead_supported(&self) -> error::Result<bool>;
#[zbus(property)]
fn security_enhanced_erase_unit_minutes(&self) -> error::Result<i32>;
#[zbus(property)]
fn security_erase_unit_minutes(&self) -> error::Result<i32>;
#[zbus(property)]
fn security_frozen(&self) -> error::Result<bool>;
#[zbus(property)]
fn smart_enabled(&self) -> error::Result<bool>;
#[zbus(property)]
fn smart_failing(&self) -> error::Result<bool>;
#[zbus(property)]
fn smart_num_attributes_failed_in_the_past(&self) -> error::Result<i32>;
#[zbus(property)]
fn smart_num_attributes_failing(&self) -> error::Result<i32>;
#[zbus(property)]
fn smart_num_bad_sectors(&self) -> error::Result<i64>;
#[zbus(property)]
fn smart_power_on_seconds(&self) -> error::Result<u64>;
#[zbus(property)]
fn smart_selftest_percent_remaining(&self) -> error::Result<i32>;
#[zbus(property)]
fn smart_selftest_status(&self) -> error::Result<String>;
#[zbus(property)]
fn smart_supported(&self) -> error::Result<bool>;
#[zbus(property)]
fn smart_temperature(&self) -> error::Result<f64>;
#[zbus(property)]
fn smart_updated(&self) -> error::Result<u64>;
#[zbus(property)]
fn write_cache_enabled(&self) -> error::Result<bool>;
#[zbus(property)]
fn write_cache_supported(&self) -> error::Result<bool>;
}