3#include <QNetworkInterface>
14#include "libmythbase/mythversion.h"
32 qRegisterMetaType<V2ConnectionInfo*>(
"V2ConnectionInfo");
33 qRegisterMetaType<V2CountryList*>(
"V2CountryList");
34 qRegisterMetaType<V2Country*>(
"V2Country");
35 qRegisterMetaType<V2LanguageList*>(
"V2LanguageList");
36 qRegisterMetaType<V2Language*>(
"V2Language");
37 qRegisterMetaType<V2DatabaseStatus*>(
"V2DatabaseStatus");
38 qRegisterMetaType<V2SystemEvent*>(
"V2SystemEvent");
39 qRegisterMetaType<V2SystemEventList*>(
"V2SystemEventList");
52 const QString &
Password,
const QString &
Name,
int Port,
bool DoTest,
53 bool LocalEnabled,
const QString &LocalHostName,
bool WOLEnabled,
54 int WOLReconnect,
int WOLRetry,
const QString &WOLCommand)
58 QString db(
"mythconverg");
88 bResult =
GetMythDB()->SaveDatabaseParams(dbparms,
true);
118 pInfo->setConnected(connected);
123 bool haveSchema =
GetMythDB()->HaveSchema();
124 pInfo->setHaveDatabase(haveSchema);
129 pInfo->setSchemaVersion(QString(MYTH_DATABASE_VERSION).toInt());
133 pInfo->setSchemaVersion(0);
138 pInfo->setHaveDatabase(
false);
139 pInfo->setSchemaVersion(0);
152 QStringList locales = localesMap.values();
157 for (
const auto& country : std::as_const(locales))
159 const QString code = localesMap.key(country);
162 V2Country *pCountry = pList->AddNewCountry();
163 pCountry->setCode(code);
164 pCountry->setCountry(country);
165 pCountry->setNativeCountry(nativeCountry);
166 pCountry->setImage(QString(
"%1.png").arg(code.toLower()));
178 QStringList langs = langMap.values();
183 for (
const auto& nativeLang : std::as_const(langs))
185 const QString code = langMap.key(nativeLang);
188 V2Language *pLanguage = pList->AddNewLanguage();
189 pLanguage->setCode(code);
190 pLanguage->setLanguage(language);
191 pLanguage->setNativeLanguage(nativeLang);
192 pLanguage->setImage(QString(
"%1.png").arg(code));
204 QString protocol = Protocol;
206 if (protocol !=
"IPv4" && protocol !=
"IPv6")
211 QList<QHostAddress> list = QNetworkInterface::allAddresses();
212 QList<QHostAddress>::iterator it;
214 for (it = list.begin(); it != list.end(); ++it)
216 if (((*it).protocol() == QAbstractSocket::IPv4Protocol && protocol ==
"IPv4") ||
217 ((*it).protocol() == QAbstractSocket::IPv6Protocol && protocol ==
"IPv6") || protocol ==
"All")
219 it->setScopeId(QString());
220 oList.append((*it).toString());
235 QMap <QString, QString> settings;
237 QMap<QString, QString>::const_iterator it;
238 for (it = settings.constBegin(); it != settings.constEnd(); ++it)
241 event->setKey(it.key());
242 event->setLocalizedName(it.value());
Structure containing the basic Database parameters.
QString m_dbName
database name
QString m_dbPassword
DB password.
std::chrono::seconds m_wolReconnect
seconds to wait for reconnect
QString m_localHostName
name used for loading/saving settings
bool m_localEnabled
true if localHostName is not default
bool m_dbHostPing
No longer used.
QString m_dbUserName
DB user name.
QString m_dbType
database type (MySQL, Postgres, etc.)
QString m_wolCommand
command to use for wake-on-lan
bool m_wolEnabled
true if wake-on-lan params are used
int m_dbPort
database port
int m_wolRetry
times to retry to reconnect
QString m_dbHostName
database server
QString GetHostName(void)
QString GetSettingOnHost(const QString &key, const QString &host, const QString &defaultval="")
static void createSettingList(QMap< QString, QString > &settings)
static QMap< QString, QString > getLanguages(void)
static V2SystemEventList * GetSystemEvents(const QString &Host)
static QStringList GetIPAddresses(const QString &Protocol)
static void RegisterCustomTypes()
static bool SetDatabaseCredentials(const QString &Host, const QString &UserName, const QString &Password, const QString &Name, int Port, bool DoTest, bool LocalEnabled, const QString &LocalHostName, bool WOLEnabled, int WOLReconnect, int WOLRetry, const QString &WOLCommand)
static V2DatabaseStatus * GetDatabaseStatus(void)
static V2LanguageList * GetLanguages(void)
static V2CountryList * GetCountries(void)
static StandardSetting * Password(bool enabled)
Setting for changing password.
QString GetISO3166CountryName(const QString &iso3166Code)
ISO3166ToNameMap GetISO3166EnglishCountryMap(void)
Returns a map of ISO-3166 country codes mapped to the country name in English.
ISO 3166-1 support functions.
QMap< QString, QString > ISO3166ToNameMap
QString GetISO639EnglishLanguageName(const QString &iso639_1)
ISO 639-1 and ISO 639-2 support functions.
MythCoreContext * gCoreContext
This global variable contains the MythCoreContext instance for the app.
bool TestDatabase(const QString &dbHostName, const QString &dbUserName, QString dbPassword, QString dbName, int dbPort)
Q_GLOBAL_STATIC_WITH_ARGS(MythHTTPMetaService, s_service,(CONFIG_HANDLE, V2Config::staticMetaObject, &V2Config::RegisterCustomTypes)) void V2Config