00001 00007 #ifndef _IPTV_FEEDER_LIVE_H_ 00008 #define _IPTV_FEEDER_LIVE_H_ 00009 00010 // C++ headers 00011 #include <vector> 00012 using namespace std; 00013 00014 // Qt headers 00015 #include <qwaitcondition.h> 00016 #include <qmutex.h> 00017 00018 // Mythtv headers 00019 #include "iptvfeeder.h" 00020 00021 class QString; 00022 class TSDataListener; 00023 class UsageEnvironment; 00024 00025 00026 class IPTVFeederLive : public IPTVFeeder 00027 { 00028 public: 00029 IPTVFeederLive(); 00030 virtual ~IPTVFeederLive(); 00031 00032 void Run(void); 00033 void Stop(void); 00034 00035 protected: 00036 bool InitEnv(void); 00037 void FreeEnv(void); 00038 00039 private: 00040 IPTVFeederLive &operator=(const IPTVFeederLive&); 00041 IPTVFeederLive(const IPTVFeederLive&); 00042 00043 protected: 00044 UsageEnvironment *_live_env; 00045 mutable QMutex _lock; 00046 vector<TSDataListener*> _listeners; 00047 00048 private: 00049 char _abort; 00050 bool _running; 00051 QWaitCondition _cond; 00052 }; 00053 00054 #endif // _IPTV_FEEDER_LIVE_H_
1.5.5