// GENERATED — DO NOT EDIT
///|
/// [Upstream documentation](https://docs.gtk.org/gio/class.AppInfoMonitor.html).
pub type AppInfoMonitor
///|
pub(open) trait IAppInfoMonitor {
fn as_app_info_monitor(Self) -> AppInfoMonitor
fn connect_changed(Self, (AppInfoMonitor) -> Unit) -> UInt64 = _
}
///|
pub impl IAppInfoMonitor for AppInfoMonitor with fn as_app_info_monitor(self) {
self
}
///|
/// [Upstream documentation](https://docs.gtk.org/gio/type_func.AppInfoMonitor.get.html).
pub extern "c" fn AppInfoMonitor::get() -> AppInfoMonitor = "moonbit_g_app_info_monitor_get"
///|
#borrow(instance)
extern "c" fn g_app_info_monitor_connect_changed(
instance : AppInfoMonitor,
function : FuncRef[(AppInfoMonitor, (AppInfoMonitor) -> Unit) -> Unit],
closure : (AppInfoMonitor) -> Unit,
) -> UInt64 = "moonbit_g_app_info_monitor_connect_changed"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/signal.AppInfoMonitor.changed.html).
pub fn AppInfoMonitor::connect_changed(
self : AppInfoMonitor,
f : (AppInfoMonitor) -> Unit,
) -> UInt64 {
g_app_info_monitor_connect_changed(self, fn(instance_, f) { f(instance_) }, f)
}
///|
impl IAppInfoMonitor with fn connect_changed(self, f) -> UInt64 {
self.as_app_info_monitor().connect_changed(f)
}
///|
pub fn AppInfoMonitor::as_gobject_object(
self : AppInfoMonitor,
) -> @gobject.Object = "%identity"
///|
pub impl @gobject.IObject for AppInfoMonitor with fn as_object(self) {
self.as_gobject_object()
}