Cutelyst  3.5.0
dispatchtypechained.h
1 /*
2  * SPDX-FileCopyrightText: (C) 2015-2022 Daniel Nicoletti <dantti12@gmail.com>
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 #ifndef DISPATCHTYPECHAINED_H
6 #define DISPATCHTYPECHAINED_H
7 
8 #include <Cutelyst/cutelyst_global.h>
9 #include <Cutelyst/action.h>
10 #include <Cutelyst/dispatchtype.h>
11 
12 namespace Cutelyst {
13 
14 class DispatchTypeChainedPrivate;
15 class CUTELYST_LIBRARY DispatchTypeChained final : public DispatchType
16 {
17  Q_OBJECT
18  Q_DECLARE_PRIVATE(DispatchTypeChained)
19 public:
23  explicit DispatchTypeChained(QObject *parent = nullptr);
24  virtual ~DispatchTypeChained() override;
25 
26  virtual QByteArray list() const override;
27 
28  virtual MatchType match(Context *c, const QString &path, const QStringList &args) const override;
29 
30  virtual bool registerAction(Action *action) override;
31 
32  virtual QString uriForAction(Action *action, const QStringList &captures) const override;
33 
34  Action *expandAction(const Context *c, Action *action) const final;
35 
36  virtual bool inUse() override;
37 
38 private:
39  DispatchTypeChainedPrivate *d_ptr;
40 };
41 
42 }
43 
44 #endif // DISPATCHTYPECHAINED_H
This class represents a Cutelyst Action.
Definition: action.h:34
The Cutelyst Context.
Definition: context.h:38
The Cutelyst namespace holds all public Cutelyst API.
Definition: Mainpage.dox:7