monitord/dbus/
zbus_machine.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
//! # D-Bus interface proxy for: `org.freedesktop.machine1.Machine`
//!
//! This code was generated by `zbus-xmlgen` `4.1.0` from D-Bus introspection data.
//! Source: `Interface '/org/freedesktop/machine1/machine/fedora39' from service 'org.freedesktop.machine1' on system bus`.
//!
//! You may prefer to adapt it, instead of using it verbatim.
//!
//! More information can be found in the [Writing a client proxy] section of the zbus
//! documentation.
//!
//! This type implements the [D-Bus standard interfaces], (`org.freedesktop.DBus.*`) for which the
//! following zbus API can be used:
//!
//! * [`zbus::fdo::PeerProxy`]
//! * [`zbus::fdo::IntrospectableProxy`]
//! * [`zbus::fdo::PropertiesProxy`]
//!
//! Consequently `zbus-xmlgen` did not generate code for the above interfaces.
//!
//! [Writing a client proxy]: https://dbus2.github.io/zbus/client.html
//! [D-Bus standard interfaces]: https://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces,
#![allow(warnings)]
use zbus::proxy;

#[proxy(
    interface = "org.freedesktop.machine1.Machine",
    default_service = "org.freedesktop.machine1"
)]
pub trait Machine {
    /// BindMount method
    fn bind_mount(
        &self,
        source: &str,
        destination: &str,
        read_only: bool,
        mkdir: bool,
    ) -> zbus::Result<()>;

    /// CopyFrom method
    fn copy_from(&self, source: &str, destination: &str) -> zbus::Result<()>;

    /// CopyFromWithFlags method
    fn copy_from_with_flags(&self, source: &str, destination: &str, flags: u64)
        -> zbus::Result<()>;

    /// CopyTo method
    fn copy_to(&self, source: &str, destination: &str) -> zbus::Result<()>;

    /// CopyToWithFlags method
    fn copy_to_with_flags(&self, source: &str, destination: &str, flags: u64) -> zbus::Result<()>;

    /// GetAddresses method
    fn get_addresses(&self) -> zbus::Result<Vec<(i32, Vec<u8>)>>;

    /// GetOSRelease method
    #[zbus(name = "GetOSRelease")]
    fn get_osrelease(&self) -> zbus::Result<std::collections::HashMap<String, String>>;

    /// GetUIDShift method
    #[zbus(name = "GetUIDShift")]
    fn get_uidshift(&self) -> zbus::Result<u32>;

    /// Kill method
    fn kill(&self, who: &str, signal: i32) -> zbus::Result<()>;

    /// OpenLogin method
    fn open_login(&self) -> zbus::Result<(zbus::zvariant::OwnedFd, String)>;

    /// OpenPTY method
    #[zbus(name = "OpenPTY")]
    fn open_pty(&self) -> zbus::Result<(zbus::zvariant::OwnedFd, String)>;

    /// OpenRootDirectory method
    fn open_root_directory(&self) -> zbus::Result<zbus::zvariant::OwnedFd>;

    /// OpenShell method
    fn open_shell(
        &self,
        user: &str,
        path: &str,
        args: &[&str],
        environment: &[&str],
    ) -> zbus::Result<(zbus::zvariant::OwnedFd, String)>;

    /// Terminate method
    fn terminate(&self) -> zbus::Result<()>;

    /// Class property
    #[zbus(property)]
    fn class(&self) -> zbus::Result<String>;

    /// Id property
    #[zbus(property)]
    fn id(&self) -> zbus::Result<Vec<u8>>;

    /// Leader property
    #[zbus(property)]
    fn leader(&self) -> zbus::Result<u32>;

    /// Name property
    #[zbus(property)]
    fn name(&self) -> zbus::Result<String>;

    /// NetworkInterfaces property
    #[zbus(property)]
    fn network_interfaces(&self) -> zbus::Result<Vec<i32>>;

    /// RootDirectory property
    #[zbus(property)]
    fn root_directory(&self) -> zbus::Result<String>;

    /// Service property
    #[zbus(property)]
    fn service(&self) -> zbus::Result<String>;

    /// State property
    #[zbus(property)]
    fn state(&self) -> zbus::Result<String>;

    /// Timestamp property
    #[zbus(property)]
    fn timestamp(&self) -> zbus::Result<u64>;

    /// TimestampMonotonic property
    #[zbus(property)]
    fn timestamp_monotonic(&self) -> zbus::Result<u64>;

    /// Unit property
    #[zbus(property)]
    fn unit(&self) -> zbus::Result<String>;
}