// GENERATED — DO NOT EDIT
///|
/// [Upstream documentation](https://docs.gtk.org/gio/class.VolumeMonitor.html).
pub type VolumeMonitor
///|
pub(open) trait IVolumeMonitor {
fn as_volume_monitor(Self) -> VolumeMonitor
fn get_connected_drives(Self) -> Array[Drive] = _
fn get_mount_for_uuid(Self, String) -> Mount? = _
fn get_mounts(Self) -> Array[Mount] = _
fn get_volume_for_uuid(Self, String) -> Volume? = _
fn get_volumes(Self) -> Array[Volume] = _
fn connect_drive_changed(Self, (VolumeMonitor, Drive) -> Unit) -> UInt64 = _
fn connect_drive_connected(Self, (VolumeMonitor, Drive) -> Unit) -> UInt64 = _
fn connect_drive_disconnected(Self, (VolumeMonitor, Drive) -> Unit) -> UInt64 = _
fn connect_drive_eject_button(Self, (VolumeMonitor, Drive) -> Unit) -> UInt64 = _
fn connect_drive_stop_button(Self, (VolumeMonitor, Drive) -> Unit) -> UInt64 = _
fn connect_mount_added(Self, (VolumeMonitor, Mount) -> Unit) -> UInt64 = _
fn connect_mount_changed(Self, (VolumeMonitor, Mount) -> Unit) -> UInt64 = _
fn connect_mount_pre_unmount(Self, (VolumeMonitor, Mount) -> Unit) -> UInt64 = _
fn connect_mount_removed(Self, (VolumeMonitor, Mount) -> Unit) -> UInt64 = _
fn connect_volume_added(Self, (VolumeMonitor, Volume) -> Unit) -> UInt64 = _
fn connect_volume_changed(Self, (VolumeMonitor, Volume) -> Unit) -> UInt64 = _
fn connect_volume_removed(Self, (VolumeMonitor, Volume) -> Unit) -> UInt64 = _
}
///|
pub impl IVolumeMonitor for VolumeMonitor with fn as_volume_monitor(self) {
self
}
///|
/// Implementation contract for VolumeMonitor.drive_changed. Self is the retained MoonBit state; the second parameter is the invoked VolumeMonitor object.
pub(open) trait VVolumeMonitorDriveChanged {
fn drive_changed(Self, VolumeMonitor, &IDrive) -> Unit
}
///|
/// Implementation contract for VolumeMonitor.drive_connected. Self is the retained MoonBit state; the second parameter is the invoked VolumeMonitor object.
pub(open) trait VVolumeMonitorDriveConnected {
fn drive_connected(Self, VolumeMonitor, &IDrive) -> Unit
}
///|
/// Implementation contract for VolumeMonitor.drive_disconnected. Self is the retained MoonBit state; the second parameter is the invoked VolumeMonitor object.
pub(open) trait VVolumeMonitorDriveDisconnected {
fn drive_disconnected(Self, VolumeMonitor, &IDrive) -> Unit
}
///|
/// Implementation contract for VolumeMonitor.drive_eject_button. Self is the retained MoonBit state; the second parameter is the invoked VolumeMonitor object.
pub(open) trait VVolumeMonitorDriveEjectButton {
fn drive_eject_button(Self, VolumeMonitor, &IDrive) -> Unit
}
///|
/// Implementation contract for VolumeMonitor.drive_stop_button. Self is the retained MoonBit state; the second parameter is the invoked VolumeMonitor object.
pub(open) trait VVolumeMonitorDriveStopButton {
fn drive_stop_button(Self, VolumeMonitor, &IDrive) -> Unit
}
///|
/// Implementation contract for VolumeMonitor.mount_added. Self is the retained MoonBit state; the second parameter is the invoked VolumeMonitor object.
pub(open) trait VVolumeMonitorMountAdded {
fn mount_added(Self, VolumeMonitor, &IMount) -> Unit
}
///|
/// Implementation contract for VolumeMonitor.mount_changed. Self is the retained MoonBit state; the second parameter is the invoked VolumeMonitor object.
pub(open) trait VVolumeMonitorMountChanged {
fn mount_changed(Self, VolumeMonitor, &IMount) -> Unit
}
///|
/// Implementation contract for VolumeMonitor.mount_pre_unmount. Self is the retained MoonBit state; the second parameter is the invoked VolumeMonitor object.
pub(open) trait VVolumeMonitorMountPreUnmount {
fn mount_pre_unmount(Self, VolumeMonitor, &IMount) -> Unit
}
///|
/// Implementation contract for VolumeMonitor.mount_removed. Self is the retained MoonBit state; the second parameter is the invoked VolumeMonitor object.
pub(open) trait VVolumeMonitorMountRemoved {
fn mount_removed(Self, VolumeMonitor, &IMount) -> Unit
}
///|
/// Implementation contract for VolumeMonitor.volume_added. Self is the retained MoonBit state; the second parameter is the invoked VolumeMonitor object.
pub(open) trait VVolumeMonitorVolumeAdded {
fn volume_added(Self, VolumeMonitor, &IVolume) -> Unit
}
///|
/// Implementation contract for VolumeMonitor.volume_changed. Self is the retained MoonBit state; the second parameter is the invoked VolumeMonitor object.
pub(open) trait VVolumeMonitorVolumeChanged {
fn volume_changed(Self, VolumeMonitor, &IVolume) -> Unit
}
///|
/// Implementation contract for VolumeMonitor.volume_removed. Self is the retained MoonBit state; the second parameter is the invoked VolumeMonitor object.
pub(open) trait VVolumeMonitorVolumeRemoved {
fn volume_removed(Self, VolumeMonitor, &IVolume) -> Unit
}
///|
/// [Upstream documentation](https://docs.gtk.org/gio/type_func.VolumeMonitor.get.html).
pub extern "c" fn VolumeMonitor::get() -> VolumeMonitor = "moonbit_g_volume_monitor_get"
///|
#borrow(self_, result)
extern "c" fn moonbit_g_volume_monitor_get_connected_drives(
self_ : VolumeMonitor,
result : Ref[FixedArray[Drive]],
) = "moonbit_g_volume_monitor_get_connected_drives"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.VolumeMonitor.get_connected_drives.html).
pub fn VolumeMonitor::get_connected_drives(
self : VolumeMonitor,
) -> Array[Drive] {
let result_ref : Ref[FixedArray[Drive]] = Ref([])
moonbit_g_volume_monitor_get_connected_drives(self, result_ref)
let values : Array[Drive] = Array::new(capacity=result_ref.val.length())
for value in result_ref.val {
values.push(value)
}
values
}
///|
#borrow(self_, uuid)
extern "c" fn moonbit_g_volume_monitor_get_mount_for_uuid(
self_ : VolumeMonitor,
uuid : Bytes,
) -> @glib.Nullable[Mount] = "moonbit_g_volume_monitor_get_mount_for_uuid"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.VolumeMonitor.get_mount_for_uuid.html).
pub fn VolumeMonitor::get_mount_for_uuid(
self : VolumeMonitor,
uuid : String,
) -> Mount? {
let raw_result = moonbit_g_volume_monitor_get_mount_for_uuid(
self,
@encoding/utf8.encode(uuid),
)
raw_result.to_option()
}
///|
#borrow(self_, result)
extern "c" fn moonbit_g_volume_monitor_get_mounts(
self_ : VolumeMonitor,
result : Ref[FixedArray[Mount]],
) = "moonbit_g_volume_monitor_get_mounts"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.VolumeMonitor.get_mounts.html).
pub fn VolumeMonitor::get_mounts(self : VolumeMonitor) -> Array[Mount] {
let result_ref : Ref[FixedArray[Mount]] = Ref([])
moonbit_g_volume_monitor_get_mounts(self, result_ref)
let values : Array[Mount] = Array::new(capacity=result_ref.val.length())
for value in result_ref.val {
values.push(value)
}
values
}
///|
#borrow(self_, uuid)
extern "c" fn moonbit_g_volume_monitor_get_volume_for_uuid(
self_ : VolumeMonitor,
uuid : Bytes,
) -> @glib.Nullable[Volume] = "moonbit_g_volume_monitor_get_volume_for_uuid"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.VolumeMonitor.get_volume_for_uuid.html).
pub fn VolumeMonitor::get_volume_for_uuid(
self : VolumeMonitor,
uuid : String,
) -> Volume? {
let raw_result = moonbit_g_volume_monitor_get_volume_for_uuid(
self,
@encoding/utf8.encode(uuid),
)
raw_result.to_option()
}
///|
#borrow(self_, result)
extern "c" fn moonbit_g_volume_monitor_get_volumes(
self_ : VolumeMonitor,
result : Ref[FixedArray[Volume]],
) = "moonbit_g_volume_monitor_get_volumes"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.VolumeMonitor.get_volumes.html).
pub fn VolumeMonitor::get_volumes(self : VolumeMonitor) -> Array[Volume] {
let result_ref : Ref[FixedArray[Volume]] = Ref([])
moonbit_g_volume_monitor_get_volumes(self, result_ref)
let values : Array[Volume] = Array::new(capacity=result_ref.val.length())
for value in result_ref.val {
values.push(value)
}
values
}
///|
#borrow(instance)
extern "c" fn g_volume_monitor_connect_drive_changed(
instance : VolumeMonitor,
function : FuncRef[
(VolumeMonitor, Drive, (VolumeMonitor, Drive) -> Unit) -> Unit,
],
closure : (VolumeMonitor, Drive) -> Unit,
) -> UInt64 = "moonbit_g_volume_monitor_connect_drive_changed"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/signal.VolumeMonitor.drive-changed.html).
pub fn VolumeMonitor::connect_drive_changed(
self : VolumeMonitor,
f : (VolumeMonitor, Drive) -> Unit,
) -> UInt64 {
g_volume_monitor_connect_drive_changed(
self,
fn(instance_, drive, f) { f(instance_, drive) },
f,
)
}
///|
#borrow(instance)
extern "c" fn g_volume_monitor_connect_drive_connected(
instance : VolumeMonitor,
function : FuncRef[
(VolumeMonitor, Drive, (VolumeMonitor, Drive) -> Unit) -> Unit,
],
closure : (VolumeMonitor, Drive) -> Unit,
) -> UInt64 = "moonbit_g_volume_monitor_connect_drive_connected"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/signal.VolumeMonitor.drive-connected.html).
pub fn VolumeMonitor::connect_drive_connected(
self : VolumeMonitor,
f : (VolumeMonitor, Drive) -> Unit,
) -> UInt64 {
g_volume_monitor_connect_drive_connected(
self,
fn(instance_, drive, f) { f(instance_, drive) },
f,
)
}
///|
#borrow(instance)
extern "c" fn g_volume_monitor_connect_drive_disconnected(
instance : VolumeMonitor,
function : FuncRef[
(VolumeMonitor, Drive, (VolumeMonitor, Drive) -> Unit) -> Unit,
],
closure : (VolumeMonitor, Drive) -> Unit,
) -> UInt64 = "moonbit_g_volume_monitor_connect_drive_disconnected"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/signal.VolumeMonitor.drive-disconnected.html).
pub fn VolumeMonitor::connect_drive_disconnected(
self : VolumeMonitor,
f : (VolumeMonitor, Drive) -> Unit,
) -> UInt64 {
g_volume_monitor_connect_drive_disconnected(
self,
fn(instance_, drive, f) { f(instance_, drive) },
f,
)
}
///|
#borrow(instance)
extern "c" fn g_volume_monitor_connect_drive_eject_button(
instance : VolumeMonitor,
function : FuncRef[
(VolumeMonitor, Drive, (VolumeMonitor, Drive) -> Unit) -> Unit,
],
closure : (VolumeMonitor, Drive) -> Unit,
) -> UInt64 = "moonbit_g_volume_monitor_connect_drive_eject_button"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/signal.VolumeMonitor.drive-eject-button.html).
pub fn VolumeMonitor::connect_drive_eject_button(
self : VolumeMonitor,
f : (VolumeMonitor, Drive) -> Unit,
) -> UInt64 {
g_volume_monitor_connect_drive_eject_button(
self,
fn(instance_, drive, f) { f(instance_, drive) },
f,
)
}
///|
#borrow(instance)
extern "c" fn g_volume_monitor_connect_drive_stop_button(
instance : VolumeMonitor,
function : FuncRef[
(VolumeMonitor, Drive, (VolumeMonitor, Drive) -> Unit) -> Unit,
],
closure : (VolumeMonitor, Drive) -> Unit,
) -> UInt64 = "moonbit_g_volume_monitor_connect_drive_stop_button"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/signal.VolumeMonitor.drive-stop-button.html).
pub fn VolumeMonitor::connect_drive_stop_button(
self : VolumeMonitor,
f : (VolumeMonitor, Drive) -> Unit,
) -> UInt64 {
g_volume_monitor_connect_drive_stop_button(
self,
fn(instance_, drive, f) { f(instance_, drive) },
f,
)
}
///|
#borrow(instance)
extern "c" fn g_volume_monitor_connect_mount_added(
instance : VolumeMonitor,
function : FuncRef[
(VolumeMonitor, Mount, (VolumeMonitor, Mount) -> Unit) -> Unit,
],
closure : (VolumeMonitor, Mount) -> Unit,
) -> UInt64 = "moonbit_g_volume_monitor_connect_mount_added"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/signal.VolumeMonitor.mount-added.html).
pub fn VolumeMonitor::connect_mount_added(
self : VolumeMonitor,
f : (VolumeMonitor, Mount) -> Unit,
) -> UInt64 {
g_volume_monitor_connect_mount_added(
self,
fn(instance_, mount, f) { f(instance_, mount) },
f,
)
}
///|
#borrow(instance)
extern "c" fn g_volume_monitor_connect_mount_changed(
instance : VolumeMonitor,
function : FuncRef[
(VolumeMonitor, Mount, (VolumeMonitor, Mount) -> Unit) -> Unit,
],
closure : (VolumeMonitor, Mount) -> Unit,
) -> UInt64 = "moonbit_g_volume_monitor_connect_mount_changed"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/signal.VolumeMonitor.mount-changed.html).
pub fn VolumeMonitor::connect_mount_changed(
self : VolumeMonitor,
f : (VolumeMonitor, Mount) -> Unit,
) -> UInt64 {
g_volume_monitor_connect_mount_changed(
self,
fn(instance_, mount, f) { f(instance_, mount) },
f,
)
}
///|
#borrow(instance)
extern "c" fn g_volume_monitor_connect_mount_pre_unmount(
instance : VolumeMonitor,
function : FuncRef[
(VolumeMonitor, Mount, (VolumeMonitor, Mount) -> Unit) -> Unit,
],
closure : (VolumeMonitor, Mount) -> Unit,
) -> UInt64 = "moonbit_g_volume_monitor_connect_mount_pre_unmount"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/signal.VolumeMonitor.mount-pre-unmount.html).
pub fn VolumeMonitor::connect_mount_pre_unmount(
self : VolumeMonitor,
f : (VolumeMonitor, Mount) -> Unit,
) -> UInt64 {
g_volume_monitor_connect_mount_pre_unmount(
self,
fn(instance_, mount, f) { f(instance_, mount) },
f,
)
}
///|
#borrow(instance)
extern "c" fn g_volume_monitor_connect_mount_removed(
instance : VolumeMonitor,
function : FuncRef[
(VolumeMonitor, Mount, (VolumeMonitor, Mount) -> Unit) -> Unit,
],
closure : (VolumeMonitor, Mount) -> Unit,
) -> UInt64 = "moonbit_g_volume_monitor_connect_mount_removed"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/signal.VolumeMonitor.mount-removed.html).
pub fn VolumeMonitor::connect_mount_removed(
self : VolumeMonitor,
f : (VolumeMonitor, Mount) -> Unit,
) -> UInt64 {
g_volume_monitor_connect_mount_removed(
self,
fn(instance_, mount, f) { f(instance_, mount) },
f,
)
}
///|
#borrow(instance)
extern "c" fn g_volume_monitor_connect_volume_added(
instance : VolumeMonitor,
function : FuncRef[
(VolumeMonitor, Volume, (VolumeMonitor, Volume) -> Unit) -> Unit,
],
closure : (VolumeMonitor, Volume) -> Unit,
) -> UInt64 = "moonbit_g_volume_monitor_connect_volume_added"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/signal.VolumeMonitor.volume-added.html).
pub fn VolumeMonitor::connect_volume_added(
self : VolumeMonitor,
f : (VolumeMonitor, Volume) -> Unit,
) -> UInt64 {
g_volume_monitor_connect_volume_added(
self,
fn(instance_, volume, f) { f(instance_, volume) },
f,
)
}
///|
#borrow(instance)
extern "c" fn g_volume_monitor_connect_volume_changed(
instance : VolumeMonitor,
function : FuncRef[
(VolumeMonitor, Volume, (VolumeMonitor, Volume) -> Unit) -> Unit,
],
closure : (VolumeMonitor, Volume) -> Unit,
) -> UInt64 = "moonbit_g_volume_monitor_connect_volume_changed"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/signal.VolumeMonitor.volume-changed.html).
pub fn VolumeMonitor::connect_volume_changed(
self : VolumeMonitor,
f : (VolumeMonitor, Volume) -> Unit,
) -> UInt64 {
g_volume_monitor_connect_volume_changed(
self,
fn(instance_, volume, f) { f(instance_, volume) },
f,
)
}
///|
#borrow(instance)
extern "c" fn g_volume_monitor_connect_volume_removed(
instance : VolumeMonitor,
function : FuncRef[
(VolumeMonitor, Volume, (VolumeMonitor, Volume) -> Unit) -> Unit,
],
closure : (VolumeMonitor, Volume) -> Unit,
) -> UInt64 = "moonbit_g_volume_monitor_connect_volume_removed"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/signal.VolumeMonitor.volume-removed.html).
pub fn VolumeMonitor::connect_volume_removed(
self : VolumeMonitor,
f : (VolumeMonitor, Volume) -> Unit,
) -> UInt64 {
g_volume_monitor_connect_volume_removed(
self,
fn(instance_, volume, f) { f(instance_, volume) },
f,
)
}
///|
impl IVolumeMonitor with fn get_connected_drives(self) -> Array[Drive] {
self.as_volume_monitor().get_connected_drives()
}
///|
impl IVolumeMonitor with fn get_mount_for_uuid(self, uuid) -> Mount? {
self.as_volume_monitor().get_mount_for_uuid(uuid)
}
///|
impl IVolumeMonitor with fn get_mounts(self) -> Array[Mount] {
self.as_volume_monitor().get_mounts()
}
///|
impl IVolumeMonitor with fn get_volume_for_uuid(self, uuid) -> Volume? {
self.as_volume_monitor().get_volume_for_uuid(uuid)
}
///|
impl IVolumeMonitor with fn get_volumes(self) -> Array[Volume] {
self.as_volume_monitor().get_volumes()
}
///|
impl IVolumeMonitor with fn connect_drive_changed(self, f) -> UInt64 {
self.as_volume_monitor().connect_drive_changed(f)
}
///|
impl IVolumeMonitor with fn connect_drive_connected(self, f) -> UInt64 {
self.as_volume_monitor().connect_drive_connected(f)
}
///|
impl IVolumeMonitor with fn connect_drive_disconnected(self, f) -> UInt64 {
self.as_volume_monitor().connect_drive_disconnected(f)
}
///|
impl IVolumeMonitor with fn connect_drive_eject_button(self, f) -> UInt64 {
self.as_volume_monitor().connect_drive_eject_button(f)
}
///|
impl IVolumeMonitor with fn connect_drive_stop_button(self, f) -> UInt64 {
self.as_volume_monitor().connect_drive_stop_button(f)
}
///|
impl IVolumeMonitor with fn connect_mount_added(self, f) -> UInt64 {
self.as_volume_monitor().connect_mount_added(f)
}
///|
impl IVolumeMonitor with fn connect_mount_changed(self, f) -> UInt64 {
self.as_volume_monitor().connect_mount_changed(f)
}
///|
impl IVolumeMonitor with fn connect_mount_pre_unmount(self, f) -> UInt64 {
self.as_volume_monitor().connect_mount_pre_unmount(f)
}
///|
impl IVolumeMonitor with fn connect_mount_removed(self, f) -> UInt64 {
self.as_volume_monitor().connect_mount_removed(f)
}
///|
impl IVolumeMonitor with fn connect_volume_added(self, f) -> UInt64 {
self.as_volume_monitor().connect_volume_added(f)
}
///|
impl IVolumeMonitor with fn connect_volume_changed(self, f) -> UInt64 {
self.as_volume_monitor().connect_volume_changed(f)
}
///|
impl IVolumeMonitor with fn connect_volume_removed(self, f) -> UInt64 {
self.as_volume_monitor().connect_volume_removed(f)
}
///|
pub fn VolumeMonitor::as_gobject_object(
self : VolumeMonitor,
) -> @gobject.Object = "%identity"
///|
pub impl @gobject.IObject for VolumeMonitor with fn as_object(self) {
self.as_gobject_object()
}