// GENERATED — DO NOT EDIT

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

///|
pub(open) trait IPowerProfileMonitor {
  fn as_power_profile_monitor(Self) -> PowerProfileMonitor
  fn get_power_saver_enabled(Self) -> Bool = _
}

///|
pub impl IPowerProfileMonitor for PowerProfileMonitor with fn as_power_profile_monitor(
  self,
) {
  self
}

///|
/// [Upstream documentation](https://docs.gtk.org/gio/type_func.PowerProfileMonitor.dup_default.html).
pub extern "c" fn PowerProfileMonitor::dup_default() -> PowerProfileMonitor = "moonbit_g_power_profile_monitor_dup_default"

///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.PowerProfileMonitor.get_power_saver_enabled.html).
#borrow(self)
pub extern "c" fn PowerProfileMonitor::get_power_saver_enabled(
  self : PowerProfileMonitor,
) -> Bool = "moonbit_g_power_profile_monitor_get_power_saver_enabled"

///|
impl IPowerProfileMonitor with fn get_power_saver_enabled(self) -> Bool {
  self.as_power_profile_monitor().get_power_saver_enabled()
}

///|
pub fn PowerProfileMonitor::as_initable(self : PowerProfileMonitor) -> Initable = "%identity"

///|
pub impl IInitable for PowerProfileMonitor with fn as_initable(self) {
  self.as_initable()
}