// GENERATED — DO NOT EDIT

///|
/// [Upstream documentation](https://docs.gtk.org/gio/class.NativeVolumeMonitor.html).
pub type NativeVolumeMonitor

///|
pub(open) trait INativeVolumeMonitor {
  fn as_native_volume_monitor(Self) -> NativeVolumeMonitor
}

///|
pub impl INativeVolumeMonitor for NativeVolumeMonitor with fn as_native_volume_monitor(
  self,
) {
  self
}

///|
pub fn NativeVolumeMonitor::as_volume_monitor(
  self : NativeVolumeMonitor,
) -> VolumeMonitor = "%identity"

///|
pub impl IVolumeMonitor for NativeVolumeMonitor with fn as_volume_monitor(self) {
  self.as_volume_monitor()
}

///|
pub fn NativeVolumeMonitor::as_gobject_object(
  self : NativeVolumeMonitor,
) -> @gobject.Object = "%identity"

///|
pub impl @gobject.IObject for NativeVolumeMonitor with fn as_object(self) {
  self.as_gobject_object()
}