File indexing completed on 2024-06-16 05:25:06
0001 /* 0002 This file is part of the Okteta Kasten Framework, made within the KDE community. 0003 0004 SPDX-FileCopyrightText: 2022 Friedrich W. H. Kossebau <kossebau@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #ifndef STRUCTUREMETADATA_HPP 0010 #define STRUCTUREMETADATA_HPP 0011 0012 // Qt 0013 #include <QExplicitlySharedDataPointer> 0014 #include <QMetaType> 0015 0016 class KAboutLicense; 0017 0018 class QString; 0019 0020 class StructureMetaDataPrivsate; 0021 0022 class StructureMetaData 0023 { 0024 public: 0025 StructureMetaData(); 0026 explicit StructureMetaData(const QString& filename); 0027 StructureMetaData(const StructureMetaData& rhs); 0028 0029 ~StructureMetaData(); 0030 0031 StructureMetaData& operator=(const StructureMetaData& rhs); 0032 0033 public: 0034 bool isValid() const; 0035 0036 QString id() const; 0037 QString name() const; 0038 QString comment() const; 0039 QString categoryId() const; 0040 QString version() const; 0041 bool hasAuthorName() const; 0042 QString authorName() const; 0043 bool hasAuthorEmailAddress() const; 0044 QString authorEmailAddress() const; 0045 bool hasIconName() const; 0046 QString iconName() const; 0047 bool hasWebsite() const; 0048 QString website() const; 0049 QString entryPath() const; 0050 0051 const KAboutLicense& license() const; 0052 0053 private: 0054 QExplicitlySharedDataPointer<StructureMetaDataPrivsate> d; 0055 }; 0056 0057 Q_DECLARE_TYPEINFO(StructureMetaData, Q_MOVABLE_TYPE); 0058 Q_DECLARE_METATYPE(StructureMetaData) 0059 0060 #endif