use std::collections::HashMap;
use zbus::proxy;
use zbus::zvariant::{ObjectPath, OwnedObjectPath, OwnedValue, Value};
#[proxy(
interface = "org.freedesktop.NetworkManager.Settings",
default_service = "org.freedesktop.NetworkManager",
default_path = "/org/freedesktop/NetworkManager/Settings"
)]
pub trait Settings {
fn add_connection(
&self,
connection: HashMap<&str, HashMap<&str, &Value<'_>>>,
) -> zbus::Result<OwnedObjectPath>;
fn add_connection2(
&self,
settings: HashMap<&str, HashMap<&str, &Value<'_>>>,
flags: u32,
args: HashMap<&str, &Value<'_>>,
) -> zbus::Result<(OwnedObjectPath, HashMap<String, OwnedValue>)>;
fn add_connection_unsaved(
&self,
connection: HashMap<&str, HashMap<&str, &Value<'_>>>,
) -> zbus::Result<OwnedObjectPath>;
fn get_connection_by_uuid(&self, uuid: &str) -> zbus::Result<OwnedObjectPath>;
fn list_connections(&self) -> zbus::Result<Vec<OwnedObjectPath>>;
fn load_connections(&self, filenames: &[&str]) -> zbus::Result<(bool, Vec<String>)>;
fn reload_connections(&self) -> zbus::Result<bool>;
fn save_hostname(&self, hostname: &str) -> zbus::Result<()>;
#[zbus(signal)]
fn connection_removed(&self, connection: ObjectPath<'_>) -> zbus::Result<()>;
#[zbus(signal)]
fn new_connection(&self, connection: ObjectPath<'_>) -> zbus::Result<()>;
#[zbus(property)]
fn can_modify(&self) -> zbus::Result<bool>;
#[zbus(property)]
fn connections(&self) -> zbus::Result<Vec<OwnedObjectPath>>;
#[zbus(property)]
fn hostname(&self) -> zbus::Result<String>;
}