File indexing completed on 2024-11-10 04:40:27
0001 /* 0002 SPDX-FileCopyrightText: 2009 Kevin Ottens <ervin@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "collectionquotaattribute.h" 0008 0009 #include <QByteArray> 0010 0011 using namespace Akonadi; 0012 0013 class Akonadi::CollectionQuotaAttributePrivate 0014 { 0015 public: 0016 qint64 mCurrentValue = -1; 0017 qint64 mMaximumValue = -1; 0018 }; 0019 0020 CollectionQuotaAttribute::CollectionQuotaAttribute() 0021 : d(new CollectionQuotaAttributePrivate()) 0022 { 0023 } 0024 0025 CollectionQuotaAttribute::CollectionQuotaAttribute(qint64 currentValue, qint64 maxValue) 0026 : d(new CollectionQuotaAttributePrivate()) 0027 { 0028 d->mCurrentValue = currentValue; 0029 d->mMaximumValue = maxValue; 0030 } 0031 0032 CollectionQuotaAttribute::~CollectionQuotaAttribute() = default; 0033 0034 void CollectionQuotaAttribute::setCurrentValue(qint64 value) 0035 { 0036 d->mCurrentValue = value; 0037 } 0038 0039 void CollectionQuotaAttribute::setMaximumValue(qint64 value) 0040 { 0041 d->mMaximumValue = value; 0042 } 0043 0044 qint64 CollectionQuotaAttribute::currentValue() const 0045 { 0046 return d->mCurrentValue; 0047 } 0048 0049 qint64 CollectionQuotaAttribute::maximumValue() const 0050 { 0051 return d->mMaximumValue; 0052 } 0053 0054 QByteArray CollectionQuotaAttribute::type() const 0055 { 0056 return QByteArrayLiteral("collectionquota"); 0057 } 0058 0059 Akonadi::Attribute *CollectionQuotaAttribute::clone() const 0060 { 0061 return new CollectionQuotaAttribute(d->mCurrentValue, d->mMaximumValue); 0062 } 0063 0064 QByteArray CollectionQuotaAttribute::serialized() const 0065 { 0066 return QByteArray::number(d->mCurrentValue) + ' ' + QByteArray::number(d->mMaximumValue); 0067 } 0068 0069 void CollectionQuotaAttribute::deserialize(const QByteArray &data) 0070 { 0071 d->mCurrentValue = -1; 0072 d->mMaximumValue = -1; 0073 0074 const QList<QByteArray> items = data.simplified().split(' '); 0075 0076 if (items.isEmpty()) { 0077 return; 0078 } 0079 0080 d->mCurrentValue = items[0].toLongLong(); 0081 0082 if (items.size() < 2) { 0083 return; 0084 } 0085 0086 d->mMaximumValue = items[1].toLongLong(); 0087 }