Syndication

rssvocab.h
1 /*
2  This file is part of the syndication library
3  SPDX-FileCopyrightText: 2006 Frank Osterfeld <[email protected]>
4 
5  SPDX-License-Identifier: LGPL-2.0-or-later
6 */
7 
8 #ifndef SYNDICATION_RDF_RSSVOCAB_H
9 #define SYNDICATION_RDF_RSSVOCAB_H
10 
11 #include <QSharedPointer>
12 #include <QStringList>
13 
14 #include <syndication_export.h>
15 
16 class QString;
17 
18 namespace Syndication
19 {
20 namespace RDF
21 {
22 //@cond PRIVATE
23 class Property;
24 typedef QSharedPointer<Property> PropertyPtr;
25 class Resource;
26 typedef QSharedPointer<Resource> ResourcePtr;
27 //@endcond
28 
29 /**
30  * Singleton holding RDF class and property constants of the RSS 1.0
31  * vocabulary. See http://web.resource.org/rss/1.0/ for a specification.
32  *
33  * @author Frank Osterfeld
34  */
35 class SYNDICATION_EXPORT RSSVocab
36 {
37 public:
38  /**
39  * destructor
40  */
41  ~RSSVocab();
42 
43  /**
44  * returns the singleton instance
45  */
46  static RSSVocab *self();
47 
48  /**
49  * namespace URI of the RSS 1.0 vocabulary,
50  * @c "http://web.resource.org/rss/1.0/"
51  */
52  const QString &namespaceURI() const;
53 
54  /**
55  * RSS 1.0 title property, see Document::title() for
56  * more details
57  */
58  PropertyPtr title() const;
59 
60  /**
61  * RSS 1.0 description property, see Document::description() for
62  * more details
63  */
64  PropertyPtr description() const;
65 
66  /**
67  * RSS 1.0 link property, see Document::link() for
68  * more details
69  */
70  PropertyPtr link() const;
71 
72  /**
73  * RSS 1.0 name property, see Document::name() for
74  * more details
75  */
76  PropertyPtr name() const;
77 
78  /**
79  * RSS 1.0 url property, see Document::url() for
80  * more details
81  */
82  PropertyPtr url() const;
83 
84  /**
85  * RSS 1.0 channel class, the instance is represented by
86  * Syndication::RDF::Document
87  */
88  ResourcePtr channel() const;
89 
90  /**
91  * RSS 1.0 item class, the instance is represented by
92  * Syndication::RDF::Item
93  */
94  ResourcePtr item() const;
95 
96  /**
97  * RSS 1.0 items property, see Document::items() for
98  * more details
99  */
100  PropertyPtr items() const;
101 
102  /**
103  * RSS 1.0 image property, see Document::image() for
104  * more details
105  */
106  PropertyPtr image() const;
107 
108  /**
109  * RSS 1.0 textinput property, see Document::textinput() for
110  * more details
111  */
112  PropertyPtr textinput() const;
113 
114 private:
115  SYNDICATION_NO_EXPORT RSSVocab();
116  Q_DISABLE_COPY(RSSVocab)
117  class RSSVocabPrivate;
118  RSSVocabPrivate *const d;
119 };
120 
121 /**
122  * Singleton holding RDF class and property constants of the RSS 0.9
123  * vocabulary. Only used to map RSS 0.9 to 1.0.
124  *
125  * @author Frank Osterfeld
126  */
127 
128 class SYNDICATION_EXPORT RSS09Vocab
129 {
130 public:
131  /**
132  * destructor
133  */
134  ~RSS09Vocab();
135 
136  /**
137  * returns the singleton instance
138  */
139  static RSS09Vocab *self();
140 
141  /**
142  * namespace URI of the RSS 0.9 vocabulary,
143  * @c "http://web.resource.org/rss/0.9/"
144  */
145  const QString &namespaceURI() const;
146 
147  /**
148  * RSS 0.9 title property, see Document::title() for
149  * more details
150  */
151  PropertyPtr title() const;
152 
153  /**
154  * RSS 0.9 description property, see Document::description() for
155  * more details
156  */
157  PropertyPtr description() const;
158 
159  /**
160  * RSS 0.9 link property, see Document::link() for
161  * more details
162  */
163  PropertyPtr link() const;
164 
165  /**
166  * RSS 0.9 name property, see Document::name() for
167  * more details
168  */
169  PropertyPtr name() const;
170 
171  /**
172  * RSS 0.9 url property, see Document::url() for
173  * more details
174  */
175  PropertyPtr url() const;
176 
177  /**
178  * RSS 0.9 channel class, the instance is represented by
179  * Syndication::RDF::Document
180  */
181  ResourcePtr channel() const;
182 
183  /**
184  * RSS 0.9 item class, see Document::items() for
185  * more details
186  */
187  ResourcePtr item() const;
188 
189  /**
190  * RSS 0.9 image property, see Document::image() for
191  * more details
192  */
193  PropertyPtr image() const;
194 
195  /**
196  * RSS 0.9 textinput property, see Document::textinput() for
197  * more details
198  */
199  PropertyPtr textinput() const;
200 
201  /**
202  * returns a list containing all URIs representing properties in this vocabulary
203  */
204  QStringList properties() const;
205 
206  /**
207  * returns a list containing all URIs representing classes in this vocabulary
208  */
209  QStringList classes() const;
210 
211 private:
212  SYNDICATION_NO_EXPORT RSS09Vocab();
213  Q_DISABLE_COPY(RSS09Vocab)
214  class RSS09VocabPrivate;
215  RSS09VocabPrivate *const d;
216 };
217 
218 } // namespace RDF
219 } // namespace Syndication
220 
221 #endif // SYNDICATION_RDF_RSSVOCAB_H
KGuiItem properties()
KIOCORE_EXPORT CopyJob * link(const QList< QUrl > &src, const QUrl &destDir, JobFlags flags=DefaultFlags)
Property
const char * name(StandardAction id)
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Thu Nov 30 2023 03:51:26 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.