// This file was generated by gir (https://github.com/gtk-rs/gir) // from gir-files (https://github.com/gtk-rs/gir-files) // DO NOT EDIT use AsyncProgress; use Error; use Repo; use RepoPullFlags; use Sysroot; use SysrootUpgraderFlags; use SysrootUpgraderPullFlags; use ffi; use gio; use glib; use glib::StaticType; use glib::Value; use glib::object::IsA; use glib::translate::*; use glib_ffi; use gobject_ffi; use std::mem; use std::ptr; glib_wrapper! { pub struct SysrootUpgrader(Object); match fn { get_type => || ffi::ostree_sysroot_upgrader_get_type(), } } impl SysrootUpgrader { pub fn new<'a, P: Into>>(sysroot: &Sysroot, cancellable: P) -> Result { let cancellable = cancellable.into(); let cancellable = cancellable.to_glib_none(); unsafe { let mut error = ptr::null_mut(); let ret = ffi::ostree_sysroot_upgrader_new(sysroot.to_glib_none().0, cancellable.0, &mut error); if error.is_null() { Ok(from_glib_full(ret)) } else { Err(from_glib_full(error)) } } } pub fn new_for_os<'a, 'b, P: Into>, Q: Into>>(sysroot: &Sysroot, osname: P, cancellable: Q) -> Result { let osname = osname.into(); let osname = osname.to_glib_none(); let cancellable = cancellable.into(); let cancellable = cancellable.to_glib_none(); unsafe { let mut error = ptr::null_mut(); let ret = ffi::ostree_sysroot_upgrader_new_for_os(sysroot.to_glib_none().0, osname.0, cancellable.0, &mut error); if error.is_null() { Ok(from_glib_full(ret)) } else { Err(from_glib_full(error)) } } } pub fn new_for_os_with_flags<'a, 'b, P: Into>, Q: Into>>(sysroot: &Sysroot, osname: P, flags: SysrootUpgraderFlags, cancellable: Q) -> Result { let osname = osname.into(); let osname = osname.to_glib_none(); let cancellable = cancellable.into(); let cancellable = cancellable.to_glib_none(); unsafe { let mut error = ptr::null_mut(); let ret = ffi::ostree_sysroot_upgrader_new_for_os_with_flags(sysroot.to_glib_none().0, osname.0, flags.to_glib(), cancellable.0, &mut error); if error.is_null() { Ok(from_glib_full(ret)) } else { Err(from_glib_full(error)) } } } pub fn check_timestamps(repo: &Repo, from_rev: &str, to_rev: &str) -> Result<(), Error> { unsafe { let mut error = ptr::null_mut(); let _ = ffi::ostree_sysroot_upgrader_check_timestamps(repo.to_glib_none().0, from_rev.to_glib_none().0, to_rev.to_glib_none().0, &mut error); if error.is_null() { Ok(()) } else { Err(from_glib_full(error)) } } } } pub trait SysrootUpgraderExt { fn deploy<'a, P: Into>>(&self, cancellable: P) -> Result<(), Error>; fn dup_origin(&self) -> Option; fn get_origin(&self) -> Option; fn get_origin_description(&self) -> Option; fn pull<'a, 'b, P: Into>, Q: Into>>(&self, flags: RepoPullFlags, upgrader_flags: SysrootUpgraderPullFlags, progress: P, cancellable: Q) -> Result; fn pull_one_dir<'a, 'b, P: Into>, Q: Into>>(&self, dir_to_pull: &str, flags: RepoPullFlags, upgrader_flags: SysrootUpgraderPullFlags, progress: P, cancellable: Q) -> Result; fn set_origin<'a, 'b, P: Into>, Q: Into>>(&self, origin: P, cancellable: Q) -> Result<(), Error>; fn get_property_flags(&self) -> SysrootUpgraderFlags; fn get_property_osname(&self) -> Option; fn get_property_sysroot(&self) -> Option; } impl + IsA> SysrootUpgraderExt for O { fn deploy<'a, P: Into>>(&self, cancellable: P) -> Result<(), Error> { let cancellable = cancellable.into(); let cancellable = cancellable.to_glib_none(); unsafe { let mut error = ptr::null_mut(); let _ = ffi::ostree_sysroot_upgrader_deploy(self.to_glib_none().0, cancellable.0, &mut error); if error.is_null() { Ok(()) } else { Err(from_glib_full(error)) } } } fn dup_origin(&self) -> Option { unsafe { from_glib_full(ffi::ostree_sysroot_upgrader_dup_origin(self.to_glib_none().0)) } } fn get_origin(&self) -> Option { unsafe { from_glib_none(ffi::ostree_sysroot_upgrader_get_origin(self.to_glib_none().0)) } } fn get_origin_description(&self) -> Option { unsafe { from_glib_full(ffi::ostree_sysroot_upgrader_get_origin_description(self.to_glib_none().0)) } } fn pull<'a, 'b, P: Into>, Q: Into>>(&self, flags: RepoPullFlags, upgrader_flags: SysrootUpgraderPullFlags, progress: P, cancellable: Q) -> Result { let progress = progress.into(); let progress = progress.to_glib_none(); let cancellable = cancellable.into(); let cancellable = cancellable.to_glib_none(); unsafe { let mut out_changed = mem::uninitialized(); let mut error = ptr::null_mut(); let _ = ffi::ostree_sysroot_upgrader_pull(self.to_glib_none().0, flags.to_glib(), upgrader_flags.to_glib(), progress.0, &mut out_changed, cancellable.0, &mut error); if error.is_null() { Ok(from_glib(out_changed)) } else { Err(from_glib_full(error)) } } } fn pull_one_dir<'a, 'b, P: Into>, Q: Into>>(&self, dir_to_pull: &str, flags: RepoPullFlags, upgrader_flags: SysrootUpgraderPullFlags, progress: P, cancellable: Q) -> Result { let progress = progress.into(); let progress = progress.to_glib_none(); let cancellable = cancellable.into(); let cancellable = cancellable.to_glib_none(); unsafe { let mut out_changed = mem::uninitialized(); let mut error = ptr::null_mut(); let _ = ffi::ostree_sysroot_upgrader_pull_one_dir(self.to_glib_none().0, dir_to_pull.to_glib_none().0, flags.to_glib(), upgrader_flags.to_glib(), progress.0, &mut out_changed, cancellable.0, &mut error); if error.is_null() { Ok(from_glib(out_changed)) } else { Err(from_glib_full(error)) } } } fn set_origin<'a, 'b, P: Into>, Q: Into>>(&self, origin: P, cancellable: Q) -> Result<(), Error> { let origin = origin.into(); let origin = origin.to_glib_none(); let cancellable = cancellable.into(); let cancellable = cancellable.to_glib_none(); unsafe { let mut error = ptr::null_mut(); let _ = ffi::ostree_sysroot_upgrader_set_origin(self.to_glib_none().0, origin.0, cancellable.0, &mut error); if error.is_null() { Ok(()) } else { Err(from_glib_full(error)) } } } fn get_property_flags(&self) -> SysrootUpgraderFlags { unsafe { let mut value = Value::from_type(::static_type()); gobject_ffi::g_object_get_property(self.to_glib_none().0, "flags".to_glib_none().0, value.to_glib_none_mut().0); value.get().unwrap() } } fn get_property_osname(&self) -> Option { unsafe { let mut value = Value::from_type(::static_type()); gobject_ffi::g_object_get_property(self.to_glib_none().0, "osname".to_glib_none().0, value.to_glib_none_mut().0); value.get() } } fn get_property_sysroot(&self) -> Option { unsafe { let mut value = Value::from_type(::static_type()); gobject_ffi::g_object_get_property(self.to_glib_none().0, "sysroot".to_glib_none().0, value.to_glib_none_mut().0); value.get() } } }