File indexing completed on 2024-04-21 04:01:03

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