Syndication

atom/category.h
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_ATOM_CATEGORY_H
9#define SYNDICATION_ATOM_CATEGORY_H
10
11#include <syndication/elementwrapper.h>
12
13class QDomElement;
14class QString;
15
16namespace Syndication
17{
18namespace Atom
19{
20/**
21 * A category for categorizing items or whole feeds.
22 * A category can be an informal string set by the feed author ("General",
23 * "Stuff I like"), a tag assigned by readers, as known from flickr.com
24 * or de.licio.us ("KDE", "funny"), or a term from a formally defined ontology.
25 *
26 * To represent the category in a user interface, use label() (or term() as
27 * fallback). To create a key for e.g. storage purposes, use scheme() + term().
28 *
29 * @author Frank Osterfeld
30 */
31class SYNDICATION_EXPORT Category : public ElementWrapper
32{
33public:
34 /**
35 * creates a null category object.
36 */
37 Category();
38
39 /**
40 * creates a Category object wrapping an atom:category element.
41 * @param element a DOM element, should be a atom:category element
42 * (although not enforced), otherwise this object will not parse
43 * anything useful
44 */
45 explicit Category(const QDomElement &element);
46
47 /**
48 * a term describing the category. (required)
49 *
50 * @return the category term as plain text (no HTML, "&", "<" etc. are
51 * unescaped!)
52 */
53 Q_REQUIRED_RESULT QString term() const;
54
55 /**
56 * naming scheme the category term is part of. (optional)
57 * A term is unique in its scheme (like in C++ identifiers are
58 * unique in their namespaces)
59 *
60 * @return a URI representing the scheme, or a null string
61 * if not specified
62 */
63 Q_REQUIRED_RESULT QString scheme() const;
64
65 /**
66 * Label of the category (optional).
67 * If specified, this string should be used to represent this category
68 * in a user interface.
69 * If not specified, use term() instead.
70 *
71 * @return the label as plain text (no HTML, "&", "<" etc. are
72 * unescaped!), or a null string if not specified
73 */
74 Q_REQUIRED_RESULT QString label() const;
75
76 /**
77 * description of this category object for debugging purposes
78 *
79 * @return debug string
80 */
81 Q_REQUIRED_RESULT QString debugInfo() const;
82};
83
84} // namespace Atom
85} // namespace Syndication
86
87#endif // SYNDICATION_ATOM_CATEGORY_H
Category()
creates a null category object.
QString term() const
a term describing the category.
QString scheme() const
naming scheme the category term is part of.
QString label() const
Label of the category (optional).
QString debugInfo() const
description of this category object for debugging purposes
const QDomElement & element() const
returns the wrapped resource.
ElementWrapper()
creates a element wrapper wrapping a null element.
Atom parser and model classes, representing Atom 1.0 documents (Atom 0.3 documents are converted by t...
Definition atom.h:30
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Feb 28 2025 11:51:08 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.