1 /*
2     SPDX-FileCopyrightText: 2018 Volker Krause <vkrause@kde.org>
3 
4     SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #pragma once
8 
9 #include "kitinerary_export.h"
10 #include "datatypes.h"
11 
12 class QUrl;
13 
14 namespace KItinerary {
15 
16 class ActionPrivate;
17 
18 /** Base class for actions.
19  *  @see https://schema.org/Action
20  */
21 class KITINERARY_EXPORT Action
22 {
23     KITINERARY_BASE_GADGET(Action)
24     KITINERARY_PROPERTY(QUrl, target, setTarget)
25     KITINERARY_PROPERTY(QVariant, result, setResult)
26 protected:
27     ///@cond internal
28     QExplicitlySharedDataPointer<ActionPrivate> d;
29     ///@endcond
30 };
31 
32 /** Cancel action.
33  *  @see https://schema.org/CancelAction
34  */
35 class KITINERARY_EXPORT CancelAction : public Action
36 {
37     KITINERARY_GADGET(CancelAction)
38 };
39 
40 /** Check-in action.
41  *  @see https://schema.org/CheckInAction
42  */
43 class KITINERARY_EXPORT CheckInAction : public Action
44 {
45     KITINERARY_GADGET(CheckInAction)
46 };
47 
48 /** Download action.
49  *  @see https://schema.org/DownloadAction
50  */
51 class KITINERARY_EXPORT DownloadAction : public Action
52 {
53     KITINERARY_GADGET(DownloadAction)
54 };
55 
56 /** Reserve action.
57  *  @see https://schema.org/ReserveAction
58  */
59 class KITINERARY_EXPORT ReserveAction : public Action
60 {
61     KITINERARY_GADGET(ReserveAction)
62 };
63 
64 /** Edit/update action.
65  *  @see https://schema.org/UpdateAction
66  */
67 class KITINERARY_EXPORT UpdateAction : public Action
68 {
69     KITINERARY_GADGET(UpdateAction)
70 };
71 
72 /** View action.
73  *  @see https://schema.org/ViewAction
74  */
75 class KITINERARY_EXPORT ViewAction : public Action
76 {
77     KITINERARY_GADGET(ViewAction)
78 };
79 
80 }
81 
82