cutelyst 5.0.0
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
roleacl.h
1/*
2 * SPDX-FileCopyrightText: (C) 2014-2022 Daniel Nicoletti <dantti12@gmail.com>
3 * SPDX-License-Identifier: BSD-3-Clause
4 */
5#ifndef ROLEACL_H
6#define ROLEACL_H
7
8#include <Cutelyst/component.h>
9#include <Cutelyst/componentfactory.h>
10#include <Cutelyst/context.h>
11
12#include <QtCore/QVariantHash>
13
14namespace Cutelyst {
15
16class RoleACLPrivate;
17class RoleACL final : public Component
18{
20 Q_DECLARE_PRIVATE(RoleACL)
21public:
25 explicit RoleACL(QObject *parent = nullptr);
26
30 Modifiers modifiers() const override;
31
32 bool init(Application *application, const QVariantHash &args) override;
33
34 bool aroundExecute(Context *c, QStack<Component *> stack) override;
35
39 [[nodiscard]] bool canVisit(Context *c) const;
40
41protected:
42 bool dispatcherReady(const Dispatcher *dispatcher, Controller *controller) override;
43};
44
45class CutelystRoleACL final
46 : public QObject
47 , public ComponentFactory
48{
50 Q_PLUGIN_METADATA(IID "org.cutelyst.ComponentFactory" FILE "metadata.json")
52public:
54};
55
56} // namespace Cutelyst
57
58#endif // ROLEACL_H
The Cutelyst application.
Definition application.h:66
The Cutelyst Component base class.
Definition component.h:30
The Cutelyst Context.
Definition context.h:42
Cutelyst Controller base class.
Definition controller.h:56
Component * createComponent(QObject *parent) override
Definition roleacl.h:53
The Cutelyst Dispatcher.
Definition dispatcher.h:29
User role-based authorization action role.
Definition roleacl.h:18
bool canVisit(Context *c) const
Definition roleacl.cpp:180
bool init(Application *application, const QVariantHash &args) override
Definition roleacl.cpp:133
bool aroundExecute(Context *c, QStack< Component * > stack) override
Definition roleacl.cpp:167
Modifiers modifiers() const override
Definition roleacl.cpp:128
bool dispatcherReady(const Dispatcher *dispatcher, Controller *controller) override
Definition roleacl.cpp:216
The Cutelyst namespace holds all public Cutelyst API.
Q_INTERFACES(...)
Q_OBJECTQ_OBJECT
QObject * parent() const const