use zbus::dbus_proxy;
#[dbus_proxy(interface = "org.freedesktop.UDisks2.Drive")]
trait Drive {
fn eject(
&self,
options: std::collections::HashMap<&str, zbus::zvariant::Value<'_>>,
) -> zbus::Result<()>;
fn power_off(
&self,
options: std::collections::HashMap<&str, zbus::zvariant::Value<'_>>,
) -> zbus::Result<()>;
fn set_configuration(
&self,
value: std::collections::HashMap<&str, zbus::zvariant::Value<'_>>,
options: std::collections::HashMap<&str, zbus::zvariant::Value<'_>>,
) -> zbus::Result<()>;
#[dbus_proxy(property)]
fn can_power_off(&self) -> zbus::Result<bool>;
#[dbus_proxy(property)]
fn configuration(
&self,
) -> zbus::Result<std::collections::HashMap<String, zbus::zvariant::OwnedValue>>;
#[dbus_proxy(property)]
fn connection_bus(&self) -> zbus::Result<String>;
#[dbus_proxy(property)]
fn ejectable(&self) -> zbus::Result<bool>;
#[dbus_proxy(property)]
fn id(&self) -> zbus::Result<String>;
#[dbus_proxy(property)]
fn media(&self) -> zbus::Result<String>;
#[dbus_proxy(property)]
fn media_available(&self) -> zbus::Result<bool>;
#[dbus_proxy(property)]
fn media_change_detected(&self) -> zbus::Result<bool>;
#[dbus_proxy(property)]
fn media_compatibility(&self) -> zbus::Result<Vec<String>>;
#[dbus_proxy(property)]
fn media_removable(&self) -> zbus::Result<bool>;
#[dbus_proxy(property)]
fn model(&self) -> zbus::Result<String>;
#[dbus_proxy(property)]
fn optical(&self) -> zbus::Result<bool>;
#[dbus_proxy(property)]
fn optical_blank(&self) -> zbus::Result<bool>;
#[dbus_proxy(property)]
fn optical_num_audio_tracks(&self) -> zbus::Result<u32>;
#[dbus_proxy(property)]
fn optical_num_data_tracks(&self) -> zbus::Result<u32>;
#[dbus_proxy(property)]
fn optical_num_sessions(&self) -> zbus::Result<u32>;
#[dbus_proxy(property)]
fn optical_num_tracks(&self) -> zbus::Result<u32>;
#[dbus_proxy(property)]
fn removable(&self) -> zbus::Result<bool>;
#[dbus_proxy(property)]
fn revision(&self) -> zbus::Result<String>;
#[dbus_proxy(property)]
fn rotation_rate(&self) -> zbus::Result<i32>;
#[dbus_proxy(property)]
fn seat(&self) -> zbus::Result<String>;
#[dbus_proxy(property)]
fn serial(&self) -> zbus::Result<String>;
#[dbus_proxy(property)]
fn sibling_id(&self) -> zbus::Result<String>;
#[dbus_proxy(property)]
fn size(&self) -> zbus::Result<u64>;
#[dbus_proxy(property)]
fn sort_key(&self) -> zbus::Result<String>;
#[dbus_proxy(property)]
fn time_detected(&self) -> zbus::Result<u64>;
#[dbus_proxy(property)]
fn time_media_detected(&self) -> zbus::Result<u64>;
#[dbus_proxy(property)]
fn vendor(&self) -> zbus::Result<String>;
#[dbus_proxy(property)]
fn wwn(&self) -> zbus::Result<String>;
}