xbmc
AndroidPowerSyscall.h
1 /*
2  * Copyright (C) 2012-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include "powermanagement/IPowerSyscall.h"
12 
14 {
15 public:
16  CAndroidPowerSyscall() = default;
17  ~CAndroidPowerSyscall() override = default;
18 
19  static IPowerSyscall* CreateInstance();
20  static void Register();
21 
22  bool Powerdown() override { return false; }
23  bool Suspend() override { return false; }
24  bool Hibernate() override { return false; }
25  bool Reboot() override { return false; }
26 
27  bool CanPowerdown() override { return false; }
28  bool CanSuspend() override { return false; }
29  bool CanHibernate() override { return false; }
30  bool CanReboot() override { return false; }
31  int BatteryLevel() override;
32 
33  bool PumpPowerEvents(IPowerEventsCallback* callback) override;
34 
35  void SetSuspended() { m_state = SUSPENDED; }
36  void SetResumed() { m_state = RESUMED; }
37 
38 private:
39  enum STATE : unsigned int
40  {
41  REPORTED = 0,
42  SUSPENDED = 1,
43  RESUMED = 2,
44  };
45  STATE m_state = REPORTED;
46 };
bool PumpPowerEvents(IPowerEventsCallback *callback) override
Pump power related events back to xbmc.
Definition: AndroidPowerSyscall.cpp:30
Definition: IPowerSyscall.h:11
Definition: IPowerSyscall.h:25
Definition: IPowerSyscall.h:82
Definition: AndroidPowerSyscall.h:13