use crate::{Object,SessionItem,SiLink,SiLinkable};
use glib::{prelude::*,translate::*};
glib::wrapper! {
#[doc(alias = "WpSiAcquisition")]
pub struct SiAcquisition(Interface<ffi::WpSiAcquisition, ffi::WpSiAcquisitionInterface>) @requires SessionItem, Object;
match fn {
type_ => || ffi::wp_si_acquisition_get_type(),
}
}
impl SiAcquisition {
pub const NONE: Option<&'static SiAcquisition> = None;
}
mod sealed {
pub trait Sealed {}
impl<T: super::IsA<super::SiAcquisition>> Sealed for T {}
}
pub trait SiAcquisitionExt: IsA<SiAcquisition> + sealed::Sealed + 'static {
#[doc(alias = "wp_si_acquisition_release")]
fn release(&self, acquisitor: &impl IsA<SiLink>, item: &impl IsA<SiLinkable>) {
unsafe {
ffi::wp_si_acquisition_release(self.as_ref().to_glib_none().0, acquisitor.as_ref().to_glib_none().0, item.as_ref().to_glib_none().0);
}
}
}
impl<O: IsA<SiAcquisition>> SiAcquisitionExt for O {}