My Project
Enums.h
1 /*
2  * Copyright 2013 Canonical Ltd.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License as published by
6  * the Free Software Foundation; version 3.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU Lesser General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * Authors:
17  * MichaƂ Sawicz <michal.sawicz@canonical.com>
18  */
19 
20 
21 #ifndef UNITY_SHELL_NOTIFICATIONS_ENUMS_H
22 #define UNITY_SHELL_NOTIFICATIONS_ENUMS_H
23 
24 #include <unity/SymbolExport.h>
25 
26 #include <QtCore/QObject>
27 
28 namespace unity
29 {
30 
31 namespace shell
32 {
33 
34 namespace notifications
35 {
36 
41 class UNITY_API Urgency : public QObject
42 {
43  Q_OBJECT
44 
45 public:
51  enum class UrgencyEnum
52  {
53  Invalid = 0,
54  Low,
55  Normal,
56  Critical
57  };
58  Q_ENUM(UrgencyEnum)
59 };
60 
61 
66 class UNITY_API Type : public QObject
67 {
68  Q_OBJECT
69 
70 public:
76  enum class TypeEnum
77  {
78  Invalid = 0,
79  Confirmation,
80  Ephemeral,
81  Interactive,
82  SnapDecision,
83  Placeholder
84  };
85  Q_ENUM(TypeEnum)
86 };
87 
88 
93 class UNITY_API Hint : public QObject
94 {
95  Q_OBJECT
96 
97 public:
103  enum HintEnum
104  {
105  Invalid = 1 << 0,
106  ButtonTint = 1 << 1,
107  IconOnly = 1 << 2
108  };
109  Q_FLAG(HintEnum)
110 
111  Q_DECLARE_FLAGS(Hints, HintEnum)
112 };
113 
114 Q_DECLARE_OPERATORS_FOR_FLAGS(Hint::Hints)
115 
116 } // namespace notifications
117 
118 } // namespace shell
119 
120 } // namespace unity
121 
122 #endif // UNITY_SHELL_NOTIFICATIONS_ENUMS_H
unity::shell::notifications::Type
Wraps NotificationInterface's type enumeration.
Definition: Enums.h:66
unity::shell::notifications::Urgency::UrgencyEnum
UrgencyEnum
NotificationInterface's urgency enumeration.
Definition: Enums.h:51
unity::shell::notifications::Urgency
Wraps NotificationInterface's urgency enumeration.
Definition: Enums.h:41
unity
Top-level namespace for all things Unity-related.
Definition: Version.h:37
unity::shell::notifications::Hint
Wraps NotificationInterface's hint flags.
Definition: Enums.h:93
unity::shell::notifications::Hint::HintEnum
HintEnum
NotificationInterface's hint flags.
Definition: Enums.h:103
unity::shell::notifications::Type::TypeEnum
TypeEnum
NotificationInterface's type enumeration.
Definition: Enums.h:76