KContacts

role.h
1 /*
2  This file is part of the KContacts framework.
3  SPDX-FileCopyrightText: 2016-2019 Laurent Montel <[email protected]>
4 
5  SPDX-License-Identifier: LGPL-2.0-or-later
6 */
7 
8 #ifndef ROLE_H
9 #define ROLE_H
10 
11 #include "kcontacts_export.h"
12 #include <QMap>
13 #include <QSharedDataPointer>
14 #include <QString>
15 
16 namespace KContacts
17 {
18 /** @short Class that holds a Role for a contact.
19  * @since 5.3
20  */
21 class KCONTACTS_EXPORT Role
22 {
23  friend KCONTACTS_EXPORT QDataStream &operator<<(QDataStream &, const Role &);
24  friend KCONTACTS_EXPORT QDataStream &operator>>(QDataStream &, Role &);
25 
26 public:
27  Role();
28  Role(const Role &other);
29  Role(const QString &role);
30 
31  ~Role();
32 
33  typedef QVector<Role> List;
34 
35  void setRole(const QString &role);
36  Q_REQUIRED_RESULT QString role() const;
37 
38  Q_REQUIRED_RESULT bool isValid() const;
39 
40  void setParameters(const QMap<QString, QStringList> &params);
41  Q_REQUIRED_RESULT QMap<QString, QStringList> parameters() const;
42 
43  Q_REQUIRED_RESULT bool operator==(const Role &other) const;
44  Q_REQUIRED_RESULT bool operator!=(const Role &other) const;
45 
46  Role &operator=(const Role &other);
47 
48  Q_REQUIRED_RESULT QString toString() const;
49 
50 private:
51  class Private;
53 };
54 KCONTACTS_EXPORT QDataStream &operator<<(QDataStream &stream, const Role &object);
55 
56 KCONTACTS_EXPORT QDataStream &operator>>(QDataStream &stream, Role &object);
57 }
58 Q_DECLARE_TYPEINFO(KContacts::Role, Q_MOVABLE_TYPE);
59 #endif // ROLE_H
Class that holds a Role for a contact.
Definition: role.h:21
QDataStream & operator>>(QDataStream &in, KDateTime::Spec &spec)
QDataStream & operator<<(QDataStream &out, const KDateTime::Spec &spec)
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Wed Jun 23 2021 22:55:18 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.