|
@@ -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();
|