3 #include <IOKit/pwr_mgt/IOPMLib.h>
7 IOPMAssertionID displayAssertionID = 0;
8 IOReturn displayRes = 0;
10 IOPMAssertionID systemAssertionID = 0;
11 IOReturn systemRes = 0;
15 bool Idle::preventDisplaySleep(const QString &reason) {
16 displayRes = IOPMAssertionCreateWithName(kIOPMAssertionTypePreventUserIdleDisplaySleep,
17 kIOPMAssertionLevelOn, reason.toCFString(), &displayAssertionID);
18 return displayRes == kIOReturnSuccess;
21 bool Idle::allowDisplaySleep() {
22 displayRes = IOPMAssertionRelease(displayAssertionID);
23 return displayRes == kIOReturnSuccess;
26 QString Idle::displayErrorMessage() {
28 // return QString::fromUtf8(IOService::stringFromReturn(displayRes));
31 bool Idle::preventSystemSleep(const QString &reason) {
32 systemRes = IOPMAssertionCreateWithName(kIOPMAssertionTypePreventUserIdleSystemSleep,
33 kIOPMAssertionLevelOn, reason.toCFString(), &systemAssertionID);
34 return systemRes == kIOReturnSuccess;
37 bool Idle::allowSystemSleep() {
38 systemRes = IOPMAssertionRelease(systemAssertionID);
39 return systemRes == kIOReturnSuccess;
42 QString Idle::systemErrorMessage() {
44 // return QString::fromUtf8(IOService::stringFromReturn(systemRes));