cutelyst 4.0.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 <Cutelyst/cutelyst_global.h>
9#include <Cutelyst/paramsmultimap.h>
10#include <Cutelyst/plugin.h>
11
12#include <QDataStream>
13#include <QVariantMap>
14
15namespace Cutelyst {
16
17class AuthenticationRealm;
18class CUTELYST_PLUGIN_AUTHENTICATION_EXPORT AuthenticationUser
19{
20 Q_GADGET
21public:
26
30 AuthenticationUser(const QVariant &id);
31 virtual ~AuthenticationUser();
32
36 [[nodiscard]] QVariant id() const;
37
41 void setId(const QVariant &id);
42
46 [[nodiscard]] bool isNull() const;
47
51 [[nodiscard]] QString authRealm();
52
56 void setAuthRealm(const QString &authRealm);
57
58 [[nodiscard]] 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 [[nodiscard]] inline QVariant value(const QString &key,
65 const QVariant &defaultValue = QVariant()) const;
66
67 inline operator QVariant() const { return QVariant::fromValue(m_data); }
68
69protected:
70 QVariantMap m_data;
71};
72
73QVariantMap AuthenticationUser::data() const
74{
75 return m_data;
76}
77
78void AuthenticationUser::setData(const QVariantMap &data)
79{
80 m_data = data;
81}
82
83void AuthenticationUser::insert(const QString &key, const QVariant &value)
84{
85 m_data.insert(key, value);
86}
87
88QVariant AuthenticationUser::value(const QString &key, const QVariant &defaultValue) const
89{
90 return m_data.value(key, defaultValue);
91}
92
93} // namespace Cutelyst
94
95Q_DECLARE_METATYPE(Cutelyst::AuthenticationUser)
96QDataStream &operator<<(QDataStream &out, const Cutelyst::AuthenticationUser &myObj);
97QDataStream &operator>>(QDataStream &in, Cutelyst::AuthenticationUser &myObj);
98
99QDebug CUTELYST_PLUGIN_AUTHENTICATION_EXPORT operator<<(QDebug dbg,
100 const Cutelyst::AuthenticationUser &user);
101
102#endif // AUTHENTICATIONUSER_H
The Cutelyst namespace holds all public Cutelyst API.
Definition: Mainpage.dox:8