diff options
Diffstat (limited to 'package/xbmc/patches/001-simplepm.patch')
-rw-r--r-- | package/xbmc/patches/001-simplepm.patch | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/package/xbmc/patches/001-simplepm.patch b/package/xbmc/patches/001-simplepm.patch new file mode 100644 index 000000000..41ded94fa --- /dev/null +++ b/package/xbmc/patches/001-simplepm.patch @@ -0,0 +1,144 @@ +diff -Nur xbmc-12.3-Frodo.orig/xbmc/powermanagement/linux/LinuxPowerSyscall.cpp xbmc-12.3-Frodo/xbmc/powermanagement/linux/LinuxPowerSyscall.cpp +--- xbmc-12.3-Frodo.orig/xbmc/powermanagement/linux/LinuxPowerSyscall.cpp 1970-01-01 01:00:00.000000000 +0100 ++++ xbmc-12.3-Frodo/xbmc/powermanagement/linux/LinuxPowerSyscall.cpp 2014-01-10 16:23:32.238217592 +0100 +@@ -0,0 +1,55 @@ ++/* ++ * Copyright (C) 2014 Team XBMC ++ * http://www.xbmc.org ++ * ++ * This Program 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 2, or (at your option) ++ * any later version. ++ * ++ * This Program 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 XBMC; see the file COPYING. If not, see ++ * <http://www.gnu.org/licenses/>. ++ * ++ */ ++ ++#if defined (_LINUX) ++ ++#include <stdlib.h> ++#include "LinuxPowerSyscall.h" ++#include "utils/log.h" ++ ++CLinuxPowerSyscall::CLinuxPowerSyscall() ++{ ++ CLog::Log(LOGINFO, "Selected LinuxPower as PowerSyscall"); ++} ++ ++CLinuxPowerSyscall::~CLinuxPowerSyscall() ++{ } ++ ++bool CLinuxPowerSyscall::Powerdown() ++{ ++ system("/sbin/poweroff -F"); ++ return 0; ++} ++ ++bool CLinuxPowerSyscall::Reboot() ++{ ++ system("/sbin/reboot -F"); ++ return 0; ++} ++ ++int CLinuxPowerSyscall::BatteryLevel(void) ++{ } ++ ++bool CLinuxPowerSyscall::PumpPowerEvents(IPowerEventsCallback *callback) ++{ ++ return true; ++} ++ ++#endif +diff -Nur xbmc-12.3-Frodo.orig/xbmc/powermanagement/linux/LinuxPowerSyscall.h xbmc-12.3-Frodo/xbmc/powermanagement/linux/LinuxPowerSyscall.h +--- xbmc-12.3-Frodo.orig/xbmc/powermanagement/linux/LinuxPowerSyscall.h 1970-01-01 01:00:00.000000000 +0100 ++++ xbmc-12.3-Frodo/xbmc/powermanagement/linux/LinuxPowerSyscall.h 2014-01-10 14:57:23.365205874 +0100 +@@ -0,0 +1,44 @@ ++#pragma once ++/* ++ * Copyright (C) 2014 Team XBMC ++ * http://www.xbmc.org ++ * ++ * This Program 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 2, or (at your option) ++ * any later version. ++ * ++ * This Program 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 XBMC; see the file COPYING. If not, see ++ * <http://www.gnu.org/licenses/>. ++ * ++ */ ++ ++#if defined (_LINUX) ++#include "powermanagement/IPowerSyscall.h" ++ ++class CLinuxPowerSyscall : public CPowerSyscallWithoutEvents ++{ ++public: ++ CLinuxPowerSyscall(); ++ ~CLinuxPowerSyscall(); ++ ++ virtual bool Powerdown(); ++ virtual bool Suspend(void) { return false; } ++ virtual bool Hibernate(void) { return false; } ++ virtual bool Reboot(); ++ ++ virtual bool CanPowerdown(void) { return true; } ++ virtual bool CanSuspend(void) { return false; } ++ virtual bool CanHibernate(void) { return false; } ++ virtual bool CanReboot(void) { return true; } ++ virtual int BatteryLevel(void); ++ ++ virtual bool PumpPowerEvents(IPowerEventsCallback *callback); ++}; ++#endif +diff -Nur xbmc-12.3-Frodo.orig/xbmc/powermanagement/linux/Makefile xbmc-12.3-Frodo/xbmc/powermanagement/linux/Makefile +--- xbmc-12.3-Frodo.orig/xbmc/powermanagement/linux/Makefile 2013-12-12 22:47:49.000000000 +0100 ++++ xbmc-12.3-Frodo/xbmc/powermanagement/linux/Makefile 2014-01-10 14:27:13.411383558 +0100 +@@ -2,7 +2,8 @@ + ConsoleUPowerSyscall.cpp \ + HALPowerSyscall.cpp \ + UPowerSyscall.cpp \ +- SystemdUPowerSyscall.cpp ++ SystemdUPowerSyscall.cpp \ ++ LinuxPowerSyscall.cpp + + LIB=powermanagement_linux.a + +diff -Nur xbmc-12.3-Frodo.orig/xbmc/powermanagement/PowerManager.cpp xbmc-12.3-Frodo/xbmc/powermanagement/PowerManager.cpp +--- xbmc-12.3-Frodo.orig/xbmc/powermanagement/PowerManager.cpp 2013-12-12 22:47:49.000000000 +0100 ++++ xbmc-12.3-Frodo/xbmc/powermanagement/PowerManager.cpp 2014-01-14 11:19:11.558337441 +0100 +@@ -46,6 +46,9 @@ + #include "linux/ConsoleDeviceKitPowerSyscall.h" + #include "linux/SystemdUPowerSyscall.h" + #include "linux/UPowerSyscall.h" ++#ifdef HAS_SIMPLEPM ++#include "linux/LinuxPowerSyscall.h" ++#endif + #ifdef HAS_HAL + #include "linux/HALPowerSyscall.h" + #endif +@@ -83,6 +86,10 @@ + m_instance = new CSystemdUPowerSyscall(); + else if (CUPowerSyscall::HasUPower()) + m_instance = new CUPowerSyscall(); ++#ifdef HAS_SIMPLEPM ++ else ++ m_instance = new CLinuxPowerSyscall(); ++#endif + #ifdef HAS_HAL + else + m_instance = new CHALPowerSyscall(); |