00001 00007 #ifndef _IPTV_FEEDER_H_ 00008 #define _IPTV_FEEDER_H_ 00009 00010 class QString; 00011 class TSDataListener; 00012 00025 class IPTVFeeder 00026 { 00027 public: 00028 IPTVFeeder() {} 00029 virtual ~IPTVFeeder() {} 00030 00032 virtual bool CanHandle(const QString &url) const = 0; 00034 virtual bool IsOpen(void) const = 0; 00035 00037 virtual bool Open(const QString &url) = 0; 00039 virtual void Close(void) = 0; 00044 virtual void Run(void) = 0; 00051 virtual void Stop(void) = 0; 00052 00053 virtual void AddListener(TSDataListener*) = 0; 00054 virtual void RemoveListener(TSDataListener*) = 0; 00055 }; 00056 00057 #endif // _IPTV_FEEDER_H_