File indexing completed on 2025-02-23 04:47:40

0001 /*
0002     This file is part of Akonadi Contact.
0003 
0004     SPDX-FileCopyrightText: 2009 Tobias Koenig <tokoe@kde.org>
0005 
0006     SPDX-License-Identifier: LGPL-2.0-or-later
0007 */
0008 
0009 #include "contactmetadataattribute_p.h"
0010 
0011 #include <QDataStream>
0012 #include <QIODevice>
0013 
0014 using namespace Akonadi;
0015 
0016 class Akonadi::ContactMetaDataAttributePrivate
0017 {
0018 public:
0019     QVariantMap mData;
0020 };
0021 
0022 ContactMetaDataAttribute::ContactMetaDataAttribute()
0023     : d(new ContactMetaDataAttributePrivate)
0024 {
0025 }
0026 
0027 ContactMetaDataAttribute::~ContactMetaDataAttribute() = default;
0028 
0029 void ContactMetaDataAttribute::setMetaData(const QVariantMap &data)
0030 {
0031     d->mData = data;
0032 }
0033 
0034 QVariantMap ContactMetaDataAttribute::metaData() const
0035 {
0036     return d->mData;
0037 }
0038 
0039 QByteArray ContactMetaDataAttribute::type() const
0040 {
0041     static const QByteArray sType("contactmetadata");
0042     return sType;
0043 }
0044 
0045 Attribute *ContactMetaDataAttribute::clone() const
0046 {
0047     auto copy = new ContactMetaDataAttribute;
0048     copy->setMetaData(d->mData);
0049 
0050     return copy;
0051 }
0052 
0053 QByteArray ContactMetaDataAttribute::serialized() const
0054 {
0055     QByteArray data;
0056     QDataStream s(&data, QIODevice::WriteOnly);
0057     s.setVersion(QDataStream::Qt_4_5);
0058     s << d->mData;
0059 
0060     return data;
0061 }
0062 
0063 void ContactMetaDataAttribute::deserialize(const QByteArray &data)
0064 {
0065     QDataStream s(data);
0066     s.setVersion(QDataStream::Qt_4_5);
0067     s >> d->mData;
0068 }