kodi
TVOSPowerSyscall.h
1 /*
2  * Copyright (C) 2012-2020 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  CTVOSPowerSyscall() = default;
17  ~CTVOSPowerSyscall() override = default;
18 
19  static IPowerSyscall* CreateInstance();
20  static void Register();
21 
22  bool Powerdown() override;
23  bool Suspend() override;
24  bool Hibernate() override;
25  bool Reboot() override;
26 
27  bool CanPowerdown() override;
28  bool CanSuspend() override;
29  bool CanHibernate() override;
30  bool CanReboot() override;
31  int BatteryLevel() override;
32 
33  bool PumpPowerEvents(IPowerEventsCallback* callback) override;
34 
35  void SetOnPause();
36  void SetOnResume();
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 };
Definition: IPowerSyscall.h:11
Definition: IPowerSyscall.h:25
Definition: TVOSPowerSyscall.h:13
bool PumpPowerEvents(IPowerEventsCallback *callback) override
Pump power related events back to xbmc.
Definition: TVOSPowerSyscall.cpp:68
Definition: IPowerSyscall.h:82