cutelyst  4.4.0
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
dispatchtypechained.h
1 /*
2  * SPDX-FileCopyrightText: (C) 2015-2023 Daniel Nicoletti <dantti12@gmail.com>
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 #pragma once
6 
7 #include <Cutelyst/action.h>
8 #include <Cutelyst/cutelyst_export.h>
9 #include <Cutelyst/dispatchtype.h>
10 
11 namespace Cutelyst {
12 
13 class DispatchTypeChainedPrivate;
21 class CUTELYST_EXPORT DispatchTypeChained final : public DispatchType
22 {
23  Q_OBJECT
24  Q_DECLARE_PRIVATE(DispatchTypeChained)
25 public:
29  explicit DispatchTypeChained(QObject *parent = nullptr);
30 
34  ~DispatchTypeChained() override;
35 
36  QByteArray list() const override;
37 
38  MatchType match(Context *c, QStringView path, const QStringList &args) const override;
39 
40  bool registerAction(Action *action) override;
41 
42  QString uriForAction(Action *action, const QStringList &captures) const override;
43 
44  Action *expandAction(const Context *c, Action *action) const final;
45 
46  bool inUse() override;
47 
48 private:
49  DispatchTypeChainedPrivate *d_ptr;
50 };
51 
52 } // namespace Cutelyst
This class represents a Cutelyst Action.
Definition: action.h:35
The Cutelyst Context.
Definition: context.h:42
Describes a chained dispatch type.
Abstract class to described a dispatch type.
Definition: dispatchtype.h:25
The Cutelyst namespace holds all public Cutelyst API.