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 }