00001 00007 #ifndef _IPTV_FEEDER_WRAPPER_H_ 00008 #define _IPTV_FEEDER_WRAPPER_H_ 00009 00010 #include <vector> 00011 using namespace std; 00012 00013 #include <qmutex.h> 00014 #include <qstring.h> 00015 00016 class IPTVFeeder; 00017 class TSDataListener; 00018 00022 class IPTVFeederWrapper 00023 { 00024 public: 00025 IPTVFeederWrapper(); 00026 ~IPTVFeederWrapper(); 00027 00028 public: 00029 bool IsOpen(void) const; 00030 00031 bool Open(const QString &url); 00032 void Close(void); 00033 00034 void Run(void); 00035 void Stop(void); 00036 00037 void AddListener(TSDataListener*); 00038 void RemoveListener(TSDataListener*); 00039 00040 private: 00041 bool InitFeeder(const QString &url); 00042 00043 private: 00044 IPTVFeeder *_feeder; 00045 QString _url; 00046 mutable QMutex _lock; 00047 vector<TSDataListener*> _listeners; 00048 00049 private: 00050 IPTVFeederWrapper &operator=(const IPTVFeederWrapper&); 00051 IPTVFeederWrapper(const IPTVFeederWrapper&); 00052 }; 00053 00054 #endif // _IPTV_FEEDER_WRAPPER_H_
1.5.5