File indexing completed on 2024-12-29 04:49:56

0001 /*
0002     SPDX-FileCopyrightText: 2018 Volker Krause <vkrause@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "kitinerary_export.h"
0010 #include "datatypes.h"
0011 
0012 class QUrl;
0013 
0014 namespace KItinerary {
0015 
0016 class ActionPrivate;
0017 
0018 /** Base class for actions.
0019  *  @see https://schema.org/Action
0020  */
0021 class KITINERARY_EXPORT Action
0022 {
0023     KITINERARY_GADGET(Action)
0024     KITINERARY_PROPERTY(QUrl, target, setTarget)
0025     KITINERARY_PROPERTY(QVariant, result, setResult)
0026 protected:
0027     ///@cond internal
0028     QExplicitlySharedDataPointer<ActionPrivate> d;
0029     ///@endcond
0030 };
0031 
0032 class CancelActionPrivate;
0033 
0034 /** Cancel action.
0035  *  @see https://schema.org/CancelAction
0036  */
0037 class KITINERARY_EXPORT CancelAction : public Action
0038 {
0039     KITINERARY_GADGET(CancelAction)
0040 };
0041 
0042 class CheckInActionPrivate;
0043 
0044 /** Check-in action.
0045  *  @see https://schema.org/CheckInAction
0046  */
0047 class KITINERARY_EXPORT CheckInAction : public Action
0048 {
0049     KITINERARY_GADGET(CheckInAction)
0050 };
0051 
0052 class DownloadActionPrivate;
0053 
0054 /** Download action.
0055  *  @see https://schema.org/DownloadAction
0056  */
0057 class KITINERARY_EXPORT DownloadAction : public Action
0058 {
0059     KITINERARY_GADGET(DownloadAction)
0060 };
0061 
0062 class JoinActionPrivate;
0063 
0064 /** Action to join an event.
0065  *  @see https://schema.org/JoinAction
0066  */
0067 class KITINERARY_EXPORT JoinAction : public Action
0068 {
0069     KITINERARY_GADGET(JoinAction)
0070 };
0071 
0072 class ReserveActionPrivate;
0073 
0074 /** Reserve action.
0075  *  @see https://schema.org/ReserveAction
0076  */
0077 class KITINERARY_EXPORT ReserveAction : public Action
0078 {
0079     KITINERARY_GADGET(ReserveAction)
0080 };
0081 
0082 class UpdateActionPrivate;
0083 
0084 /** Edit/update action.
0085  *  @see https://schema.org/UpdateAction
0086  */
0087 class KITINERARY_EXPORT UpdateAction : public Action
0088 {
0089     KITINERARY_GADGET(UpdateAction)
0090 };
0091 
0092 class ViewActionPrivate;
0093 
0094 /** View action.
0095  *  @see https://schema.org/ViewAction
0096  */
0097 class KITINERARY_EXPORT ViewAction : public Action
0098 {
0099     KITINERARY_GADGET(ViewAction)
0100 };
0101 
0102 }
0103