use tokio_dbus_core::signature::Signature;
#[derive(Debug, Clone)]
pub struct Node<'a> {
pub interfaces: Box<[Interface<'a>]>,
pub nodes: Box<[Node<'a>]>,
}
#[derive(Debug, Clone)]
pub struct Interface<'a> {
pub name: &'a str,
pub methods: Box<[Method<'a>]>,
}
#[derive(Debug, Clone, Copy)]
pub enum Direction {
In,
Out,
}
#[derive(Debug, Clone, Copy)]
pub struct Argument<'a> {
pub name: Option<&'a str>,
pub ty: &'a Signature,
pub direction: Direction,
}
#[derive(Debug, Clone)]
pub struct Method<'a> {
pub name: &'a str,
pub arguments: Box<[Argument<'a>]>,
}
#[derive(Debug, Default)]
pub struct Doc<'a> {
pub summary: Option<&'a str>,
pub description: Description<'a>,
}
#[derive(Debug, Default)]
pub struct Description<'a> {
pub paragraph: Option<&'a str>,
}