KContacts

nickname.h
1 /*
2  This file is part of the KContacts framework.
3  SPDX-FileCopyrightText: 2016-2019 Laurent Montel <[email protected]g>
4 
5  SPDX-License-Identifier: LGPL-2.0-or-later
6 */
7 
8 #ifndef NICKNAME_H
9 #define NICKNAME_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 NickName for a contact.
19  * @since 5.3
20  */
21 class KCONTACTS_EXPORT NickName
22 {
23  friend KCONTACTS_EXPORT QDataStream &operator<<(QDataStream &, const NickName &);
24  friend KCONTACTS_EXPORT QDataStream &operator>>(QDataStream &, NickName &);
25 
26 public:
27  NickName();
28  NickName(const NickName &other);
29  NickName(const QString &nickname);
30 
31  ~NickName();
32 
33  typedef QVector<NickName> List;
34 
35  void setNickName(const QString &nickname);
36  Q_REQUIRED_RESULT QString nickname() 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 NickName &other) const;
44  Q_REQUIRED_RESULT bool operator!=(const NickName &other) const;
45 
46  NickName &operator=(const NickName &other);
47 
48  Q_REQUIRED_RESULT QString toString() const;
49 
50 private:
51  class Private;
53 };
54 KCONTACTS_EXPORT QDataStream &operator<<(QDataStream &stream, const NickName &object);
55 
56 KCONTACTS_EXPORT QDataStream &operator>>(QDataStream &stream, NickName &object);
57 }
58 Q_DECLARE_TYPEINFO(KContacts::NickName, Q_MOVABLE_TYPE);
59 #endif // NICKNAME_H
QDataStream & operator>>(QDataStream &in, KDateTime::Spec &spec)
QDataStream & operator<<(QDataStream &out, const KDateTime::Spec &spec)
Class that holds a NickName for a contact.
Definition: nickname.h:21
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.