00001 00007 #ifndef _IPTV_CHANNEL_H_ 00008 #define _IPTV_CHANNEL_H_ 00009 00010 #include <QString> 00011 #include <QMutex> 00012 00013 #include "dtvchannel.h" 00014 #include "iptvchannelinfo.h" 00015 00016 class IPTVFeederWrapper; 00017 00018 class IPTVChannel : public DTVChannel 00019 { 00020 friend class IPTVSignalMonitor; 00021 friend class IPTVRecorder; 00022 00023 public: 00024 IPTVChannel(TVRec *parent, const QString &videodev); 00025 ~IPTVChannel(); 00026 00027 // Commands 00028 bool Open(void); 00029 void Close(void); 00030 bool SetChannelByString(const QString &channum); 00031 00032 // Gets 00033 bool IsOpen(void) const; 00034 00035 // Channel scanning stuff 00036 bool Tune(const DTVMultiplex&, QString) { return true; } 00037 00038 private: 00039 IPTVChannelInfo GetCurrentChanInfo(void) const 00040 { return GetChanInfo(m_curchannelname); } 00041 00042 IPTVFeederWrapper *GetFeeder(void) { return m_feeder; } 00043 const IPTVFeederWrapper *GetFeeder(void) const { return m_feeder; } 00044 00045 IPTVChannelInfo GetChanInfo( 00046 const QString &channum, uint sourceid = 0) const; 00047 00048 private: 00049 QString m_videodev; 00050 fbox_chan_map_t m_freeboxchannels; 00051 IPTVFeederWrapper *m_feeder; 00052 mutable QMutex m_lock; 00053 00054 private: 00055 IPTVChannel &operator=(const IPTVChannel&); //< avoid default impl 00056 IPTVChannel(const IPTVChannel&); //< avoid default impl 00057 IPTVChannel(); //< avoid default impl 00058 }; 00059 00060 #endif // _IPTV_CHANNEL_H_ 00061 00062 /* vim: set expandtab tabstop=4 shiftwidth=4: */
1.6.3