tokio_dbus_xml/
elements.rs1use tokio_dbus_core::signature::Signature;
2
3#[derive(Debug, Clone)]
5pub struct Node<'a> {
6 pub interfaces: Box<[Interface<'a>]>,
8 pub nodes: Box<[Node<'a>]>,
10}
11
12#[derive(Debug, Clone)]
14pub struct Interface<'a> {
15 pub name: &'a str,
17 pub methods: Box<[Method<'a>]>,
19}
20
21#[derive(Debug, Clone, Copy)]
23pub enum Direction {
24 In,
26 Out,
28}
29
30#[derive(Debug, Clone, Copy)]
32pub struct Argument<'a> {
33 pub name: Option<&'a str>,
35 pub ty: &'a Signature,
37 pub direction: Direction,
39}
40
41#[derive(Debug, Clone)]
43pub struct Method<'a> {
44 pub name: &'a str,
46 pub arguments: Box<[Argument<'a>]>,
48}
49
50#[derive(Debug, Default)]
52pub struct Doc<'a> {
53 pub summary: Option<&'a str>,
55 pub description: Description<'a>,
57}
58
59#[derive(Debug, Default)]
61pub struct Description<'a> {
62 pub paragraph: Option<&'a str>,
64}