1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
/** -*- Mode: c++ -*-
* IPTVChannel
* Copyright (c) 2006 by Laurent Arnal, Benjamin Lerman & Mickaƫl Remars
* Distributed as part of MythTV under GPL v2 and later.
*/
#ifndef _IPTV_CHANNEL_H_
#define _IPTV_CHANNEL_H_
#include <QString>
#include <QMutex>
#include "dtvchannel.h"
#include "iptvchannelinfo.h"
class IPTVFeederWrapper;
class IPTVChannel : public DTVChannel
{
friend class IPTVSignalMonitor;
friend class IPTVRecorder;
public:
IPTVChannel(TVRec *parent, const QString &videodev);
~IPTVChannel();
// Commands
bool Open(void);
void Close(void);
bool SetChannelByString(const QString &channum);
// Gets
bool IsOpen(void) const;
// Channel scanning stuff
bool Tune(const DTVMultiplex&, QString) { return true; }
private:
IPTVChannelInfo GetCurrentChanInfo(void) const
{ return GetChanInfo(m_curchannelname); }
IPTVFeederWrapper *GetFeeder(void) { return m_feeder; }
const IPTVFeederWrapper *GetFeeder(void) const { return m_feeder; }
IPTVChannelInfo GetChanInfo(
const QString &channum, uint sourceid = 0) const;
private:
QString m_videodev;
fbox_chan_map_t m_freeboxchannels;
IPTVFeederWrapper *m_feeder;
mutable QMutex m_lock;
private:
IPTVChannel &operator=(const IPTVChannel&); //< avoid default impl
IPTVChannel(const IPTVChannel&); //< avoid default impl
IPTVChannel(); //< avoid default impl
};
#endif // _IPTV_CHANNEL_H_
/* vim: set expandtab tabstop=4 shiftwidth=4: */
|