MythTV  master
vboxutils.h
Go to the documentation of this file.
1 #ifndef VBOX_UTILS_H
2 #define VBOX_UTILS_H
3 
4 // C++ headers
5 #include <utility>
6 
7 // Qt headers
8 #include <QDomDocument>
9 #include <QString>
10 
11 // MythTV headers
13 
14 static constexpr const char* VBOX_MIN_API_VERSION { "VB.2.50" };
15 
16 class VBox
17 {
18  public:
19  explicit VBox(QString url) :
20  m_url(std::move(url)) {}
21 
22  ~VBox(void) = default;
23 
24  static QStringList probeDevices(void);
25  static QString getIPFromVideoDevice(const QString &dev);
26 
27  bool isConnected(void);
28  bool checkConnection(void);
29  bool checkVersion(QString &version);
30  QDomDocument *getBoardInfo(void);
31  QStringList getTuners(void);
33 
34  protected:
35  enum ErrorCode
36  {
37  SUCCESS = 0,
46  };
47 
48  static bool sendQuery(const QString &query, QDomDocument *xmlDoc);
49 
50  QString m_url;
51 
52  private:
53  static QStringList doUPNPSearch(void);
54  static QString getFirstText(QDomElement &element);
55  static QString getStrValue(const QDomElement &element, const QString &name, int index = 0);
56  static int getIntValue(const QDomElement &element, const QString &name, int index = 0);
57 };
58 #endif // VBOX_UTILS_H
VBox::checkVersion
bool checkVersion(QString &version)
Definition: vboxutils.cpp:215
VBox::VBox
VBox(QString url)
Definition: vboxutils.h:19
VBox::getTuners
QStringList getTuners(void)
returns a list of tuners in the format 'TUNERNO TUNERTYPE' eg '1 DVBT/T2'
Definition: vboxutils.cpp:271
VBox::checkConnection
bool checkConnection(void)
Definition: vboxutils.cpp:209
vbox_chan_map_t
QMap< QString, VBoxChannelInfo > vbox_chan_map_t
Definition: vboxchannelfetcher.h:62
VBox::UNKNOWN_METHOD
@ UNKNOWN_METHOD
Definition: vboxutils.h:38
VBox::getFirstText
static QString getFirstText(QDomElement &element)
Definition: vboxutils.cpp:426
VBox::ILLEGAL_PARAMETER
@ ILLEGAL_PARAMETER
Definition: vboxutils.h:41
VBOX_MIN_API_VERSION
static constexpr const char * VBOX_MIN_API_VERSION
Definition: vboxutils.h:14
VBox::GENERAL_ERROR
@ GENERAL_ERROR
Definition: vboxutils.h:39
VBox::doUPNPSearch
static QStringList doUPNPSearch(void)
Definition: vboxutils.cpp:66
VBox::ErrorCode
ErrorCode
Definition: vboxutils.h:35
VBox::getStrValue
static QString getStrValue(const QDomElement &element, const QString &name, int index=0)
Definition: vboxutils.cpp:405
VBox::MISSING_METHOD
@ MISSING_METHOD
Definition: vboxutils.h:43
VBox::MISSING_PARAMETER
@ MISSING_PARAMETER
Definition: vboxutils.h:40
VBox::getChannels
vbox_chan_map_t * getChannels(void)
Definition: vboxutils.cpp:296
VBox::REQUEST_TIMEOUT
@ REQUEST_TIMEOUT
Definition: vboxutils.h:44
VBox::getBoardInfo
QDomDocument * getBoardInfo(void)
Definition: vboxutils.cpp:193
VBox::REQUEST_ABOTRED
@ REQUEST_ABOTRED
Definition: vboxutils.h:45
VBox::REQUEST_REJECTED
@ REQUEST_REJECTED
Definition: vboxutils.h:42
VBox::isConnected
bool isConnected(void)
VBox
Definition: vboxutils.h:16
std
Definition: mythchrono.h:23
VBox::~VBox
~VBox(void)=default
VBox::probeDevices
static QStringList probeDevices(void)
Definition: vboxutils.cpp:29
VBox::SUCCESS
@ SUCCESS
Definition: vboxutils.h:37
VBox::m_url
QString m_url
Definition: vboxutils.h:50
VBox::sendQuery
static bool sendQuery(const QString &query, QDomDocument *xmlDoc)
Definition: vboxutils.cpp:358
nv_python_libs.bbciplayer.bbciplayer_api.version
string version
Definition: bbciplayer_api.py:77
VBox::getIPFromVideoDevice
static QString getIPFromVideoDevice(const QString &dev)
Definition: vboxutils.cpp:149
vboxchannelfetcher.h
VBox::getIntValue
static int getIntValue(const QDomElement &element, const QString &name, int index=0)
Definition: vboxutils.cpp:419