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

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_DUBLINCOREVOCAB_H
0009 #define SYNDICATION_RDF_DUBLINCOREVOCAB_H
0010 
0011 #include <syndication/rdf/property.h>
0012 
0013 class QString;
0014 
0015 namespace Syndication
0016 {
0017 namespace RDF
0018 {
0019 /**
0020  * Singleton holding RDF class and property constants of the Dublin Core
0021  * vocabulary. See http://dublincore.org/documents/dces/ for a
0022  * specification.
0023  *
0024  * @author Frank Osterfeld
0025  */
0026 class SYNDICATION_EXPORT DublinCoreVocab
0027 {
0028 public:
0029     /**
0030      * returns the singleton instance
0031      */
0032     static DublinCoreVocab *self();
0033 
0034     /**
0035      * destructor
0036      */
0037     ~DublinCoreVocab();
0038 
0039     /**
0040      * the namespace of the Dublin Core vocabulary,
0041      * http://purl.org/dc/elements/1.1/
0042      */
0043     const QString &namespaceURI() const;
0044 
0045     /**
0046      * dc:contributor property. See DublinCore::contributor() for
0047      * an explanation.
0048      */
0049     PropertyPtr contributor() const;
0050 
0051     /**
0052      * dc:creator property. See DublinCore::creator() for
0053      * an explanation.
0054      */
0055     PropertyPtr creator() const;
0056 
0057     /**
0058      * dc:coverage property. See DublinCore::coverage() for
0059      * an explanation.
0060      */
0061     PropertyPtr coverage() const;
0062 
0063     /**
0064      * dc:date property. See DublinCore::date() for
0065      * an explanation.
0066      */
0067     PropertyPtr date() const;
0068 
0069     /**
0070      * dc:description property. See DublinCore::description() for
0071      * an explanation.
0072      */
0073     PropertyPtr description() const;
0074 
0075     /**
0076      * dc:format property. See DublinCore::format() for
0077      * an explanation.
0078      */
0079     PropertyPtr format() const;
0080 
0081     /**
0082      * dc:identifier property. See DublinCore::identifier() for
0083      * an explanation.
0084      */
0085     PropertyPtr identifier() const;
0086 
0087     /**
0088      * dc:language property. See DublinCore::language() for
0089      * an explanation.
0090      */
0091     PropertyPtr language() const;
0092 
0093     /**
0094      * dc:publisher property. See DublinCore::publisher() for
0095      * an explanation.
0096      */
0097     PropertyPtr publisher() const;
0098 
0099     /**
0100      * dc:relation property. See DublinCore::relation() for
0101      * an explanation.
0102      */
0103     PropertyPtr relation() const;
0104 
0105     /**
0106      * dc:rights property. See DublinCore::rights() for
0107      * an explanation.
0108      */
0109     PropertyPtr rights() const;
0110 
0111     /**
0112      * dc:source property. See DublinCore::source() for
0113      * an explanation.
0114      */
0115     PropertyPtr source() const;
0116 
0117     /**
0118      * dc:subject property. See DublinCore::subject() for
0119      * an explanation.
0120      */
0121     PropertyPtr subject() const;
0122 
0123     /**
0124      * dc:title property. See DublinCore::title() for
0125      * an explanation.
0126      */
0127     PropertyPtr title() const;
0128 
0129     /**
0130      * dc:type property. See DublinCore::type() for
0131      * an explanation.
0132      */
0133     PropertyPtr type() const;
0134 
0135 private:
0136     SYNDICATION_NO_EXPORT DublinCoreVocab();
0137     Q_DISABLE_COPY(DublinCoreVocab)
0138 
0139     class DublinCoreVocabPrivate;
0140     DublinCoreVocabPrivate *const d;
0141 };
0142 
0143 } // namespace RDF
0144 } // namespace Syndication
0145 
0146 #endif // SYNDICATION_RDF_DUBLINCOREVOCAB_H