MythTV master
weatherUtils.h
Go to the documentation of this file.
1#ifndef WEATHERUTILS_H
2#define WEATHERUTILS_H
3
4// C++
5#include <utility>
6
7// QT headers
8#include <QDomElement>
9#include <QFile>
10#include <QMap>
11#include <QMetaType>
12#include <QMultiHash>
13#include <QString>
14
15// MythTV headers
17
18static constexpr uint8_t SI_UNITS { 0 };
19static constexpr uint8_t ENG_UNITS { 1 };
20static constexpr std::chrono::minutes DEFAULT_UPDATE_TIMEOUT { 5min };
21static constexpr std::chrono::seconds DEFAULT_SCRIPT_TIMEOUT { 60s };
22
23class ScriptInfo;
24
25using units_t = unsigned char;
26using DataMap = QMap<QString, QString>;
27
29{
30 public:
31
32 TypeListInfo(const TypeListInfo& info) = default;
33 explicit TypeListInfo(QString _name)
34 : m_name(std::move(_name)) {}
35 TypeListInfo(QString _name, QString _location)
36 : m_name(std::move(_name)), m_location(std::move(_location)) {}
37 TypeListInfo(QString _name, QString _location,
38 ScriptInfo *_src)
39 : m_name(std::move(_name)), m_location(std::move(_location)), m_src(_src) {}
40
41 public:
42 QString m_name;
43 QString m_location;
44 ScriptInfo *m_src {nullptr};
45};
46using TypeListMap = QMultiHash<QString, TypeListInfo>;
47
49{
50 public:
52
53 public:
54 QString m_name;
55 QString m_title;
57 QStringList m_dataTypes;
58 QString m_helptxt;
59 QStringList m_sources;
61 bool m_hasUnits {false};
62 bool m_multiLoc {false};
63 bool m_updating {false};
64};
65
67
68using ScreenListMap = QMap<QString, ScreenListInfo>;
69
71QStringList loadScreen(const QDomElement& ScreenListInfo);
72bool doLoadScreens(const QString &filename, ScreenListMap &screens);
73
74#endif /* WEATHERUTILS_H */
TypeListMap m_types
Definition: weatherUtils.h:56
QStringList m_sources
Definition: weatherUtils.h:59
QString m_name
Definition: weatherUtils.h:54
QString m_helptxt
Definition: weatherUtils.h:58
QString m_title
Definition: weatherUtils.h:55
QStringList m_dataTypes
Definition: weatherUtils.h:57
TypeListInfo GetCurrentTypeList(void) const
units_t m_units
Definition: weatherUtils.h:60
QString m_name
Definition: weatherUtils.h:42
TypeListInfo(QString _name)
Definition: weatherUtils.h:33
TypeListInfo(QString _name, QString _location)
Definition: weatherUtils.h:35
TypeListInfo(QString _name, QString _location, ScriptInfo *_src)
Definition: weatherUtils.h:37
TypeListInfo(const TypeListInfo &info)=default
QString m_location
Definition: weatherUtils.h:43
ScriptInfo * m_src
Definition: weatherUtils.h:44
dictionary info
Definition: azlyrics.py:7
STL namespace.
static constexpr std::chrono::minutes DEFAULT_UPDATE_TIMEOUT
Definition: weatherUtils.h:20
static constexpr uint8_t ENG_UNITS
Definition: weatherUtils.h:19
static constexpr std::chrono::seconds DEFAULT_SCRIPT_TIMEOUT
Definition: weatherUtils.h:21
ScreenListMap loadScreens()
static constexpr uint8_t SI_UNITS
Definition: weatherUtils.h:18
QMap< QString, ScreenListInfo > ScreenListMap
Definition: weatherUtils.h:68
QMultiHash< QString, TypeListInfo > TypeListMap
Definition: weatherUtils.h:46
bool doLoadScreens(const QString &filename, ScreenListMap &screens)
QMap< QString, QString > DataMap
Definition: weatherUtils.h:26
QStringList loadScreen(const QDomElement &ScreenListInfo)
Q_DECLARE_METATYPE(ScreenListInfo *)
unsigned char units_t
Definition: weatherUtils.h:25