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 ORG_H
9#define ORG_H
10
11#include "kcontacts_export.h"
12
13#include <QMap>
14#include <QSharedDataPointer>
15#include <QString>
16
17class OrgTest;
18
19namespace KContacts
20{
21class ParameterMap;
22
23/** @short Class that holds a Organization for a contact.
24 * @since 5.3
25 */
26class KCONTACTS_EXPORT Org
27{
28 friend KCONTACTS_EXPORT QDataStream &operator<<(QDataStream &, const Org &);
29 friend KCONTACTS_EXPORT QDataStream &operator>>(QDataStream &, Org &);
30 friend class VCardTool;
31 friend class ::OrgTest;
32
33public:
34 Org();
35 Org(const Org &other);
36 Org(const QString &org);
37
38 ~Org();
39
40 typedef QList<Org> List;
41
42 void setOrganization(const QString &org);
43 Q_REQUIRED_RESULT QString organization() const;
44
45 Q_REQUIRED_RESULT bool isValid() const;
46
47 Q_REQUIRED_RESULT bool operator==(const Org &other) const;
48 Q_REQUIRED_RESULT bool operator!=(const Org &other) const;
49
50 Org &operator=(const Org &other);
51
52 Q_REQUIRED_RESULT QString toString() const;
53
54private:
55 // exported for OrgTest
56 void setParams(const ParameterMap &params);
57 Q_REQUIRED_RESULT ParameterMap params() const;
58
59 class Private;
60 QSharedDataPointer<Private> d;
61};
62KCONTACTS_EXPORT QDataStream &operator<<(QDataStream &stream, const Org &object);
63
64KCONTACTS_EXPORT QDataStream &operator>>(QDataStream &stream, Org &object);
65}
66Q_DECLARE_TYPEINFO(KContacts::Org, Q_RELOCATABLE_TYPE);
67#endif // ORG_H
68

source code of kcontacts/src/org.h