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 AddFullTS;
51 class TrustEncSISetting;
52 
53 class PaneAll;
54 class PaneATSC;
55 class PaneAnalog;
56 class PaneDVBT;
57 class PaneDVBT2;
58 class PaneDVBC;
59 class PaneDVBS;
60 class PaneDVBS2;
61 class PaneSingle;
62 class PaneDVBUtilsImport;
64 
66 {
67  Q_OBJECT
68  public:
69  enum Type
70  {
73  // Scans that check each frequency in a predefined list
79  // Scans starting on one frequency that adds each transport
80  // seen in the Network Information Tables to the scan.
86  // Scan of all transports already in the database
88  // Scan of one transport already in the database
92  // IPTV import of channels from M3U URL
94  // IPTV import of channels from M3U URL, with MPTS
96  // Imports lists from dvb-utils scanners
98  // Imports lists from previous mythtv scan
100  // Import using the VBox API to get the channel list
102  // Import using the ExternalRecorder API to get the channel list
104  };
105 
106  ScanTypeSetting() { setLabel(QObject::tr("Scan Type")); }
107 
108  protected slots:
109  void SetInput(const QString &cardids_inputname);
110 
111  protected:
113 };
114 
116 {
117  Q_OBJECT
118 
119  public:
120  explicit ScanOptionalConfig(ScanTypeSetting *_scan_type);
121 
122  QString GetFrequencyStandard(void) const;
123  QString GetModulation(void) const;
124  QString GetFrequencyTable(void) const;
125  bool GetFrequencyTableRange(QString&,QString&) const;
126  bool DoIgnoreSignalTimeout(void) const;
127  bool DoFollowNIT(void) const;
128  QString GetFilename(void) const;
129  uint GetMultiplex(void) const;
130  QMap<QString,QString> GetStartChan(void) const;
131  uint GetScanID(void) const;
132  void SetTuningPaneValues(uint frequency, const DTVMultiplex &mpx);
133 
134  public slots:
135  void SetSourceID(const QString&);
136 
137  private:
141  ScanNetwork *m_network {nullptr};
142  PaneDVBT *m_paneDVBT {nullptr};
143  PaneDVBT2 *m_paneDVBT2 {nullptr};
144  PaneDVBS *m_paneDVBS {nullptr};
145  PaneDVBS2 *m_paneDVBS2 {nullptr};
146  PaneATSC *m_paneATSC {nullptr};
147  PaneDVBC *m_paneDVBC {nullptr};
150  PaneAll *m_paneAll {nullptr};
153 };
154 
155 #endif // _SCAN_WIZARD_CONFIG_H_
QString GetFilename(void) const
PaneSingle * m_paneSingle
unsigned int slots[4]
Definition: element.c:38
void SetSourceID(const QString &)
PaneDVBUtilsImport * m_paneDVBUtilsImport
unsigned int uint
Definition: compat.h:140
uint GetScanID(void) const
bool DoIgnoreSignalTimeout(void) const
uint GetMultiplex(void) const
QString GetFrequencyStandard(void) const
virtual void setLabel(QString str)
void SetInput(const QString &cardids_inputname)
void SetTuningPaneValues(uint frequency, const DTVMultiplex &mpx)
ScanOptionalConfig(ScanTypeSetting *_scan_type)
QMap< QString, QString > GetStartChan(void) const
ScanCountry * m_dvbT2Country
ScanCountry * m_dvbTCountry
bool GetFrequencyTableRange(QString &, QString &) const
ScanTypeSetting * m_scanType
PaneExistingScanImport * m_paneExistingScanImport
QString GetModulation(void) const
bool DoFollowNIT(void) const
QString GetFrequencyTable(void) const
Scans the transport when there is no tuner (for ASI)
PaneAnalog * m_paneAnalog
ScanNetwork * m_network