use crate::{ffi};
use glib::{prelude::*,translate::*};
#[doc(alias = "nma_mobile_providers_split_3gpp_mcc_mnc")]
pub fn mobile_providers_split_3gpp_mcc_mnc(mccmnc: &str) -> Option<(glib::GString, glib::GString)> {
assert_initialized_main_thread!();
unsafe {
let mut mcc = std::ptr::null_mut();
let mut mnc = std::ptr::null_mut();
let ret = from_glib(ffi::nma_mobile_providers_split_3gpp_mcc_mnc(mccmnc.to_glib_none().0, &mut mcc, &mut mnc));
if ret { Some((from_glib_full(mcc), from_glib_full(mnc))) } else { None }
}
}
#[doc(alias = "nma_utils_menu_to_secret_flags")]
pub fn utils_menu_to_secret_flags(passwd_entry: &impl IsA<gtk::Widget>) -> nm::SettingSecretFlags {
assert_initialized_main_thread!();
unsafe {
from_glib(ffi::nma_utils_menu_to_secret_flags(passwd_entry.as_ref().to_glib_none().0))
}
}
#[doc(alias = "nma_utils_setup_password_storage")]
pub fn utils_setup_password_storage(passwd_entry: &impl IsA<gtk::Widget>, initial_flags: nm::SettingSecretFlags, setting: &impl IsA<nm::Setting>, password_flags_name: &str, with_not_required: bool, ask_mode: bool) {
assert_initialized_main_thread!();
unsafe {
ffi::nma_utils_setup_password_storage(passwd_entry.as_ref().to_glib_none().0, initial_flags.into_glib(), setting.as_ref().to_glib_none().0, password_flags_name.to_glib_none().0, with_not_required.into_glib(), ask_mode.into_glib());
}
}
#[doc(alias = "nma_utils_update_password_storage")]
pub fn utils_update_password_storage(passwd_entry: &impl IsA<gtk::Widget>, secret_flags: nm::SettingSecretFlags, setting: &impl IsA<nm::Setting>, password_flags_name: &str) {
assert_initialized_main_thread!();
unsafe {
ffi::nma_utils_update_password_storage(passwd_entry.as_ref().to_glib_none().0, secret_flags.into_glib(), setting.as_ref().to_glib_none().0, password_flags_name.to_glib_none().0);
}
}