00001 // -*- Mode: c++ -*- 00002 00003 #ifndef _IPTVSIGNALMONITOR_H_ 00004 #define _IPTVSIGNALMONITOR_H_ 00005 00006 #include "dtvsignalmonitor.h" 00007 00008 class IPTVChannel; 00009 00010 class IPTVSignalMonitor : public DTVSignalMonitor, public TSDataListener 00011 { 00012 Q_OBJECT 00013 00014 public: 00015 IPTVSignalMonitor(int db_cardnum, IPTVChannel *_channel, 00016 uint64_t _flags = 0, 00017 const char *_name = "IPTVSignalMonitor"); 00018 virtual ~IPTVSignalMonitor(); 00019 00020 void Stop(void); 00021 00022 // implements TSDataListener 00023 void AddData(const unsigned char *data, unsigned int dataSize); 00024 00025 public slots: 00026 void deleteLater(void); 00027 00028 protected: 00029 IPTVSignalMonitor(void); 00030 IPTVSignalMonitor(const IPTVSignalMonitor&); 00031 00032 virtual void UpdateValues(void); 00033 void EmitIPTVSignals(void); 00034 00035 static void *TableMonitorThread(void *param); 00036 void RunTableMonitor(void); 00037 00038 IPTVChannel *GetChannel(void); 00039 00040 protected: 00041 bool dtvMonitorRunning; 00042 pthread_t table_monitor_thread; 00043 }; 00044 00045 #endif // _IPTVSIGNALMONITOR_H_
1.5.5