use zbus::{Result, proxy};
use zvariant::OwnedObjectPath;
#[proxy(
interface = "org.freedesktop.NetworkManager.Connection.Active",
default_service = "org.freedesktop.NetworkManager"
)]
pub trait NMActiveConnection {
#[zbus(property)]
fn state(&self) -> Result<u32>;
#[zbus(property)]
fn connection(&self) -> Result<OwnedObjectPath>;
#[zbus(property)]
fn specific_object(&self) -> Result<OwnedObjectPath>;
#[zbus(property)]
fn id(&self) -> Result<String>;
#[zbus(property)]
fn uuid(&self) -> Result<String>;
#[zbus(property)]
fn devices(&self) -> Result<Vec<OwnedObjectPath>>;
#[zbus(property)]
fn ip4_config(&self) -> Result<OwnedObjectPath>;
#[zbus(property)]
fn ip6_config(&self) -> Result<OwnedObjectPath>;
#[zbus(signal, name = "StateChanged")]
fn activation_state_changed(&self, state: u32, reason: u32);
}