File indexing completed on 2025-04-13 03:46:35
0001 /* 0002 This file is part of the syndication library 0003 SPDX-FileCopyrightText: 2006 Frank Osterfeld <osterfeld@kde.org> 0004 0005 SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 #ifndef SYNDICATION_RDF_DUBLINCOREVOCAB_H 0009 #define SYNDICATION_RDF_DUBLINCOREVOCAB_H 0010 0011 #include <syndication/rdf/property.h> 0012 0013 #include <memory> 0014 0015 class QString; 0016 0017 namespace Syndication 0018 { 0019 namespace RDF 0020 { 0021 /** 0022 * Singleton holding RDF class and property constants of the Dublin Core 0023 * vocabulary. See http://dublincore.org/documents/dces/ for a 0024 * specification. 0025 * 0026 * @author Frank Osterfeld 0027 */ 0028 class DublinCoreVocab 0029 { 0030 public: 0031 /** 0032 * returns the singleton instance 0033 */ 0034 static DublinCoreVocab *self(); 0035 0036 /** 0037 * destructor 0038 */ 0039 ~DublinCoreVocab(); 0040 0041 /** 0042 * the namespace of the Dublin Core vocabulary, 0043 * http://purl.org/dc/elements/1.1/ 0044 */ 0045 const QString &namespaceURI() const; 0046 0047 /** 0048 * dc:contributor property. See DublinCore::contributor() for 0049 * an explanation. 0050 */ 0051 PropertyPtr contributor() const; 0052 0053 /** 0054 * dc:creator property. See DublinCore::creator() for 0055 * an explanation. 0056 */ 0057 PropertyPtr creator() const; 0058 0059 /** 0060 * dc:coverage property. See DublinCore::coverage() for 0061 * an explanation. 0062 */ 0063 PropertyPtr coverage() const; 0064 0065 /** 0066 * dc:date property. See DublinCore::date() for 0067 * an explanation. 0068 */ 0069 PropertyPtr date() const; 0070 0071 /** 0072 * dc:description property. See DublinCore::description() for 0073 * an explanation. 0074 */ 0075 PropertyPtr description() const; 0076 0077 /** 0078 * dc:format property. See DublinCore::format() for 0079 * an explanation. 0080 */ 0081 PropertyPtr format() const; 0082 0083 /** 0084 * dc:identifier property. See DublinCore::identifier() for 0085 * an explanation. 0086 */ 0087 PropertyPtr identifier() const; 0088 0089 /** 0090 * dc:language property. See DublinCore::language() for 0091 * an explanation. 0092 */ 0093 PropertyPtr language() const; 0094 0095 /** 0096 * dc:publisher property. See DublinCore::publisher() for 0097 * an explanation. 0098 */ 0099 PropertyPtr publisher() const; 0100 0101 /** 0102 * dc:relation property. See DublinCore::relation() for 0103 * an explanation. 0104 */ 0105 PropertyPtr relation() const; 0106 0107 /** 0108 * dc:rights property. See DublinCore::rights() for 0109 * an explanation. 0110 */ 0111 PropertyPtr rights() const; 0112 0113 /** 0114 * dc:source property. See DublinCore::source() for 0115 * an explanation. 0116 */ 0117 PropertyPtr source() const; 0118 0119 /** 0120 * dc:subject property. See DublinCore::subject() for 0121 * an explanation. 0122 */ 0123 PropertyPtr subject() const; 0124 0125 /** 0126 * dc:title property. See DublinCore::title() for 0127 * an explanation. 0128 */ 0129 PropertyPtr title() const; 0130 0131 /** 0132 * dc:type property. See DublinCore::type() for 0133 * an explanation. 0134 */ 0135 PropertyPtr type() const; 0136 0137 private: 0138 DublinCoreVocab(); 0139 Q_DISABLE_COPY(DublinCoreVocab) 0140 0141 class DublinCoreVocabPrivate; 0142 std::unique_ptr<DublinCoreVocabPrivate> const d; 0143 }; 0144 0145 } // namespace RDF 0146 } // namespace Syndication 0147 0148 #endif // SYNDICATION_RDF_DUBLINCOREVOCAB_H