1 /*
2     This file is part of Akonadi Contact.
3 
4     SPDX-FileCopyrightText: 2009 Tobias Koenig <tokoe@kde.org>
5 
6     SPDX-License-Identifier: LGPL-2.0-or-later
7 */
8 
9 #include "contactmetadataattribute_p.h"
10 
11 #include <QDataStream>
12 
13 using namespace Akonadi;
14 
15 class Akonadi::ContactMetaDataAttributePrivate
16 {
17 public:
18     QVariantMap mData;
19 };
20 
ContactMetaDataAttribute()21 ContactMetaDataAttribute::ContactMetaDataAttribute()
22     : d(new ContactMetaDataAttributePrivate)
23 {
24 }
25 
26 ContactMetaDataAttribute::~ContactMetaDataAttribute() = default;
27 
setMetaData(const QVariantMap & data)28 void ContactMetaDataAttribute::setMetaData(const QVariantMap &data)
29 {
30     d->mData = data;
31 }
32 
metaData() const33 QVariantMap ContactMetaDataAttribute::metaData() const
34 {
35     return d->mData;
36 }
37 
type() const38 QByteArray ContactMetaDataAttribute::type() const
39 {
40     static const QByteArray sType("contactmetadata");
41     return sType;
42 }
43 
clone() const44 Attribute *ContactMetaDataAttribute::clone() const
45 {
46     auto copy = new ContactMetaDataAttribute;
47     copy->setMetaData(d->mData);
48 
49     return copy;
50 }
51 
serialized() const52 QByteArray ContactMetaDataAttribute::serialized() const
53 {
54     QByteArray data;
55     QDataStream s(&data, QIODevice::WriteOnly);
56     s.setVersion(QDataStream::Qt_4_5);
57     s << d->mData;
58 
59     return data;
60 }
61 
deserialize(const QByteArray & data)62 void ContactMetaDataAttribute::deserialize(const QByteArray &data)
63 {
64     QDataStream s(data);
65     s.setVersion(QDataStream::Qt_4_5);
66     s >> d->mData;
67 }
68