zbus_systemd 0.25901.0

A pure-Rust library to interact with systemd DBus services
Documentation
// This file is autogenerated, do not manually edit.

use crate::zbus::proxy;

/// Proxy object for `org.freedesktop.network1.Manager`.
#[proxy(
    interface = "org.freedesktop.network1.Manager",
    gen_blocking = false,
    default_service = "org.freedesktop.network1",
    default_path = "/org/freedesktop/network1"
)]
pub trait Manager {
    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#ListLinks()) Call interface method `ListLinks`.
    #[zbus(name = "ListLinks")]
    fn list_links(
        &self,
    ) -> crate::zbus::Result<Vec<(i32, String, crate::zvariant::OwnedObjectPath)>>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#GetLinkByName()) Call interface method `GetLinkByName`.
    #[zbus(name = "GetLinkByName")]
    fn get_link_by_name(
        &self,
        name: String,
    ) -> crate::zbus::Result<(i32, crate::zvariant::OwnedObjectPath)>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#GetLinkByIndex()) Call interface method `GetLinkByIndex`.
    #[zbus(name = "GetLinkByIndex")]
    fn get_link_by_index(
        &self,
        ifindex: i32,
    ) -> crate::zbus::Result<(String, crate::zvariant::OwnedObjectPath)>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#SetLinkNTP()) Call interface method `SetLinkNTP`.
    #[zbus(name = "SetLinkNTP")]
    fn set_link_ntp(&self, ifindex: i32, servers: Vec<String>) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#SetLinkDNS()) Call interface method `SetLinkDNS`.
    #[zbus(name = "SetLinkDNS")]
    fn set_link_dns(&self, ifindex: i32, addresses: Vec<(i32, Vec<u8>)>)
        -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#SetLinkDNSEx()) Call interface method `SetLinkDNSEx`.
    #[zbus(name = "SetLinkDNSEx")]
    fn set_link_dns_ex(
        &self,
        ifindex: i32,
        addresses: Vec<(i32, Vec<u8>, u16, String)>,
    ) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#SetLinkDomains()) Call interface method `SetLinkDomains`.
    #[zbus(name = "SetLinkDomains")]
    fn set_link_domains(
        &self,
        ifindex: i32,
        domains: Vec<(String, bool)>,
    ) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#SetLinkDefaultRoute()) Call interface method `SetLinkDefaultRoute`.
    #[zbus(name = "SetLinkDefaultRoute")]
    fn set_link_default_route(&self, ifindex: i32, enable: bool) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#SetLinkLLMNR()) Call interface method `SetLinkLLMNR`.
    #[zbus(name = "SetLinkLLMNR")]
    fn set_link_llmnr(&self, ifindex: i32, mode: String) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#SetLinkMulticastDNS()) Call interface method `SetLinkMulticastDNS`.
    #[zbus(name = "SetLinkMulticastDNS")]
    fn set_link_multicast_dns(&self, ifindex: i32, mode: String) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#SetLinkDNSOverTLS()) Call interface method `SetLinkDNSOverTLS`.
    #[zbus(name = "SetLinkDNSOverTLS")]
    fn set_link_dns_over_tls(&self, ifindex: i32, mode: String) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#SetLinkDNSSEC()) Call interface method `SetLinkDNSSEC`.
    #[zbus(name = "SetLinkDNSSEC")]
    fn set_link_dnssec(&self, ifindex: i32, mode: String) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#SetLinkDNSSECNegativeTrustAnchors()) Call interface method `SetLinkDNSSECNegativeTrustAnchors`.
    #[zbus(name = "SetLinkDNSSECNegativeTrustAnchors")]
    fn set_link_dnssec_negative_trust_anchors(
        &self,
        ifindex: i32,
        names: Vec<String>,
    ) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#RevertLinkNTP()) Call interface method `RevertLinkNTP`.
    #[zbus(name = "RevertLinkNTP")]
    fn revert_link_ntp(&self, ifindex: i32) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#RevertLinkDNS()) Call interface method `RevertLinkDNS`.
    #[zbus(name = "RevertLinkDNS")]
    fn revert_link_dns(&self, ifindex: i32) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#RenewLink()) Call interface method `RenewLink`.
    #[zbus(name = "RenewLink")]
    fn renew_link(&self, ifindex: i32) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#ForceRenewLink()) Call interface method `ForceRenewLink`.
    #[zbus(name = "ForceRenewLink")]
    fn force_renew_link(&self, ifindex: i32) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#ReconfigureLink()) Call interface method `ReconfigureLink`.
    #[zbus(name = "ReconfigureLink")]
    fn reconfigure_link(&self, ifindex: i32) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#Reload()) Call interface method `Reload`.
    #[zbus(name = "Reload")]
    fn reload(&self) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#DescribeLink()) Call interface method `DescribeLink`.
    #[zbus(name = "DescribeLink")]
    fn describe_link(&self, ifindex: i32) -> crate::zbus::Result<String>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#Describe()) Call interface method `Describe`.
    #[zbus(name = "Describe")]
    fn describe(&self) -> crate::zbus::Result<String>;

    /// Get property `OperationalState`.
    #[zbus(property(emits_changed_signal = "true"), name = "OperationalState")]
    fn operational_state(&self) -> crate::zbus::Result<String>;

    /// Get property `CarrierState`.
    #[zbus(property(emits_changed_signal = "true"), name = "CarrierState")]
    fn carrier_state(&self) -> crate::zbus::Result<String>;

    /// Get property `AddressState`.
    #[zbus(property(emits_changed_signal = "true"), name = "AddressState")]
    fn address_state(&self) -> crate::zbus::Result<String>;

    /// Get property `IPv4AddressState`.
    #[zbus(property(emits_changed_signal = "true"), name = "IPv4AddressState")]
    fn i_pv4_address_state(&self) -> crate::zbus::Result<String>;

    /// Get property `IPv6AddressState`.
    #[zbus(property(emits_changed_signal = "true"), name = "IPv6AddressState")]
    fn i_pv6_address_state(&self) -> crate::zbus::Result<String>;

    /// Get property `OnlineState`.
    #[zbus(property(emits_changed_signal = "true"), name = "OnlineState")]
    fn online_state(&self) -> crate::zbus::Result<String>;

    /// Get property `NamespaceId`.
    #[zbus(property(emits_changed_signal = "const"), name = "NamespaceId")]
    fn namespace_id(&self) -> crate::zbus::Result<u64>;

    /// Get property `NamespaceNSID`.
    #[zbus(property(emits_changed_signal = "false"), name = "NamespaceNSID")]
    fn namespace_nsid(&self) -> crate::zbus::Result<u32>;
}

/// Proxy object for `org.freedesktop.network1.Link`.
#[proxy(
    interface = "org.freedesktop.network1.Link",
    gen_blocking = false,
    default_service = "org.freedesktop.network1",
    assume_defaults = false
)]
pub trait Link {
    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#SetNTP()) Call interface method `SetNTP`.
    #[zbus(name = "SetNTP")]
    fn set_ntp(&self, servers: Vec<String>) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#SetDNS()) Call interface method `SetDNS`.
    #[zbus(name = "SetDNS")]
    fn set_dns(&self, addresses: Vec<(i32, Vec<u8>)>) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#SetDNSEx()) Call interface method `SetDNSEx`.
    #[zbus(name = "SetDNSEx")]
    fn set_dns_ex(&self, addresses: Vec<(i32, Vec<u8>, u16, String)>) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#SetDomains()) Call interface method `SetDomains`.
    #[zbus(name = "SetDomains")]
    fn set_domains(&self, domains: Vec<(String, bool)>) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#SetDefaultRoute()) Call interface method `SetDefaultRoute`.
    #[zbus(name = "SetDefaultRoute")]
    fn set_default_route(&self, enable: bool) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#SetLLMNR()) Call interface method `SetLLMNR`.
    #[zbus(name = "SetLLMNR")]
    fn set_llmnr(&self, mode: String) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#SetMulticastDNS()) Call interface method `SetMulticastDNS`.
    #[zbus(name = "SetMulticastDNS")]
    fn set_multicast_dns(&self, mode: String) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#SetDNSOverTLS()) Call interface method `SetDNSOverTLS`.
    #[zbus(name = "SetDNSOverTLS")]
    fn set_dns_over_tls(&self, mode: String) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#SetDNSSEC()) Call interface method `SetDNSSEC`.
    #[zbus(name = "SetDNSSEC")]
    fn set_dnssec(&self, mode: String) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#SetDNSSECNegativeTrustAnchors()) Call interface method `SetDNSSECNegativeTrustAnchors`.
    #[zbus(name = "SetDNSSECNegativeTrustAnchors")]
    fn set_dnssec_negative_trust_anchors(&self, names: Vec<String>) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#RevertNTP()) Call interface method `RevertNTP`.
    #[zbus(name = "RevertNTP")]
    fn revert_ntp(&self) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#RevertDNS()) Call interface method `RevertDNS`.
    #[zbus(name = "RevertDNS")]
    fn revert_dns(&self) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#Renew()) Call interface method `Renew`.
    #[zbus(name = "Renew")]
    fn renew(&self) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#ForceRenew()) Call interface method `ForceRenew`.
    #[zbus(name = "ForceRenew")]
    fn force_renew(&self) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#Reconfigure()) Call interface method `Reconfigure`.
    #[zbus(name = "Reconfigure")]
    fn reconfigure(&self) -> crate::zbus::Result<()>;

    /// [📖](https://www.freedesktop.org/software/systemd/man/systemd.directives.html#Describe()) Call interface method `Describe`.
    #[zbus(name = "Describe")]
    fn describe(&self) -> crate::zbus::Result<String>;

    /// Get property `OperationalState`.
    #[zbus(property(emits_changed_signal = "true"), name = "OperationalState")]
    fn operational_state(&self) -> crate::zbus::Result<String>;

    /// Get property `CarrierState`.
    #[zbus(property(emits_changed_signal = "true"), name = "CarrierState")]
    fn carrier_state(&self) -> crate::zbus::Result<String>;

    /// Get property `AddressState`.
    #[zbus(property(emits_changed_signal = "true"), name = "AddressState")]
    fn address_state(&self) -> crate::zbus::Result<String>;

    /// Get property `IPv4AddressState`.
    #[zbus(property(emits_changed_signal = "true"), name = "IPv4AddressState")]
    fn i_pv4_address_state(&self) -> crate::zbus::Result<String>;

    /// Get property `IPv6AddressState`.
    #[zbus(property(emits_changed_signal = "true"), name = "IPv6AddressState")]
    fn i_pv6_address_state(&self) -> crate::zbus::Result<String>;

    /// Get property `OnlineState`.
    #[zbus(property(emits_changed_signal = "true"), name = "OnlineState")]
    fn online_state(&self) -> crate::zbus::Result<String>;

    /// Get property `AdministrativeState`.
    #[zbus(property(emits_changed_signal = "true"), name = "AdministrativeState")]
    fn administrative_state(&self) -> crate::zbus::Result<String>;

    /// Get property `BitRates`.
    #[zbus(property(emits_changed_signal = "false"), name = "BitRates")]
    fn bit_rates(&self) -> crate::zbus::Result<(u64, u64)>;
}

/// Proxy object for `org.freedesktop.network1.Network`.
#[proxy(
    interface = "org.freedesktop.network1.Network",
    gen_blocking = false,
    default_service = "org.freedesktop.network1",
    assume_defaults = false
)]
pub trait Network {
    /// Get property `Description`.
    #[zbus(property(emits_changed_signal = "const"), name = "Description")]
    fn description(&self) -> crate::zbus::Result<String>;

    /// Get property `SourcePath`.
    #[zbus(property(emits_changed_signal = "const"), name = "SourcePath")]
    fn source_path(&self) -> crate::zbus::Result<String>;

    /// Get property `MatchMAC`.
    #[zbus(property(emits_changed_signal = "const"), name = "MatchMAC")]
    fn match_mac(&self) -> crate::zbus::Result<Vec<String>>;

    /// Get property `MatchPath`.
    #[zbus(property(emits_changed_signal = "const"), name = "MatchPath")]
    fn match_path(&self) -> crate::zbus::Result<Vec<String>>;

    /// Get property `MatchDriver`.
    #[zbus(property(emits_changed_signal = "const"), name = "MatchDriver")]
    fn match_driver(&self) -> crate::zbus::Result<Vec<String>>;

    /// Get property `MatchType`.
    #[zbus(property(emits_changed_signal = "const"), name = "MatchType")]
    fn match_type(&self) -> crate::zbus::Result<Vec<String>>;

    /// Get property `MatchName`.
    #[zbus(property(emits_changed_signal = "const"), name = "MatchName")]
    fn match_name(&self) -> crate::zbus::Result<Vec<String>>;
}

/// Proxy object for `org.freedesktop.network1.DHCPServer`.
#[proxy(
    interface = "org.freedesktop.network1.DHCPServer",
    gen_blocking = false,
    default_service = "org.freedesktop.network1",
    assume_defaults = false
)]
pub trait DHCPServer {
    /// Get property `Leases`.
    #[zbus(property(emits_changed_signal = "true"), name = "Leases")]
    fn leases(&self) -> crate::zbus::Result<Vec<(u32, Vec<u8>, Vec<u8>, Vec<u8>, Vec<u8>, u64)>>;
}

/// Proxy object for `org.freedesktop.network1.DHCPv4Client`.
#[proxy(
    interface = "org.freedesktop.network1.DHCPv4Client",
    gen_blocking = false,
    default_service = "org.freedesktop.network1",
    assume_defaults = false
)]
pub trait DHCPv4Client {
    /// Get property `State`.
    #[zbus(property(emits_changed_signal = "true"), name = "State")]
    fn state(&self) -> crate::zbus::Result<String>;
}

/// Proxy object for `org.freedesktop.network1.DHCPv6Client`.
#[proxy(
    interface = "org.freedesktop.network1.DHCPv6Client",
    gen_blocking = false,
    default_service = "org.freedesktop.network1",
    assume_defaults = false
)]
pub trait DHCPv6Client {
    /// Get property `State`.
    #[zbus(property(emits_changed_signal = "true"), name = "State")]
    fn state(&self) -> crate::zbus::Result<String>;
}