MythTV  master
scanwizardconfig.h
Go to the documentation of this file.
1 /* -*- Mode: c++ -*-
2  * vim: set expandtab tabstop=4 shiftwidth=4:
3  *
4  * Original Project
5  * MythTV http://www.mythtv.org
6  *
7  * Copyright (c) 2004, 2005 John Pullan <john@pullan.org>
8  * Copyright (c) 2005 - 2007 Daniel Kristjansson
9  *
10  * Description:
11  * Collection of classes to provide channel scanning functionallity
12  *
13  * This program is free software; you can redistribute it and/or
14  * modify it under the terms of the GNU General Public License
15  * as published by the Free Software Foundation; either version 2
16  * of the License, or (at your option) any later version.
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License
24  * along with this program; if not, write to the Free Software
25  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
26  * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
27  *
28  */
29 
30 #ifndef SCAN_WIZARD_CONFIG_H
31 #define SCAN_WIZARD_CONFIG_H
32 
33 // MythTV headers
35 #include "libmythtv/dtvmultiplex.h"
36 
37 #include "inputselectorsetting.h"
38 #include "channelscantypes.h"
39 
40 class ScanWizard;
42 class ScanTypeSetting;
43 class ScanCountry;
44 class ScanNetwork;
46 class DesiredServices;
47 class FreeToAirOnly;
48 class ChannelNumbersOnly;
50 class FullChannelSearch;
51 class RemoveDuplicates;
52 class AddFullTS;
53 class TrustEncSISetting;
54 
55 class PaneAll;
56 class PaneATSC;
57 class PaneAnalog;
58 class PaneDVBT;
59 class PaneDVBT2;
60 class PaneDVBC;
61 class PaneDVBS;
62 class PaneDVBS2;
63 class PaneSingle;
64 class PaneDVBUtilsImport;
66 
68 {
69  friend class ScanWizard;
70  Q_OBJECT
71  public:
72  enum Type
73  {
76  // Scans that check each frequency in a predefined list
82  // Scans starting on one frequency that adds each transport
83  // seen in the Network Information Tables to the scan.
89  // Scan of all transports already in the database
91  // Scan of one transport already in the database
95  // IPTV import of channels from M3U URL
97  // IPTV import of channels from M3U URL, with MPTS
99  // Imports lists from dvb-utils scanners
101  // Imports lists from previous mythtv scan
103  // Import using the VBox API to get the channel list
105  // Import using the ExternalRecorder API to get the channel list
107  };
108 
110  {
111  setLabel(QObject::tr("Scan Type"));
112  }
113 
114  protected slots:
115  void SetInput(const QString &cardids_inputname);
116 
117  protected:
119 };
120 
122 {
123  Q_OBJECT
124 
125  public:
126  explicit ScanOptionalConfig(ScanTypeSetting *_scan_type);
127 
128  QString GetFrequencyStandard(void) const;
129  QString GetModulation(void) const;
130  QString GetFrequencyTable(void) const;
131  bool GetFrequencyTableRange(QString &start, QString &end) const;
132  bool DoIgnoreSignalTimeout(void) const;
133  bool DoFollowNIT(void) const;
134  QString GetFilename(void) const;
135  uint GetMultiplex(void) const;
136  QMap<QString,QString> GetStartChan(void) const;
137  uint GetScanID(void) const;
138  void SetTuningPaneValues(uint frequency, const DTVMultiplex &mpx);
139  void SetTuningPaneValuesATSC(const QString &freqtable);
140 
141  public slots:
142  void SetSourceID(const QString &sourceid);
143 
144  private:
148  ScanNetwork *m_network {nullptr};
149  PaneDVBT *m_paneDVBT {nullptr};
150  PaneDVBT2 *m_paneDVBT2 {nullptr};
151  PaneDVBS *m_paneDVBS {nullptr};
152  PaneDVBS2 *m_paneDVBS2 {nullptr};
153  PaneATSC *m_paneATSC {nullptr};
154  PaneDVBC *m_paneDVBC {nullptr};
157  PaneAll *m_paneAll {nullptr};
160 };
161 
162 #endif // SCAN_WIZARD_CONFIG_H
PaneDVBT2
Definition: panedvbt2.h:37
DTVMultiplex
Definition: dtvmultiplex.h:24
RemoveDuplicates
Definition: channelscanmiscsettings.h:174
ScanNetwork
Definition: frequencytablesetting.h:22
ScanOptionalConfig::GetModulation
QString GetModulation(void) const
Definition: scanwizardconfig.cpp:434
ScanOptionalConfig::m_paneDVBS
PaneDVBS * m_paneDVBS
Definition: scanwizardconfig.h:151
ScanOptionalConfig::m_network
ScanNetwork * m_network
Definition: scanwizardconfig.h:148
ScanTypeSetting::FullTransportScan
@ FullTransportScan
Definition: scanwizardconfig.h:90
ScanOptionalConfig::m_paneAll
PaneAll * m_paneAll
Definition: scanwizardconfig.h:157
PaneAnalog
Definition: paneanalog.h:12
CompleteChannelsOnly
Definition: channelscanmiscsettings.h:139
ScanOptionalConfig::m_paneATSC
PaneATSC * m_paneATSC
Definition: scanwizardconfig.h:153
ScanTypeSetting::FullScan_DVBT
@ FullScan_DVBT
Definition: scanwizardconfig.h:80
ScanOptionalConfig::m_paneDVBS2
PaneDVBS2 * m_paneDVBS2
Definition: scanwizardconfig.h:152
TransMythUIComboBoxSetting
Definition: standardsettings.h:272
TrustEncSISetting
Definition: channelscanmiscsettings.h:204
ScanOptionalConfig::m_paneSingle
PaneSingle * m_paneSingle
Definition: scanwizardconfig.h:156
ScanOptionalConfig
Definition: scanwizardconfig.h:121
ScanTypeSetting::DVBUtilsImport
@ DVBUtilsImport
Definition: scanwizardconfig.h:100
ScanTypeSetting::Error_Open
@ Error_Open
Definition: scanwizardconfig.h:74
ScanOptionalConfig::DoIgnoreSignalTimeout
bool DoIgnoreSignalTimeout(void) const
Definition: scanwizardconfig.cpp:488
ScanTypeSetting::NITAddScan_DVBS
@ NITAddScan_DVBS
Definition: scanwizardconfig.h:86
ScanOptionalConfig::m_paneDVBC
PaneDVBC * m_paneDVBC
Definition: scanwizardconfig.h:154
PaneDVBT
Definition: panedvbt.h:36
ScanTypeSetting
Definition: scanwizardconfig.h:67
ScanOptionalConfig::SetSourceID
void SetSourceID(const QString &sourceid)
Definition: scanwizardconfig.cpp:407
ScanTypeSetting::FullScan_ATSC
@ FullScan_ATSC
Definition: scanwizardconfig.h:78
ScanOptionalConfig::SetTuningPaneValuesATSC
void SetTuningPaneValuesATSC(const QString &freqtable)
Definition: scanwizardconfig.cpp:705
PaneSingle
Definition: panesingle.h:37
ScanWizard
Definition: scanwizard.h:44
dtvmultiplex.h
VideoSourceSelector
Definition: videosource.h:58
PaneExistingScanImport
Definition: paneexistingscanimport.h:41
IgnoreSignalTimeout
Definition: channelscanmiscsettings.h:52
PaneATSC
Definition: paneatsc.h:16
ScanOptionalConfig::ScanOptionalConfig
ScanOptionalConfig(ScanTypeSetting *_scan_type)
Definition: scanwizardconfig.cpp:374
ScanTypeSetting::Type
Type
Definition: scanwizardconfig.h:72
ScanOptionalConfig::m_paneDVBT2
PaneDVBT2 * m_paneDVBT2
Definition: scanwizardconfig.h:150
ScanOptionalConfig::SetTuningPaneValues
void SetTuningPaneValues(uint frequency, const DTVMultiplex &mpx)
Definition: scanwizardconfig.cpp:618
ScanTypeSetting::NITAddScan_DVBT
@ NITAddScan_DVBT
Definition: scanwizardconfig.h:84
channelscantypes.h
ScanTypeSetting::VBoxImport
@ VBoxImport
Definition: scanwizardconfig.h:104
PaneDVBS
Definition: panedvbs.h:36
ScanCountry
Definition: frequencytablesetting.h:16
ScanOptionalConfig::m_dvbTCountry
ScanCountry * m_dvbTCountry
Definition: scanwizardconfig.h:146
PaneDVBS2
Definition: panedvbs2.h:12
ScanTypeSetting::FullScan_Analog
@ FullScan_Analog
Definition: scanwizardconfig.h:77
ScanOptionalConfig::m_paneDVBT
PaneDVBT * m_paneDVBT
Definition: scanwizardconfig.h:149
ScanTypeSetting::IPTVImportMPTS
@ IPTVImportMPTS
Definition: scanwizardconfig.h:98
ScanTypeSetting::ExistingScanImport
@ ExistingScanImport
Definition: scanwizardconfig.h:102
ScanOptionalConfig::m_scanType
ScanTypeSetting * m_scanType
Definition: scanwizardconfig.h:145
ScanTypeSetting::FullScan_DVBC
@ FullScan_DVBC
Definition: scanwizardconfig.h:79
ScanTypeSetting::NITAddScan_DVBT2
@ NITAddScan_DVBT2
Definition: scanwizardconfig.h:85
ScanTypeSetting::NITAddScan_DVBC
@ NITAddScan_DVBC
Definition: scanwizardconfig.h:88
ScanOptionalConfig::m_dvbT2Country
ScanCountry * m_dvbT2Country
Definition: scanwizardconfig.h:147
ScanOptionalConfig::GetFrequencyStandard
QString GetFrequencyStandard(void) const
Definition: scanwizardconfig.cpp:414
PaneDVBUtilsImport
Definition: panedvbutilsimport.h:39
ScanOptionalConfig::m_paneExistingScanImport
PaneExistingScanImport * m_paneExistingScanImport
Definition: scanwizardconfig.h:159
ScanTypeSetting::ScanTypeSetting
ScanTypeSetting()
Definition: scanwizardconfig.h:109
uint
unsigned int uint
Definition: compat.h:79
ScanTypeSetting::CurrentTransportScan
@ CurrentTransportScan
Scans the transport when there is no tuner (for ASI)
Definition: scanwizardconfig.h:94
ScanTypeSetting::IPTVImport
@ IPTVImport
Definition: scanwizardconfig.h:96
FullChannelSearch
Definition: channelscanmiscsettings.h:157
ScanTypeSetting::m_hwCardId
uint m_hwCardId
Definition: scanwizardconfig.h:118
ScanOptionalConfig::GetScanID
uint GetScanID(void) const
Definition: scanwizardconfig.cpp:530
StandardSetting::setLabel
virtual void setLabel(QString str)
Definition: standardsettings.h:34
ScanOptionalConfig::GetMultiplex
uint GetMultiplex(void) const
Definition: scanwizardconfig.cpp:524
standardsettings.h
ScanTypeSetting::TransportScan
@ TransportScan
Definition: scanwizardconfig.h:92
ChannelNumbersOnly
Definition: channelscanmiscsettings.h:123
ScanOptionalConfig::DoFollowNIT
bool DoFollowNIT(void) const
Definition: scanwizardconfig.cpp:505
ScanOptionalConfig::GetFrequencyTable
QString GetFrequencyTable(void) const
Definition: scanwizardconfig.cpp:454
DesiredServices
Definition: channelscanmiscsettings.h:79
ScanTypeSetting::ExternRecImport
@ ExternRecImport
Definition: scanwizardconfig.h:106
inputselectorsetting.h
ScanTypeSetting::SetInput
void SetInput(const QString &cardids_inputname)
Definition: scanwizardconfig.cpp:217
FreeToAirOnly
Definition: channelscanmiscsettings.h:109
ScanOptionalConfig::GetStartChan
QMap< QString, QString > GetStartChan(void) const
Definition: scanwizardconfig.cpp:535
ScanOptionalConfig::m_paneAnalog
PaneAnalog * m_paneAnalog
Definition: scanwizardconfig.h:155
ScanOptionalConfig::GetFrequencyTableRange
bool GetFrequencyTableRange(QString &start, QString &end) const
Definition: scanwizardconfig.cpp:475
ScanOptionalConfig::GetFilename
QString GetFilename(void) const
Definition: scanwizardconfig.cpp:519
ScanOptionalConfig::m_paneDVBUtilsImport
PaneDVBUtilsImport * m_paneDVBUtilsImport
Definition: scanwizardconfig.h:158
ScanTypeSetting::NITAddScan_DVBS2
@ NITAddScan_DVBS2
Definition: scanwizardconfig.h:87
ScanTypeSetting::FullScan_DVBT2
@ FullScan_DVBT2
Definition: scanwizardconfig.h:81
PaneAll
Definition: paneall.h:36
ScanTypeSetting::Error_Probe
@ Error_Probe
Definition: scanwizardconfig.h:75
GroupSetting
Definition: standardsettings.h:435
PaneDVBC
Definition: panedvbc.h:36
AddFullTS
Definition: channelscanmiscsettings.h:190