File indexing completed on 2024-09-01 03:51:04
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_CONTENTVOCAB_H 0009 #define SYNDICATION_RDF_CONTENTVOCAB_H 0010 0011 #include <QSharedPointer> 0012 0013 #include "../syndication_export.h" 0014 0015 #include <memory> 0016 0017 class QString; 0018 0019 namespace Syndication 0020 { 0021 namespace RDF 0022 { 0023 class Property; 0024 //@cond PRIVATE 0025 typedef QSharedPointer<Property> PropertyPtr; 0026 //@endcond 0027 /** 0028 * Singleton holding RDF class and property constants of the RSS 1.0 content 0029 * module. See http://web.resource.org/rss/1.0/modules/content/ for a 0030 * specification. 0031 * 0032 * @author Frank Osterfeld 0033 */ 0034 class ContentVocab 0035 { 0036 public: 0037 /** 0038 * returns the singleton instance 0039 */ 0040 static ContentVocab *self(); 0041 0042 /** 0043 * destructor 0044 */ 0045 ~ContentVocab(); 0046 0047 /** 0048 * Namespace of the Content module 0049 * 0050 * http://purl.org/rss/1.0/modules/content/ 0051 **/ 0052 const QString &namespaceURI() const; 0053 0054 /** 0055 * content:encoded property 0056 */ 0057 PropertyPtr encoded() const; 0058 0059 private: 0060 ContentVocab(); 0061 Q_DISABLE_COPY(ContentVocab) 0062 0063 class ContentVocabPrivate; 0064 std::unique_ptr<ContentVocabPrivate> const d; 0065 }; 0066 0067 } // namespace RDF 0068 } // namespace Syndication 0069 0070 #endif // SYNDICATION_RDF_CONTENTVOCAB_H