summaryrefslogtreecommitdiff
path: root/package/xbmc/patches/001-simplepm.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/xbmc/patches/001-simplepm.patch')
-rw-r--r--package/xbmc/patches/001-simplepm.patch144
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();