cutelyst  3.9.1
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
actionrest.h
1 /*
2  * SPDX-FileCopyrightText: (C) 2013-2022 Daniel Nicoletti <dantti12@gmail.com>
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 #ifndef ACTIONREST_H
6 #define ACTIONREST_H
7 
8 #include <Cutelyst/action.h>
9 #include <Cutelyst/componentfactory.h>
10 #include <Cutelyst/cutelyst_global.h>
11 
12 namespace Cutelyst {
13 
14 class ActionRESTPrivate;
15 class CUTELYST_PLUGIN_ACTION_REST_EXPORT ActionREST final : public Action
16 {
17  Q_OBJECT
18  Q_DECLARE_PRIVATE(ActionREST)
19 public:
23  explicit ActionREST(QObject *parent = nullptr);
24 
25 protected:
26  bool doExecute(Context *c) override;
27 };
28 
29 class ActionRESTFactory final
30  : public QObject
31  , public ComponentFactory
32 {
33  Q_OBJECT
34  Q_PLUGIN_METADATA(IID "org.cutelyst.ComponentFactory" FILE "metadata.json")
36 public:
37  virtual Component *createComponent(QObject *parent) override { return new ActionREST(parent); }
38 };
39 
40 } // namespace Cutelyst
41 
42 #endif // ACTIONREST_H
The Cutelyst Component base class.
Definition: component.h:25
This class represents a Cutelyst Action.
Definition: action.h:34
The Cutelyst Context.
Definition: context.h:38
Automated REST Method Dispatching.
Definition: actionrest.h:15
Q_OBJECTQ_OBJECT
virtual Component * createComponent(QObject *parent) override
Definition: actionrest.h:37
The Cutelyst namespace holds all public Cutelyst API.
Definition: Mainpage.dox:7
Q_INTERFACES(...)
QObject * parent() const const