MythTV
master
mythtv
libs
libmythmetadata
parentalcontrols.h
Go to the documentation of this file.
1
#ifndef PARENTALCONTROLS_H_
2
#define PARENTALCONTROLS_H_
3
4
#include <QObject>
// for moc
5
#include <QMetaType>
6
7
#include "
mythmetaexp.h
"
8
9
class
META_PUBLIC
ParentalLevel
10
{
11
public
:
12
enum
Level
: std::uint8_t
13
{ plNone = 0, plLowest = 1, plLow = 2, plMedium = 3,
14
plHigh = 4 };
15
16
public
:
17
ParentalLevel
(Level pl);
18
explicit
ParentalLevel
(
int
pl);
19
ParentalLevel
(
const
ParentalLevel
&rhs);
20
ParentalLevel
&operator=(
const
ParentalLevel
&rhs);
21
ParentalLevel
&operator=(Level pl);
22
ParentalLevel
&operator++();
23
ParentalLevel
&operator+=(
int
amount);
24
ParentalLevel
&operator--();
25
ParentalLevel
&operator-=(
int
amount);
26
27
Level GetLevel()
const
;
28
29
void
reset
() { m_hitlimit =
false
; }
30
bool
good
()
const
{
return
!m_hitlimit; }
31
32
private
:
33
Level
m_level {plNone};
34
bool
m_hitlimit {
false
};
35
};
36
37
META_PUBLIC
bool
operator!=
(
const
ParentalLevel
&lhs,
const
ParentalLevel
&rhs);
38
META_PUBLIC
bool
operator==
(
const
ParentalLevel
&lhs,
const
ParentalLevel
&rhs);
39
META_PUBLIC
bool
operator<
(
const
ParentalLevel
&lhs,
const
ParentalLevel
&rhs);
40
META_PUBLIC
bool
operator>
(
const
ParentalLevel
&lhs,
const
ParentalLevel
&rhs);
41
META_PUBLIC
bool
operator<=
(
const
ParentalLevel
&lhs,
const
ParentalLevel
&rhs);
42
META_PUBLIC
bool
operator>=
(
const
ParentalLevel
&lhs,
const
ParentalLevel
&rhs);
43
44
class
META_PUBLIC
ParentalLevelChangeChecker
:
public
QObject
45
{
46
Q_OBJECT
47
48
public
:
49
ParentalLevelChangeChecker
();
50
51
void
Check(
ParentalLevel::Level
fromLevel,
ParentalLevel::Level
toLevel);
52
53
signals:
54
void
SigResultReady(
bool
passwordValid,
ParentalLevel::Level
newLevel);
55
56
private
slots:
57
void
OnResultReady(
bool
passwordValid,
ParentalLevel::Level
newLevel);
58
59
private
:
60
class
ParentalLevelChangeCheckerPrivate
*m_private {
nullptr
};
61
};
62
63
Q_DECLARE_METATYPE
(
ParentalLevelChangeChecker
*)
64
Q_DECLARE_METATYPE
(
ParentalLevel
*)
65
66
#endif // PARENTALCONTROLS_H_
operator<
META_PUBLIC bool operator<(const ParentalLevel &lhs, const ParentalLevel &rhs)
Definition:
parentalcontrols.cpp:144
mythmetaexp.h
ParentalLevelChangeChecker
Definition:
parentalcontrols.h:44
operator>=
META_PUBLIC bool operator>=(const ParentalLevel &lhs, const ParentalLevel &rhs)
Definition:
parentalcontrols.cpp:159
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(std::chrono::seconds)
ParentalLevel::reset
void reset()
Definition:
parentalcontrols.h:29
ParentalLevelChangeCheckerPrivate
Definition:
parentalcontrols.cpp:213
operator>
META_PUBLIC bool operator>(const ParentalLevel &lhs, const ParentalLevel &rhs)
Definition:
parentalcontrols.cpp:149
operator!=
META_PUBLIC bool operator!=(const ParentalLevel &lhs, const ParentalLevel &rhs)
Definition:
parentalcontrols.cpp:134
ParentalLevel::good
bool good() const
Definition:
parentalcontrols.h:30
ParentalLevel
Definition:
parentalcontrols.h:9
ParentalLevel::Level
Level
Definition:
parentalcontrols.h:12
operator==
META_PUBLIC bool operator==(const ParentalLevel &lhs, const ParentalLevel &rhs)
Definition:
parentalcontrols.cpp:139
META_PUBLIC
#define META_PUBLIC
Definition:
mythmetaexp.h:9
operator<=
META_PUBLIC bool operator<=(const ParentalLevel &lhs, const ParentalLevel &rhs)
Definition:
parentalcontrols.cpp:154
Generated on Wed Feb 26 2025 03:17:55 for MythTV by
1.8.17