/
inputinfo.h
105 lines (89 loc) · 3.48 KB
/
inputinfo.h
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
// -*- Mode: c++ -*-
#ifndef _INPUTINFO_H_
#define _INPUTINFO_H_
// Qt headers
#include <QStringList>
#include <QMap>
// MythTV headers
#include "channelutil.h" // for DBChanList
class MTV_PUBLIC InputInfo
{
public:
InputInfo() : name(QString::null),
sourceid(0), inputid(0), cardid(0), mplexid(0),
livetvorder(0) {}
InputInfo(const QString &name,
uint sourceid, uint inputid, uint cardid, uint mplexid,
uint livetvorder);
InputInfo(const InputInfo &other);
InputInfo &operator=(const InputInfo &other);
virtual ~InputInfo() {}
virtual bool FromStringList(QStringList::const_iterator &it,
QStringList::const_iterator end);
virtual void ToStringList(QStringList &list) const;
virtual void Clear(void);
virtual bool IsEmpty(void) const { return name.isEmpty(); }
bool operator == (uint _inputid) const
{ return inputid == _inputid; }
bool operator == (const QString &_name) const
{ return name == _name; }
public:
QString name; ///< input name
uint sourceid; ///< associated channel listings source
uint inputid; ///< unique key in DB for this input
uint cardid; ///< card id associated with input
uint mplexid; ///< mplexid restriction if applicable
uint livetvorder; ///< order for live TV use
};
class MTV_PUBLIC TunedInputInfo : public InputInfo
{
public:
TunedInputInfo() : chanid(0) { }
TunedInputInfo(const QString &name,
uint _sourceid, uint _inputid,
uint _cardid, uint _mplexid, uint _livetvorder,
uint _chanid);
TunedInputInfo(const TunedInputInfo &other);
TunedInputInfo &operator=(const TunedInputInfo &other);
virtual ~TunedInputInfo() {}
virtual bool FromStringList(QStringList::const_iterator &it,
QStringList::const_iterator end);
virtual void ToStringList(QStringList &list) const;
virtual void Clear(void);
public:
uint chanid;
};
class MTV_PUBLIC ChannelInputInfo : public InputInfo
{
public:
ChannelInputInfo() :
startChanNum(QString::null), tuneToChannel(QString::null),
externalChanger(QString::null),
inputNumV4L(-1), videoModeV4L2(0) {}
ChannelInputInfo(QString _name, QString _startChanNum,
QString _tuneToChannel, QString _externalChanger,
uint _sourceid, uint _cardid,
uint _inputid, uint _mplexid,
uint _livetvorder,
const DBChanList &_channels) :
InputInfo(_name, _sourceid, _inputid, _cardid, _mplexid, _livetvorder),
startChanNum(_startChanNum),
tuneToChannel(_tuneToChannel), externalChanger(_externalChanger),
channels(_channels),
inputNumV4L(-1),
videoModeV4L2(0) {}
ChannelInputInfo(const ChannelInputInfo &other);
ChannelInputInfo &operator=(const ChannelInputInfo &other);
virtual ~ChannelInputInfo() {}
virtual void Clear(void);
public:
QString startChanNum; ///< channel to start on
QString tuneToChannel; ///< for using a cable box & S-Video
QString externalChanger; ///< for using a cable box...
DBChanList channels;
vector<uint> groups;
int inputNumV4L;
int videoModeV4L2;
};
typedef QMap<uint, ChannelInputInfo*> InputMap;
#endif // _INPUTINFO_H_