cutelyst  3.9.1
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
authenticationuser.h
1 /*
2  * SPDX-FileCopyrightText: (C) 2013-2022 Daniel Nicoletti <dantti12@gmail.com>
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 #ifndef AUTHENTICATIONUSER_H
6 #define AUTHENTICATIONUSER_H
7 
8 #include <Cutelyst/cutelyst_global.h>
9 #include <Cutelyst/paramsmultimap.h>
10 #include <Cutelyst/plugin.h>
11 
12 #include <QDataStream>
13 #include <QVariantMap>
14 
15 namespace Cutelyst {
16 
17 class AuthenticationRealm;
18 class CUTELYST_PLUGIN_AUTHENTICATION_EXPORT AuthenticationUser
19 {
20  Q_GADGET
21 public:
26 
30  AuthenticationUser(const QVariant &id);
31  virtual ~AuthenticationUser();
32 
36  QVariant id() const;
37 
41  void setId(const QVariant &id);
42 
46  bool isNull() const;
47 
51  QString authRealm();
52 
56  void setAuthRealm(const QString &authRealm);
57 
58  inline QVariantMap data() const;
59 
60  inline void setData(const QVariantMap &data);
61 
62  inline void insert(const QString &key, const QVariant &value);
63 
64  inline QVariant value(const QString &key, const QVariant &defaultValue = QVariant()) const;
65 
66  inline operator QVariant() const { return QVariant::fromValue(m_data); }
67 
68 protected:
69  QVariantMap m_data;
70 };
71 
72 QVariantMap AuthenticationUser::data() const
73 {
74  return m_data;
75 }
76 
77 void AuthenticationUser::setData(const QVariantMap &data)
78 {
79  m_data = data;
80 }
81 
82 void AuthenticationUser::insert(const QString &key, const QVariant &value)
83 {
84  m_data.insert(key, value);
85 }
86 
87 QVariant AuthenticationUser::value(const QString &key, const QVariant &defaultValue) const
88 {
89  return m_data.value(key, defaultValue);
90 }
91 
92 } // namespace Cutelyst
93 
94 Q_DECLARE_METATYPE(Cutelyst::AuthenticationUser)
95 QDataStream &operator<<(QDataStream &out, const Cutelyst::AuthenticationUser &myObj);
97 
98 QDebug CUTELYST_PLUGIN_AUTHENTICATION_EXPORT operator<<(QDebug dbg,
99  const Cutelyst::AuthenticationUser &user);
100 
101 #endif // AUTHENTICATIONUSER_H
The Cutelyst namespace holds all public Cutelyst API.
Definition: Mainpage.dox:7
QVariant fromValue(const T &value)