MythTV master
hardwareprofile.h
Go to the documentation of this file.
1#ifndef HARDWAREPROFILE_H_
2#define HARDWAREPROFILE_H_
3
4// QT headers
5#include <QObject>
6#include <QString>
7#include <QDateTime>
8
9// MythDB headers
10#include "mythbaseexp.h"
11#include "housekeeper.h"
12
13extern const QString SMOLT_SERVER_LOCATION;
14extern const QString SMOLT_TOKEN;
15
16class MBASE_PUBLIC HardwareProfile : public QObject
17{
18 Q_OBJECT
19
20 public:
22 ~HardwareProfile(void) override = default;
23
24 void Enable(void);
25 static void Disable(void);
26
27 void GenerateUUIDs(void);
28
29 static QString GetPrivateUUIDFromFile(void) ;
30 static bool WritePrivateUUIDToFile(const QString &uuid);
31 QString GetPublicUUIDFromFile(void) const;
32 static QString GetAdminPasswordFromFile(void) ;
33
34 bool NeedsUpdate(void) const;
35 bool SubmitProfile(bool updateTime=true);
36 bool DeleteProfile(void);
37
38 QString GetPublicUUID(void) const { return m_publicuuid; };
39 QString GetPrivateUUID(void) const { return m_uuid; };
40 QDateTime GetLastUpdate(void) const { return m_lastUpdate; };
41 QString GetProfileURL(void) const;
42 static QString GetHardwareProfile(void) ;
43
44 private:
45 bool m_enabled {false};
46 QString m_uuid;
47 QString m_publicuuid;
48 QDateTime m_lastUpdate;
50};
51
53{
54 public:
55 HardwareProfileTask(void) : PeriodicHouseKeeperTask("HardwareProfiler",
56 30 * 24h, // 30 days in seconds
57 0.96667F, // up to one day early
58 1.03333F, // up to one day late
59 24h, // retry daily on error
61 bool DoCheckRun(const QDateTime& now) override; // HouseKeeperTask
62 bool DoRun(void) override; // HouseKeeperTask
63 private:
64
65};
66
67#endif
QString m_hardwareProfile
QDateTime m_lastUpdate
QString GetPublicUUID(void) const
QDateTime GetLastUpdate(void) const
QString GetPrivateUUID(void) const
~HardwareProfile(void) override=default
Modified HouseKeeperTask for tasks to be run at a regular interval.
Definition: housekeeper.h:86
const QString SMOLT_TOKEN
const QString SMOLT_SERVER_LOCATION
@ kHKLocal
task should only run once per machine e.g.
Definition: housekeeper.h:28
@ kHKRunOnStartup
task is queued when HouseKeeper is started
Definition: housekeeper.h:36
#define MBASE_PUBLIC
Definition: mythbaseexp.h:15