use zbus::proxy;
#[proxy(interface = "com.canonical.dbusmenu", assume_defaults = true)]
trait dbusmenu {
fn about_to_show(&self, id: i32) -> zbus::Result<bool>;
fn event(
&self,
id: i32,
eventId: &str,
data: &zbus::zvariant::Value<'_>,
timestamp: u32,
) -> zbus::Result<()>;
fn get_group_properties(
&self,
ids: &[i32],
propertyNames: &[&str],
) -> zbus::Result<
Vec<(
i32,
std::collections::HashMap<String, zbus::zvariant::OwnedValue>,
)>,
>;
fn get_layout(
&self,
parentId: i32,
recursionDepth: i32,
propertyNames: &[&str],
) -> zbus::Result<(
u32,
(
i32,
std::collections::HashMap<String, zbus::zvariant::OwnedValue>,
Vec<zbus::zvariant::OwnedValue>,
),
)>;
fn get_property(&self, id: i32, name: &str) -> zbus::Result<zbus::zvariant::OwnedValue>;
#[zbus(signal)]
fn item_activation_requested(&self, id: i32, timestamp: u32) -> zbus::Result<()>;
#[zbus(signal)]
fn items_properties_updated(
&self,
updatedProps: Vec<(
i32,
std::collections::HashMap<&str, zbus::zvariant::Value<'_>>,
)>,
removedProps: Vec<(i32, Vec<&str>)>,
) -> zbus::Result<()>;
#[zbus(signal)]
fn layout_updated(&self, revision: u32, parent: i32) -> zbus::Result<()>;
#[zbus(property)]
fn status(&self) -> zbus::Result<String>;
#[zbus(property)]
fn version(&self) -> zbus::Result<u32>;
}