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_PERSON_H
9#define SYNDICATION_ATOM_PERSON_H
10
11#include <syndication/elementwrapper.h>
12
13class QDomElement;
14class QString;
15
16namespace Syndication
17{
18namespace Atom
19{
20/*!
21 * \class Syndication::Atom::Person
22 * \inmodule Syndication
23 * \inheaderfile Syndication/Atom/Person
24 *
25 * \brief describes a person, with name and optional URI and e-mail address.
26 * Used to describe authors and contributors of feeds/entries.
27 */
28class SYNDICATION_EXPORT Person : public ElementWrapper
29{
30public:
31 /*!
32 * creates a null person object
33 */
34 Person();
35
36 /*!
37 * creates a Person object wrapping an Atom Person Construct (atom:author,
38 * atom:contributor tags)
39 *
40 * \a element a DOM element, should be a Atom Person Construct
41 * (although not enforced), otherwise this object will not parse
42 * anything useful
43 */
44 explicit Person(const QDomElement &element);
45
46 /*!
47 * a human-readable name for the person. (required)
48 * The name is a required attribute of person constructs.
49 *
50 * Returns a human-readable name of the person
51 */
52 Q_REQUIRED_RESULT QString name() const;
53
54 /*!
55 * A URI associated with the person (optional). Usually the homepage.
56 *
57 * Returns the URI of the person, or a null string if not specified
58 */
59 Q_REQUIRED_RESULT QString uri() const;
60
61 /*!
62 * returns an e-mail address associated with the person. (optional)
63 *
64 * Returns an e-mail address, or a null string if not specified
65 */
66 Q_REQUIRED_RESULT QString email() const;
67
68 /*!
69 * description for debugging purposes
70 *
71 * Returns debug string
72 */
73 Q_REQUIRED_RESULT QString debugInfo() const;
74};
75
76} // namespace Atom
77} // namespace Syndication
78
79#endif // SYNDICATION_ATOM_PERSON_H
80

source code of syndication/src/atom/person.h