use zbus::{proxy, zvariant::OwnedObjectPath};
pub mod vpn;
#[proxy(
default_service = "org.freedesktop.NetworkManager",
interface = "org.freedesktop.NetworkManager.Connection.Active"
)]
pub(crate) trait ConnectionActive {
#[zbus(property)]
fn connection(&self) -> zbus::Result<OwnedObjectPath>;
#[zbus(property)]
fn specific_object(&self) -> zbus::Result<OwnedObjectPath>;
#[zbus(property)]
fn id(&self) -> zbus::Result<String>;
#[zbus(property)]
fn uuid(&self) -> zbus::Result<String>;
#[zbus(property, name = "Type")]
fn type_(&self) -> zbus::Result<String>;
#[zbus(property)]
fn devices(&self) -> zbus::Result<Vec<OwnedObjectPath>>;
#[zbus(property)]
fn state(&self) -> zbus::Result<u32>;
#[zbus(property)]
fn state_flags(&self) -> zbus::Result<u32>;
#[zbus(property)]
fn default(&self) -> zbus::Result<bool>;
#[zbus(property)]
fn ip4_config(&self) -> zbus::Result<OwnedObjectPath>;
#[zbus(property)]
fn dhcp4_config(&self) -> zbus::Result<OwnedObjectPath>;
#[zbus(property)]
fn default6(&self) -> zbus::Result<bool>;
#[zbus(property)]
fn ip6_config(&self) -> zbus::Result<OwnedObjectPath>;
#[zbus(property)]
fn dhcp6_config(&self) -> zbus::Result<OwnedObjectPath>;
#[zbus(property)]
fn vpn(&self) -> zbus::Result<bool>;
#[zbus(property)]
fn master(&self) -> zbus::Result<OwnedObjectPath>;
#[zbus(property)]
fn controller(&self) -> zbus::Result<OwnedObjectPath>;
#[zbus(signal, name = "StateChanged")]
fn active_connection_state_changed(&self, state: u32, reason: u32) -> zbus::Result<()>;
}