/* This file is part of Clementine. Copyright 2010, David Sansome Copyright 2015, Arun Narayanankutty Clementine is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Clementine is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Clementine. If not, see . */ #include "macidlehandler.h" #include #include #include "core/logging.h" #include "core/utilities.h" bool MacIdleHandler::is_inhibit_; MacIdleHandler::MacIdleHandler() : assertion_id_(0) { is_inhibit_ = false; } void MacIdleHandler::Inhibit(const char* reason) { IOReturn reply = IOPMAssertionCreateWithName( kIOPMAssertPreventUserIdleDisplaySleep, kIOPMAssertionLevelOn, CFSTR(reason), &assertion_id_); if (reply == kIOReturnSuccess) { is_inhibit_ = true; } else { qLog(Warning) << "Failed to inhibit screensaver/suspend"; } } void MacIdleHandler::Uninhibit() { IOReturn reply = IOPMAssertionRelease(assertion_id_); if (reply == kIOReturnSuccess) { is_inhibit_ = false; } else { qLog(Warning) << "Failed to uninhibit screensaver/suspend"; } } bool WindowsIdleHandler::Isinhibited() { return is_inhibit_; }