MythTV  0.26-pre
iptvchannel.h
Go to the documentation of this file.
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: */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends