File indexing completed on 2025-03-09 04:54:30
0001 /* 0002 SPDX-FileCopyrightText: 2019-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "dkimresultattribute.h" 0008 #include <QDataStream> 0009 #include <QIODevice> 0010 0011 using namespace MessageViewer; 0012 class MessageViewer::DKIMResultAttributePrivate 0013 { 0014 public: 0015 DKIMResultAttributePrivate() = default; 0016 0017 int error = -1; 0018 int warning = -1; 0019 int status = -1; 0020 }; 0021 0022 DKIMResultAttribute::DKIMResultAttribute() 0023 : d(new DKIMResultAttributePrivate) 0024 { 0025 } 0026 0027 DKIMResultAttribute::~DKIMResultAttribute() = default; 0028 0029 QByteArray DKIMResultAttribute::type() const 0030 { 0031 static const QByteArray sType("DKIMResultAttribute"); 0032 return sType; 0033 } 0034 0035 DKIMResultAttribute *DKIMResultAttribute::clone() const 0036 { 0037 auto attr = new DKIMResultAttribute(); 0038 attr->setWarning(warning()); 0039 attr->setStatus(status()); 0040 attr->setError(error()); 0041 return attr; 0042 } 0043 0044 QByteArray DKIMResultAttribute::serialized() const 0045 { 0046 QByteArray result; 0047 QDataStream s(&result, QIODevice::WriteOnly); 0048 s.setVersion(QDataStream::Qt_5_15); 0049 s << status(); 0050 s << warning(); 0051 s << error(); 0052 return result; 0053 } 0054 0055 void DKIMResultAttribute::deserialize(const QByteArray &data) 0056 { 0057 QDataStream s(data); 0058 s.setVersion(QDataStream::Qt_5_15); 0059 int stat = -1; 0060 s >> stat; 0061 d->status = stat; 0062 int warn = -1; 0063 s >> warn; 0064 d->warning = warn; 0065 int err = -1; 0066 s >> err; 0067 d->error = err; 0068 } 0069 0070 bool DKIMResultAttribute::operator==(const DKIMResultAttribute &other) const 0071 { 0072 return d->error == other.error() && d->warning == other.warning() && d->status == other.status(); 0073 } 0074 0075 void DKIMResultAttribute::setError(int err) 0076 { 0077 d->error = err; 0078 } 0079 0080 int DKIMResultAttribute::error() const 0081 { 0082 return d->error; 0083 } 0084 0085 void DKIMResultAttribute::setWarning(int err) 0086 { 0087 d->warning = err; 0088 } 0089 0090 int DKIMResultAttribute::warning() const 0091 { 0092 return d->warning; 0093 } 0094 0095 void DKIMResultAttribute::setStatus(int err) 0096 { 0097 d->status = err; 0098 } 0099 0100 int DKIMResultAttribute::status() const 0101 { 0102 return d->status; 0103 }