use zbus::{
proxy,
zvariant::{ObjectPath, Value},
};
#[proxy(interface = "org.bluez.Adapter1", default_service = "org.bluez")]
pub trait Adapter {
fn get_discovery_filters(&self) -> zbus::Result<Vec<String>>;
fn remove_device(&self, device: &ObjectPath<'_>) -> zbus::Result<()>;
fn set_discovery_filter(
&self,
properties: std::collections::HashMap<&str, &Value<'_>>,
) -> zbus::Result<()>;
fn start_discovery(&self) -> zbus::Result<()>;
fn stop_discovery(&self) -> zbus::Result<()>;
#[zbus(property)]
fn address(&self) -> zbus::Result<String>;
#[zbus(property)]
fn address_type(&self) -> zbus::Result<String>;
#[zbus(property)]
fn alias(&self) -> zbus::Result<String>;
#[zbus(property)]
fn set_alias(&self, value: &str) -> zbus::Result<()>;
#[zbus(property)]
fn class(&self) -> zbus::Result<u32>;
#[zbus(property)]
fn discoverable(&self) -> zbus::Result<bool>;
#[zbus(property)]
fn set_discoverable(&self, value: bool) -> zbus::Result<()>;
#[zbus(property)]
fn discoverable_timeout(&self) -> zbus::Result<u32>;
#[zbus(property)]
fn set_discoverable_timeout(&self, value: u32) -> zbus::Result<()>;
#[zbus(property)]
fn discovering(&self) -> zbus::Result<bool>;
#[zbus(property)]
fn experimental_features(&self) -> zbus::Result<Vec<String>>;
#[zbus(property)]
fn manufacturer(&self) -> zbus::Result<u16>;
#[zbus(property)]
fn modalias(&self) -> zbus::Result<String>;
#[zbus(property)]
fn name(&self) -> zbus::Result<String>;
#[zbus(property)]
fn pairable(&self) -> zbus::Result<bool>;
#[zbus(property)]
fn set_pairable(&self, value: bool) -> zbus::Result<()>;
#[zbus(property)]
fn pairable_timeout(&self) -> zbus::Result<u32>;
#[zbus(property)]
fn set_pairable_timeout(&self, value: u32) -> zbus::Result<()>;
#[zbus(property)]
fn powered(&self) -> zbus::Result<bool>;
#[zbus(property)]
fn set_powered(&self, value: bool) -> zbus::Result<()>;
#[zbus(property)]
fn roles(&self) -> zbus::Result<Vec<String>>;
#[zbus(property, name = "UUIDs")]
fn uuids(&self) -> zbus::Result<Vec<String>>;
#[zbus(property)]
fn version(&self) -> zbus::Result<u8>;
}