cutelyst  3.7.0
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 <QDataStream>
9 #include <QVariantMap>
10 
11 #include <Cutelyst/cutelyst_global.h>
12 #include <Cutelyst/paramsmultimap.h>
13 #include <Cutelyst/plugin.h>
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 {
67  return QVariant::fromValue(m_data);
68  }
69 
70 protected:
71  QVariantMap m_data;
72 };
73 
74 QVariantMap AuthenticationUser::data() const
75 {
76  return m_data;
77 }
78 
79 void AuthenticationUser::setData(const QVariantMap &data)
80 {
81  m_data = data;
82 }
83 
84 void AuthenticationUser::insert(const QString &key, const QVariant &value)
85 {
86  m_data.insert(key, value);
87 }
88 
89 QVariant AuthenticationUser::value(const QString &key, const QVariant &defaultValue) const
90 {
91  return m_data.value(key, defaultValue);
92 }
93 
94 }
95 
96 Q_DECLARE_METATYPE(Cutelyst::AuthenticationUser)
97 QDataStream &operator<<(QDataStream &out, const Cutelyst::AuthenticationUser &myObj);
98 QDataStream &operator>>(QDataStream &in, Cutelyst::AuthenticationUser &myObj);
99 
100 QDebug CUTELYST_PLUGIN_AUTHENTICATION_EXPORT operator<<(QDebug dbg, const Cutelyst::AuthenticationUser &user);
101 
102 #endif // AUTHENTICATIONUSER_H
The Cutelyst namespace holds all public Cutelyst API.
Definition: Mainpage.dox:8