File indexing completed on 2025-02-16 03:47:08
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_SYNDICATIONVOCAB_H 0009 #define SYNDICATION_RDF_SYNDICATIONVOCAB_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 //@cond PRIVATE 0024 class Property; 0025 typedef QSharedPointer<Property> PropertyPtr; 0026 //@endcond 0027 0028 /** 0029 * Singleton providing Property constants for 0030 * the Syndication module. 0031 * For a specification, see 0032 * http://web.resource.org/rss/1.0/modules/syndication/ 0033 * 0034 * @author Frank Osterfeld 0035 */ 0036 class SyndicationVocab 0037 { 0038 public: 0039 /** 0040 * destructor 0041 */ 0042 ~SyndicationVocab(); 0043 0044 /** 0045 * returns the singleton instance 0046 */ 0047 static SyndicationVocab *self(); 0048 0049 /** 0050 * namespace URI of the syndication vocabulary, 0051 * @p "http://purl.org/rss/1.0/modules/syndication/" 0052 */ 0053 const QString &namespaceURI() const; 0054 0055 /** 0056 * updatePeriod property, see Syndication::updatePeriod() for more 0057 * information. 0058 */ 0059 PropertyPtr updatePeriod() const; 0060 0061 /** 0062 * updateFrequency property, see Syndication::updateFrequency() for more 0063 * information. 0064 */ 0065 PropertyPtr updateFrequency() const; 0066 0067 /** 0068 * updateBase property, see Syndication::updateBase() for more 0069 * information. 0070 */ 0071 PropertyPtr updateBase() const; 0072 0073 private: 0074 SyndicationVocab(); 0075 Q_DISABLE_COPY(SyndicationVocab) 0076 class SyndicationVocabPrivate; 0077 std::unique_ptr<SyndicationVocabPrivate> const d; 0078 }; 0079 0080 } // namespace RDF 0081 } // namespace Syndication 0082 0083 #endif // SYNDICATION_RDF_SYNDICATIONVOCAB_H