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
34 #include "standardsettings.h"
35 #include "inputselectorsetting.h"
36 #include "channelscantypes.h"
37 #include "dtvmultiplex.h"
38 
39 class ScanWizard;
41 class ScanTypeSetting;
42 class ScanCountry;
43 class ScanNetwork;
45 class DesiredServices;
46 class FreeToAirOnly;
47 class ChannelNumbersOnly;
49 class FullChannelSearch;
50 class RemoveDuplicates;
51 class AddFullTS;
52 class TrustEncSISetting;
53 
54 class PaneAll;
55 class PaneATSC;
56 class PaneAnalog;
57 class PaneDVBT;
58 class PaneDVBT2;
59 class PaneDVBC;
60 class PaneDVBS;
61 class PaneDVBS2;
62 class PaneSingle;
63 class PaneDVBUtilsImport;
65 
67 {
68  friend class ScanWizard;
69  Q_OBJECT
70  public:
71  enum Type
72  {
75  // Scans that check each frequency in a predefined list
81  // Scans starting on one frequency that adds each transport
82  // seen in the Network Information Tables to the scan.
88  // Scan of all transports already in the database
90  // Scan of one transport already in the database
94  // IPTV import of channels from M3U URL
96  // IPTV import of channels from M3U URL, with MPTS
98  // Imports lists from dvb-utils scanners
100  // Imports lists from previous mythtv scan
102  // Import using the VBox API to get the channel list
104  // Import using the ExternalRecorder API to get the channel list
106  };
107 
109  {
110  setLabel(QObject::tr("Scan Type"));
111  setHelpText(QObject::tr("For scan type 'Full Scan' select a country to get the correct set of frequencies."));
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:38
DTVMultiplex
Definition: dtvmultiplex.h:25
RemoveDuplicates
Definition: channelscanmiscsettings.h:175
ScanNetwork
Definition: frequencytablesetting.h:23
ScanOptionalConfig::GetModulation
QString GetModulation(void) const
Definition: scanwizardconfig.cpp:413
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:89
ScanOptionalConfig::m_paneAll
PaneAll * m_paneAll
Definition: scanwizardconfig.h:157
PaneAnalog
Definition: paneanalog.h:13
CompleteChannelsOnly
Definition: channelscanmiscsettings.h:140
ScanOptionalConfig::m_paneATSC
PaneATSC * m_paneATSC
Definition: scanwizardconfig.h:153
ScanTypeSetting::FullScan_DVBT
@ FullScan_DVBT
Definition: scanwizardconfig.h:79
ScanOptionalConfig::m_paneDVBS2
PaneDVBS2 * m_paneDVBS2
Definition: scanwizardconfig.h:152
TransMythUIComboBoxSetting
Definition: standardsettings.h:273
TrustEncSISetting
Definition: channelscanmiscsettings.h:205
ScanOptionalConfig::m_paneSingle
PaneSingle * m_paneSingle
Definition: scanwizardconfig.h:156
ScanOptionalConfig
Definition: scanwizardconfig.h:122
ScanTypeSetting::DVBUtilsImport
@ DVBUtilsImport
Definition: scanwizardconfig.h:99
ScanTypeSetting::Error_Open
@ Error_Open
Definition: scanwizardconfig.h:73
ScanOptionalConfig::DoIgnoreSignalTimeout
bool DoIgnoreSignalTimeout(void) const
Definition: scanwizardconfig.cpp:467
ScanTypeSetting::NITAddScan_DVBS
@ NITAddScan_DVBS
Definition: scanwizardconfig.h:85
ScanOptionalConfig::m_paneDVBC
PaneDVBC * m_paneDVBC
Definition: scanwizardconfig.h:154
PaneDVBT
Definition: panedvbt.h:37
ScanTypeSetting
Definition: scanwizardconfig.h:67
ScanOptionalConfig::SetSourceID
void SetSourceID(const QString &sourceid)
Definition: scanwizardconfig.cpp:386
ScanTypeSetting::FullScan_ATSC
@ FullScan_ATSC
Definition: scanwizardconfig.h:77
ScanOptionalConfig::SetTuningPaneValuesATSC
void SetTuningPaneValuesATSC(const QString &freqtable)
Definition: scanwizardconfig.cpp:684
PaneSingle
Definition: panesingle.h:38
ScanWizard
Definition: scanwizard.h:45
dtvmultiplex.h
VideoSourceSelector
Definition: videosource.h:58
PaneExistingScanImport
Definition: paneexistingscanimport.h:42
IgnoreSignalTimeout
Definition: channelscanmiscsettings.h:53
PaneATSC
Definition: paneatsc.h:17
ScanOptionalConfig::ScanOptionalConfig
ScanOptionalConfig(ScanTypeSetting *_scan_type)
Definition: scanwizardconfig.cpp:353
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:597
ScanTypeSetting::NITAddScan_DVBT
@ NITAddScan_DVBT
Definition: scanwizardconfig.h:83
channelscantypes.h
ScanTypeSetting::VBoxImport
@ VBoxImport
Definition: scanwizardconfig.h:103
PaneDVBS
Definition: panedvbs.h:37
ScanCountry
Definition: frequencytablesetting.h:17
ScanOptionalConfig::m_dvbTCountry
ScanCountry * m_dvbTCountry
Definition: scanwizardconfig.h:146
PaneDVBS2
Definition: panedvbs2.h:13
ScanTypeSetting::FullScan_Analog
@ FullScan_Analog
Definition: scanwizardconfig.h:76
ScanOptionalConfig::m_paneDVBT
PaneDVBT * m_paneDVBT
Definition: scanwizardconfig.h:149
ScanTypeSetting::IPTVImportMPTS
@ IPTVImportMPTS
Definition: scanwizardconfig.h:97
ScanTypeSetting::ExistingScanImport
@ ExistingScanImport
Definition: scanwizardconfig.h:101
ScanOptionalConfig::m_scanType
ScanTypeSetting * m_scanType
Definition: scanwizardconfig.h:145
StandardSetting::setHelpText
virtual void setHelpText(const QString &str)
Definition: standardsettings.h:37
ScanTypeSetting::FullScan_DVBC
@ FullScan_DVBC
Definition: scanwizardconfig.h:78
ScanTypeSetting::NITAddScan_DVBT2
@ NITAddScan_DVBT2
Definition: scanwizardconfig.h:84
ScanTypeSetting::NITAddScan_DVBC
@ NITAddScan_DVBC
Definition: scanwizardconfig.h:87
ScanOptionalConfig::m_dvbT2Country
ScanCountry * m_dvbT2Country
Definition: scanwizardconfig.h:147
ScanOptionalConfig::GetFrequencyStandard
QString GetFrequencyStandard(void) const
Definition: scanwizardconfig.cpp:393
PaneDVBUtilsImport
Definition: panedvbutilsimport.h:40
ScanOptionalConfig::m_paneExistingScanImport
PaneExistingScanImport * m_paneExistingScanImport
Definition: scanwizardconfig.h:159
ScanTypeSetting::ScanTypeSetting
ScanTypeSetting()
Definition: scanwizardconfig.h:108
uint
unsigned int uint
Definition: compat.h:141
ScanTypeSetting::CurrentTransportScan
@ CurrentTransportScan
Scans the transport when there is no tuner (for ASI)
Definition: scanwizardconfig.h:93
ScanTypeSetting::IPTVImport
@ IPTVImport
Definition: scanwizardconfig.h:95
FullChannelSearch
Definition: channelscanmiscsettings.h:158
ScanTypeSetting::m_hwCardId
uint m_hwCardId
Definition: scanwizardconfig.h:118
ScanOptionalConfig::GetScanID
uint GetScanID(void) const
Definition: scanwizardconfig.cpp:509
StandardSetting::setLabel
virtual void setLabel(QString str)
Definition: standardsettings.h:34
ScanOptionalConfig::GetMultiplex
uint GetMultiplex(void) const
Definition: scanwizardconfig.cpp:503
standardsettings.h
ScanTypeSetting::TransportScan
@ TransportScan
Definition: scanwizardconfig.h:91
ChannelNumbersOnly
Definition: channelscanmiscsettings.h:124
ScanOptionalConfig::DoFollowNIT
bool DoFollowNIT(void) const
Definition: scanwizardconfig.cpp:484
ScanOptionalConfig::GetFrequencyTable
QString GetFrequencyTable(void) const
Definition: scanwizardconfig.cpp:433
DesiredServices
Definition: channelscanmiscsettings.h:80
ScanTypeSetting::ExternRecImport
@ ExternRecImport
Definition: scanwizardconfig.h:105
inputselectorsetting.h
ScanTypeSetting::SetInput
void SetInput(const QString &cardids_inputname)
Definition: scanwizardconfig.cpp:202
FreeToAirOnly
Definition: channelscanmiscsettings.h:110
ScanOptionalConfig::GetStartChan
QMap< QString, QString > GetStartChan(void) const
Definition: scanwizardconfig.cpp:514
ScanOptionalConfig::m_paneAnalog
PaneAnalog * m_paneAnalog
Definition: scanwizardconfig.h:155
ScanOptionalConfig::GetFrequencyTableRange
bool GetFrequencyTableRange(QString &start, QString &end) const
Definition: scanwizardconfig.cpp:454
ScanOptionalConfig::GetFilename
QString GetFilename(void) const
Definition: scanwizardconfig.cpp:498
ScanOptionalConfig::m_paneDVBUtilsImport
PaneDVBUtilsImport * m_paneDVBUtilsImport
Definition: scanwizardconfig.h:158
ScanTypeSetting::NITAddScan_DVBS2
@ NITAddScan_DVBS2
Definition: scanwizardconfig.h:86
ScanTypeSetting::FullScan_DVBT2
@ FullScan_DVBT2
Definition: scanwizardconfig.h:80
PaneAll
Definition: paneall.h:37
ScanTypeSetting::Error_Probe
@ Error_Probe
Definition: scanwizardconfig.h:74
GroupSetting
Definition: standardsettings.h:436
PaneDVBC
Definition: panedvbc.h:37
AddFullTS
Definition: channelscanmiscsettings.h:191