File indexing completed on 2024-04-28 11:49:07

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