File indexing completed on 2024-04-28 15:34:26

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