1 | /* |
2 | This file is part of the syndication library |
3 | SPDX-FileCopyrightText: 2006 Frank Osterfeld <osterfeld@kde.org> |
4 | |
5 | SPDX-License-Identifier: LGPL-2.0-or-later |
6 | */ |
7 | |
8 | #ifndef SYNDICATION_RDF_DUBLINCOREVOCAB_H |
9 | #define SYNDICATION_RDF_DUBLINCOREVOCAB_H |
10 | |
11 | #include <syndication/rdf/property.h> |
12 | |
13 | #include <memory> |
14 | |
15 | class QString; |
16 | |
17 | namespace Syndication |
18 | { |
19 | namespace RDF |
20 | { |
21 | /** |
22 | * Singleton holding RDF class and property constants of the Dublin Core |
23 | * vocabulary. See http://dublincore.org/documents/dces/ for a |
24 | * specification. |
25 | * |
26 | * @author Frank Osterfeld |
27 | */ |
28 | class DublinCoreVocab |
29 | { |
30 | public: |
31 | /** |
32 | * returns the singleton instance |
33 | */ |
34 | static DublinCoreVocab *self(); |
35 | |
36 | /** |
37 | * destructor |
38 | */ |
39 | ~DublinCoreVocab(); |
40 | |
41 | /** |
42 | * the namespace of the Dublin Core vocabulary, |
43 | * http://purl.org/dc/elements/1.1/ |
44 | */ |
45 | const QString &namespaceURI() const; |
46 | |
47 | /** |
48 | * dc:contributor property. See DublinCore::contributor() for |
49 | * an explanation. |
50 | */ |
51 | PropertyPtr contributor() const; |
52 | |
53 | /** |
54 | * dc:creator property. See DublinCore::creator() for |
55 | * an explanation. |
56 | */ |
57 | PropertyPtr creator() const; |
58 | |
59 | /** |
60 | * dc:coverage property. See DublinCore::coverage() for |
61 | * an explanation. |
62 | */ |
63 | PropertyPtr coverage() const; |
64 | |
65 | /** |
66 | * dc:date property. See DublinCore::date() for |
67 | * an explanation. |
68 | */ |
69 | PropertyPtr date() const; |
70 | |
71 | /** |
72 | * dc:description property. See DublinCore::description() for |
73 | * an explanation. |
74 | */ |
75 | PropertyPtr description() const; |
76 | |
77 | /** |
78 | * dc:format property. See DublinCore::format() for |
79 | * an explanation. |
80 | */ |
81 | PropertyPtr format() const; |
82 | |
83 | /** |
84 | * dc:identifier property. See DublinCore::identifier() for |
85 | * an explanation. |
86 | */ |
87 | PropertyPtr identifier() const; |
88 | |
89 | /** |
90 | * dc:language property. See DublinCore::language() for |
91 | * an explanation. |
92 | */ |
93 | PropertyPtr language() const; |
94 | |
95 | /** |
96 | * dc:publisher property. See DublinCore::publisher() for |
97 | * an explanation. |
98 | */ |
99 | PropertyPtr publisher() const; |
100 | |
101 | /** |
102 | * dc:relation property. See DublinCore::relation() for |
103 | * an explanation. |
104 | */ |
105 | PropertyPtr relation() const; |
106 | |
107 | /** |
108 | * dc:rights property. See DublinCore::rights() for |
109 | * an explanation. |
110 | */ |
111 | PropertyPtr rights() const; |
112 | |
113 | /** |
114 | * dc:source property. See DublinCore::source() for |
115 | * an explanation. |
116 | */ |
117 | PropertyPtr source() const; |
118 | |
119 | /** |
120 | * dc:subject property. See DublinCore::subject() for |
121 | * an explanation. |
122 | */ |
123 | PropertyPtr subject() const; |
124 | |
125 | /** |
126 | * dc:title property. See DublinCore::title() for |
127 | * an explanation. |
128 | */ |
129 | PropertyPtr title() const; |
130 | |
131 | /** |
132 | * dc:type property. See DublinCore::type() for |
133 | * an explanation. |
134 | */ |
135 | PropertyPtr type() const; |
136 | |
137 | private: |
138 | DublinCoreVocab(); |
139 | Q_DISABLE_COPY(DublinCoreVocab) |
140 | |
141 | class DublinCoreVocabPrivate; |
142 | std::unique_ptr<DublinCoreVocabPrivate> const d; |
143 | }; |
144 | |
145 | } // namespace RDF |
146 | } // namespace Syndication |
147 | |
148 | #endif // SYNDICATION_RDF_DUBLINCOREVOCAB_H |
149 | |