PowerComponentMac.h 667 B

12345678910111213141516171819202122232425262728
  1. #ifndef POWERCOMPONENTMAC_H
  2. #define POWERCOMPONENTMAC_H
  3. #include "PowerComponent.h"
  4. #include <IOKit/pwr_mgt/IOPMLib.h>
  5. class PowerComponentMac : public PowerComponent
  6. {
  7. public:
  8. PowerComponentMac() : PowerComponent(nullptr), m_assertion(0) { }
  9. void doDisableScreensaver() override;
  10. void doEnableScreensaver() override;
  11. virtual int getPowerCapabilities() override
  12. {
  13. int flags = IOPMSleepEnabled() ? CAP_SUSPEND : 0;
  14. return flags | CAP_POWER_OFF | CAP_REBOOT;
  15. }
  16. virtual bool PowerOff() override;
  17. virtual bool Reboot() override;
  18. virtual bool Suspend() override;
  19. private:
  20. IOPMAssertionID m_assertion = 0;
  21. };
  22. #endif // POWERCOMPONENTMAC_H