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
14static constexpr const char* VBOX_MIN_API_VERSION { "VB.2.50" };
15
16class 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 : std::uint8_t
36 {
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
Definition: vboxutils.h:17
bool checkVersion(QString &version)
Definition: vboxutils.cpp:215
ErrorCode
Definition: vboxutils.h:36
@ REQUEST_REJECTED
Definition: vboxutils.h:42
@ MISSING_METHOD
Definition: vboxutils.h:43
@ REQUEST_ABOTRED
Definition: vboxutils.h:45
@ REQUEST_TIMEOUT
Definition: vboxutils.h:44
@ MISSING_PARAMETER
Definition: vboxutils.h:40
@ UNKNOWN_METHOD
Definition: vboxutils.h:38
@ GENERAL_ERROR
Definition: vboxutils.h:39
@ ILLEGAL_PARAMETER
Definition: vboxutils.h:41
@ SUCCESS
Definition: vboxutils.h:37
static int getIntValue(const QDomElement &element, const QString &name, int index=0)
Definition: vboxutils.cpp:431
bool isConnected(void)
QDomDocument * getBoardInfo(void)
Definition: vboxutils.cpp:193
static QString getFirstText(QDomElement &element)
Definition: vboxutils.cpp:438
vbox_chan_map_t * getChannels(void)
Definition: vboxutils.cpp:296
QStringList getTuners(void)
returns a list of tuners in the format 'TUNERNO TUNERTYPE' eg '1 DVBT/T2'
Definition: vboxutils.cpp:271
static bool sendQuery(const QString &query, QDomDocument *xmlDoc)
Definition: vboxutils.cpp:358
~VBox(void)=default
static QStringList probeDevices(void)
Definition: vboxutils.cpp:29
static QString getStrValue(const QDomElement &element, const QString &name, int index=0)
Definition: vboxutils.cpp:417
QString m_url
Definition: vboxutils.h:50
VBox(QString url)
Definition: vboxutils.h:19
bool checkConnection(void)
Definition: vboxutils.cpp:209
static QString getIPFromVideoDevice(const QString &dev)
Definition: vboxutils.cpp:149
static QStringList doUPNPSearch(void)
Definition: vboxutils.cpp:66
string version
Definition: giantbomb.py:185
STL namespace.
QMap< QString, VBoxChannelInfo > vbox_chan_map_t
static constexpr const char * VBOX_MIN_API_VERSION
Definition: vboxutils.h:14