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

0001 /*
0002     SPDX-FileCopyrightText: 2019 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 
0013 namespace KItinerary {
0014 
0015 class CreativeWorkPrivate;
0016 
0017 /** Base type describing any form of content.
0018  *  @see https://schema.org/CreativeWork
0019  */
0020 class KITINERARY_EXPORT CreativeWork
0021 {
0022     KITINERARY_GADGET(CreativeWork)
0023     /** Name of the file. */
0024     KITINERARY_PROPERTY(QString, name, setName)
0025     /** Human readable description. */
0026     KITINERARY_PROPERTY(QString, description, setDescription)
0027     /** Mimetype. */
0028     KITINERARY_PROPERTY(QString, encodingFormat, setEncodingFormat)
0029 
0030 protected:
0031     ///@cond internal
0032     QExplicitlySharedDataPointer<CreativeWorkPrivate> d;
0033     ///@endcond
0034 };
0035 
0036 class DigitalDocumentPrivate;
0037 
0038 /** Description of a document.
0039  *  @see https://schema.org/DigitalDocument
0040  */
0041 class KITINERARY_EXPORT DigitalDocument : public CreativeWork
0042 {
0043     KITINERARY_GADGET(DigitalDocument)
0044 };
0045 
0046 class EmailMessagePrivate;
0047 
0048 /** Description of an email.
0049  *  @see https://schema.org/EmailMessage
0050  */
0051 class KITINERARY_EXPORT EmailMessage : public CreativeWork
0052 {
0053     KITINERARY_GADGET(EmailMessage)
0054 };
0055 
0056 }
0057 
0058 Q_DECLARE_METATYPE(KItinerary::CreativeWork)
0059 Q_DECLARE_METATYPE(KItinerary::DigitalDocument)
0060 Q_DECLARE_METATYPE(KItinerary::EmailMessage)
0061 
0062