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