MythTV  master
mythpowerosx.h
Go to the documentation of this file.
1 #ifndef MYTHPOWEROSX_H
2 #define MYTHPOWEROSX_H
3 
4 // Qt
5 #include <QObject>
6 
7 // MythTV
8 #include "mythpower.h"
9 
10 // OS X
11 #include <CoreFoundation/CoreFoundation.h>
12 #include <IOKit/pwr_mgt/IOPMLib.h>
13 #include <IOKit/IOMessage.h>
14 
15 class MythPowerOSX final : public MythPower
16 {
17  Q_OBJECT
18 
19  friend class MythPower;
20 
21  public:
22 
23  protected slots:
24  void Refresh (void) override;
25 
26  protected:
27  MythPowerOSX();
28  ~MythPowerOSX() override;
29  void Init(void) override;
30  bool DoFeature (bool Delayed = false) override;
31 
32  static void PowerCallBack (void *Reference, io_service_t Service,
33  natural_t Type, void *Data);
34  static void PowerSourceCallBack (void *Reference);
35 
36  CFRunLoopSourceRef m_powerRef { nullptr };
37  io_connect_t m_rootPowerDomain { 0 };
38  io_object_t m_powerNotifier { MACH_PORT_NULL };
39  IONotificationPortRef m_powerNotifyPort { nullptr };
40 };
41 
42 #endif // MYTHPOWEROSX_H
MythPowerOSX
Definition: mythpowerosx.h:15
MythPowerOSX::MythPowerOSX
MythPowerOSX()
Power management for OSX.
Definition: mythpowerosx.cpp:24
MythPowerOSX::~MythPowerOSX
~MythPowerOSX() override
Definition: mythpowerosx.cpp:29
MythPower
Definition: mythpower.h:19
MythPowerOSX::DoFeature
bool DoFeature(bool Delayed=false) override
Definition: mythpowerosx.cpp:91
MythPowerOSX::PowerCallBack
static void PowerCallBack(void *Reference, io_service_t Service, natural_t Type, void *Data)
Receive notification of power status changes.
Definition: mythpowerosx.cpp:174
MythPowerOSX::Init
void Init(void) override
Definition: mythpowerosx.cpp:49
MythPowerOSX::m_powerNotifier
io_object_t m_powerNotifier
Definition: mythpowerosx.h:38
Service
Definition: service.h:42
MythPowerOSX::m_powerRef
CFRunLoopSourceRef m_powerRef
Definition: mythpowerosx.h:36
MythPowerOSX::PowerSourceCallBack
static void PowerSourceCallBack(void *Reference)
Receive notification of changes to the power supply.
Definition: mythpowerosx.cpp:160
MythPowerOSX::Refresh
void Refresh(void) override
Definition: mythpowerosx.cpp:108
MythPowerOSX::m_rootPowerDomain
io_connect_t m_rootPowerDomain
Definition: mythpowerosx.h:37
mythpower.h
MythPowerOSX::m_powerNotifyPort
IONotificationPortRef m_powerNotifyPort
Definition: mythpowerosx.h:39