use zbus::proxy;
use crate::error;
pub mod controller;
pub mod fabrics;
pub mod namespace;
#[proxy(
interface = "org.freedesktop.UDisks2.Manager.NVMe",
default_service = "org.freedesktop.UDisks2",
default_path = "/org/freedesktop/UDisks2/Manager"
)]
pub trait NVMe {
fn connect(
&self,
subsysnqn: &[u8],
transport: &str,
transport_addr: &str,
options: std::collections::HashMap<&str, zbus::zvariant::Value<'_>>,
) -> error::Result<zbus::zvariant::OwnedObjectPath>;
#[zbus(name = "SetHostID")]
fn set_host_id(
&self,
hostid: &[u8],
options: std::collections::HashMap<&str, zbus::zvariant::Value<'_>>,
) -> error::Result<()>;
#[zbus(name = "SetHostNQN")]
fn set_host_nqn(
&self,
hostnqn: &[u8],
options: std::collections::HashMap<&str, zbus::zvariant::Value<'_>>,
) -> error::Result<()>;
#[zbus(property, name = "HostID")]
fn host_id(&self) -> error::Result<Vec<u8>>;
#[zbus(property, name = "HostNQN")]
fn host_nqn(&self) -> error::Result<Vec<u8>>;
}