//! # D-Bus interface proxy for: `org.freedesktop.network1.Manager`
//!
//! This code was generated by `zbus-xmlgen` `4.1.0` from D-Bus introspection data.
//! Source: `Interface '/org/freedesktop/network1' from service 'org.freedesktop.network1' 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)]
#![allow(clippy)]
use zbus::proxy;
#[proxy(
    interface = "org.freedesktop.network1.Manager",
    default_service = "org.freedesktop.network1",
    default_path = "/org/freedesktop/network1"
)]
pub trait Manager {
    /// Describe method
    fn describe(&self) -> zbus::Result<String>;

    /// DescribeLink method
    fn describe_link(&self, ifindex: i32) -> zbus::Result<String>;

    /// ForceRenewLink method
    fn force_renew_link(&self, ifindex: i32) -> zbus::Result<()>;

    /// GetLinkByIndex method
    fn get_link_by_index(
        &self,
        ifindex: i32,
    ) -> zbus::Result<(String, zbus::zvariant::OwnedObjectPath)>;

    /// GetLinkByName method
    fn get_link_by_name(&self, name: &str) -> zbus::Result<(i32, zbus::zvariant::OwnedObjectPath)>;

    /// ListLinks method
    fn list_links(&self) -> zbus::Result<Vec<(i32, String, zbus::zvariant::OwnedObjectPath)>>;

    /// ReconfigureLink method
    fn reconfigure_link(&self, ifindex: i32) -> zbus::Result<()>;

    /// Reload method
    fn reload(&self) -> zbus::Result<()>;

    /// RenewLink method
    fn renew_link(&self, ifindex: i32) -> zbus::Result<()>;

    /// RevertLinkDNS method
    #[zbus(name = "RevertLinkDNS")]
    fn revert_link_dns(&self, ifindex: i32) -> zbus::Result<()>;

    /// RevertLinkNTP method
    #[zbus(name = "RevertLinkNTP")]
    fn revert_link_ntp(&self, ifindex: i32) -> zbus::Result<()>;

    /// SetLinkDNS method
    #[zbus(name = "SetLinkDNS")]
    fn set_link_dns(&self, ifindex: i32, addresses: &[&(i32, &[u8])]) -> zbus::Result<()>;

    /// SetLinkDNSEx method
    #[zbus(name = "SetLinkDNSEx")]
    fn set_link_dnsex(
        &self,
        ifindex: i32,
        addresses: &[&(i32, &[u8], u16, &str)],
    ) -> zbus::Result<()>;

    /// SetLinkDNSOverTLS method
    #[zbus(name = "SetLinkDNSOverTLS")]
    fn set_link_dnsover_tls(&self, ifindex: i32, mode: &str) -> zbus::Result<()>;

    /// SetLinkDNSSEC method
    #[zbus(name = "SetLinkDNSSEC")]
    fn set_link_dnssec(&self, ifindex: i32, mode: &str) -> zbus::Result<()>;

    /// SetLinkDNSSECNegativeTrustAnchors method
    #[zbus(name = "SetLinkDNSSECNegativeTrustAnchors")]
    fn set_link_dnssecnegative_trust_anchors(
        &self,
        ifindex: i32,
        names: &[&str],
    ) -> zbus::Result<()>;

    /// SetLinkDefaultRoute method
    fn set_link_default_route(&self, ifindex: i32, enable: bool) -> zbus::Result<()>;

    /// SetLinkDomains method
    fn set_link_domains(&self, ifindex: i32, domains: &[&(&str, bool)]) -> zbus::Result<()>;

    /// SetLinkLLMNR method
    #[zbus(name = "SetLinkLLMNR")]
    fn set_link_llmnr(&self, ifindex: i32, mode: &str) -> zbus::Result<()>;

    /// SetLinkMulticastDNS method
    #[zbus(name = "SetLinkMulticastDNS")]
    fn set_link_multicast_dns(&self, ifindex: i32, mode: &str) -> zbus::Result<()>;

    /// SetLinkNTP method
    #[zbus(name = "SetLinkNTP")]
    fn set_link_ntp(&self, ifindex: i32, servers: &[&str]) -> zbus::Result<()>;

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

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

    /// IPv4AddressState property
    #[zbus(property, name = "IPv4AddressState")]
    fn ipv4_address_state(&self) -> zbus::Result<String>;

    /// IPv6AddressState property
    #[zbus(property, name = "IPv6AddressState")]
    fn ipv6_address_state(&self) -> zbus::Result<String>;

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

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

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