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_CONTENTVOCAB_H |
9 | #define SYNDICATION_RDF_CONTENTVOCAB_H |
10 | |
11 | #include <QSharedPointer> |
12 | |
13 | #include "../syndication_export.h" |
14 | |
15 | #include <memory> |
16 | |
17 | class QString; |
18 | |
19 | namespace Syndication |
20 | { |
21 | namespace RDF |
22 | { |
23 | class Property; |
24 | //@cond PRIVATE |
25 | typedef QSharedPointer<Property> PropertyPtr; |
26 | //@endcond |
27 | /** |
28 | * Singleton holding RDF class and property constants of the RSS 1.0 content |
29 | * module. See http://web.resource.org/rss/1.0/modules/content/ for a |
30 | * specification. |
31 | * |
32 | * @author Frank Osterfeld |
33 | */ |
34 | class ContentVocab |
35 | { |
36 | public: |
37 | /** |
38 | * returns the singleton instance |
39 | */ |
40 | static ContentVocab *self(); |
41 | |
42 | /** |
43 | * destructor |
44 | */ |
45 | ~ContentVocab(); |
46 | |
47 | /** |
48 | * Namespace of the Content module |
49 | * |
50 | * http://purl.org/rss/1.0/modules/content/ |
51 | **/ |
52 | const QString &namespaceURI() const; |
53 | |
54 | /** |
55 | * content:encoded property |
56 | */ |
57 | PropertyPtr encoded() const; |
58 | |
59 | private: |
60 | ContentVocab(); |
61 | Q_DISABLE_COPY(ContentVocab) |
62 | |
63 | class ContentVocabPrivate; |
64 | std::unique_ptr<ContentVocabPrivate> const d; |
65 | }; |
66 | |
67 | } // namespace RDF |
68 | } // namespace Syndication |
69 | |
70 | #endif // SYNDICATION_RDF_CONTENTVOCAB_H |
71 | |