MythTV  master
ExternalSignalMonitor.h
Go to the documentation of this file.
1 // -*- Mode: c++ -*-
2 
3 #ifndef EXTERNALSIGNALMONITOR_H
4 #define EXTERNALSIGNALMONITOR_H
5 
6 #include <cstdint>
7 
8 #include <QMap>
9 
10 #include "libmythbase/mythchrono.h"
11 
12 #include "dtvsignalmonitor.h"
13 #include "ExternalChannel.h"
14 
16 
17 using FilterMap = QMap<uint,int>;
18 
20 {
21  public:
22  ExternalSignalMonitor(int db_cardnum, ExternalChannel *_channel,
23  bool _release_stream, uint64_t _flags = 0);
24  ~ExternalSignalMonitor() override;
25 
26  void Stop(void) override; // SignalMonitor
27 
28  protected:
31 
32  void UpdateValues(void) override; // SignalMonitor
34  { return dynamic_cast<ExternalChannel*>(m_channel); }
35 
36  bool HasLock(void);
37  int GetSignalStrengthPercent(void);
38  std::chrono::seconds GetLockTimeout(void);
39 
40 // void AddHandlerListener(MPEGStreamData *data)
41 // { m_streamHandler->AddListener(data); }
42 
43  protected:
45  bool m_streamHandlerStarted {false};
46  std::chrono::milliseconds m_lockTimeout {0ms};
47  QString m_loc;
48 };
49 
50 #endif // EXTERNALSIGNALMONITOR_H
SignalMonitor::m_channel
ChannelBase * m_channel
Definition: signalmonitor.h:201
ExternalSignalMonitor::m_lockTimeout
std::chrono::milliseconds m_lockTimeout
Definition: ExternalSignalMonitor.h:46
ExternalSignalMonitor::GetSignalStrengthPercent
int GetSignalStrengthPercent(void)
Definition: ExternalSignalMonitor.cpp:194
ExternalStreamHandler
Definition: ExternalStreamHandler.h:68
ExternalSignalMonitor::m_loc
QString m_loc
Definition: ExternalSignalMonitor.h:47
FilterMap
QMap< uint, int > FilterMap
Definition: ExternalSignalMonitor.h:17
ExternalSignalMonitor::~ExternalSignalMonitor
~ExternalSignalMonitor() override
Stops signal monitoring and table monitoring threads.
Definition: ExternalSignalMonitor.cpp:66
ExternalSignalMonitor::GetLockTimeout
std::chrono::seconds GetLockTimeout(void)
Definition: ExternalSignalMonitor.cpp:220
ExternalChannel
-*- Mode: c++ -*-
Definition: ExternalChannel.h:20
ExternalSignalMonitor
Definition: ExternalSignalMonitor.h:19
ExternalSignalMonitor::HasLock
bool HasLock(void)
Definition: ExternalSignalMonitor.cpp:178
ExternalChannel.h
ExternalSignalMonitor::GetExternalChannel
ExternalChannel * GetExternalChannel(void)
Definition: ExternalSignalMonitor.h:33
mythchrono.h
DTVSignalMonitor
This class is intended to detect the presence of needed tables.
Definition: dtvsignalmonitor.h:14
ExternalSignalMonitor::UpdateValues
void UpdateValues(void) override
Fills in frontend stats and emits status Qt signals.
Definition: ExternalSignalMonitor.cpp:98
ExternalSignalMonitor::m_streamHandlerStarted
bool m_streamHandlerStarted
Definition: ExternalSignalMonitor.h:45
ExternalSignalMonitor::m_streamHandler
ExternalStreamHandler * m_streamHandler
Definition: ExternalSignalMonitor.h:44
ExternalSignalMonitor::Stop
void Stop(void) override
Stop signal monitoring and table monitoring threads.
Definition: ExternalSignalMonitor.cpp:77
ExternalSignalMonitor::ExternalSignalMonitor
ExternalSignalMonitor(void)
dtvsignalmonitor.h