use crate::{ffi,MobileWizardAccessMethod};
use glib::{prelude::*,translate::*};
use std::{boxed::Box as Box_};
glib::wrapper! {
#[doc(alias = "NMAMobileWizard")]
pub struct MobileWizard(Object<ffi::NMAMobileWizard, ffi::NMAMobileWizardClass>);
match fn {
type_ => || ffi::nma_mobile_wizard_get_type(),
}
}
impl MobileWizard {
#[doc(alias = "nma_mobile_wizard_new")]
pub fn new<P: FnOnce(&MobileWizard, bool, &MobileWizardAccessMethod) + 'static>(parent: &impl IsA<gtk::Window>, window_group: &impl IsA<gtk::WindowGroup>, modem_caps: nm::DeviceModemCapabilities, will_connect_after: bool, cb: P) -> MobileWizard {
assert_initialized_main_thread!();
let cb_data: Box_<P> = Box_::new(cb);
unsafe extern "C" fn cb_func<P: FnOnce(&MobileWizard, bool, &MobileWizardAccessMethod) + 'static>(self_: *mut ffi::NMAMobileWizard, canceled: glib::ffi::gboolean, method: *mut ffi::NMAMobileWizardAccessMethod, user_data: glib::ffi::gpointer) {
let self_ = from_glib_borrow(self_);
let canceled = from_glib(canceled);
let method = from_glib_borrow(method);
let callback = Box_::from_raw(user_data as *mut P);
(*callback)(&self_, canceled, &method)
}
let cb = Some(cb_func::<P> as _);
let super_callback0: Box_<P> = cb_data;
unsafe {
from_glib_full(ffi::nma_mobile_wizard_new(parent.as_ref().to_glib_none().0, window_group.as_ref().to_glib_none().0, modem_caps.into_glib(), will_connect_after.into_glib(), cb, Box_::into_raw(super_callback0) as *mut _))
}
}
#[doc(alias = "nma_mobile_wizard_destroy")]
pub fn destroy(&self) {
unsafe {
ffi::nma_mobile_wizard_destroy(self.to_glib_none().0);
}
}
#[doc(alias = "nma_mobile_wizard_present")]
pub fn present(&self) {
unsafe {
ffi::nma_mobile_wizard_present(self.to_glib_none().0);
}
}
}