KContacts

clientpidmap.h
1/*
2 This file is part of the KContacts framework.
3 SPDX-FileCopyrightText: 2016-2019 Laurent Montel <montel@kde.org>
4
5 SPDX-License-Identifier: LGPL-2.0-or-later
6*/
7
8#ifndef CLIENTPIDMAP_H
9#define CLIENTPIDMAP_H
10
11#include "kcontacts_export.h"
12
13#include <QMap>
14#include <QSharedDataPointer>
15#include <QString>
16
17class ClientPidMapTest;
18
19namespace KContacts
20{
21class ParameterMap;
22
23/** @short Class that holds a ClientPidMap for a contact.
24 * @since 5.4
25 */
26class KCONTACTS_EXPORT ClientPidMap
27{
28 friend KCONTACTS_EXPORT QDataStream &operator<<(QDataStream &, const ClientPidMap &);
29 friend KCONTACTS_EXPORT QDataStream &operator>>(QDataStream &, ClientPidMap &);
30 friend class VCardTool;
31 friend class ::ClientPidMapTest;
32
33public:
35 ClientPidMap(const ClientPidMap &other);
36 ClientPidMap(const QString &clientpidmap);
37
39
41
42 void setClientPidMap(const QString &clientpidmap);
43 Q_REQUIRED_RESULT QString clientPidMap() const;
44
45 Q_REQUIRED_RESULT bool isValid() const;
46
47 Q_REQUIRED_RESULT bool operator==(const ClientPidMap &other) const;
48 Q_REQUIRED_RESULT bool operator!=(const ClientPidMap &other) const;
49
50 ClientPidMap &operator=(const ClientPidMap &other);
51
52 Q_REQUIRED_RESULT QString toString() const;
53
54private:
55 // exported for ClientPidMapTest
56 void setParams(const ParameterMap &params);
57 Q_REQUIRED_RESULT ParameterMap params() const;
58
59 class Private;
61};
62KCONTACTS_EXPORT QDataStream &operator<<(QDataStream &stream, const ClientPidMap &object);
63
64KCONTACTS_EXPORT QDataStream &operator>>(QDataStream &stream, ClientPidMap &object);
65}
66Q_DECLARE_TYPEINFO(KContacts::ClientPidMap, Q_RELOCATABLE_TYPE);
67#endif // CLIENTPIDMAP_H
Class that holds a ClientPidMap for a contact.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 18 2024 12:09:10 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.