File indexing completed on 2024-04-28 05:36:52
0001 /* 0002 * SPDX-License-Identifier: LGPL-2.0-or-later 0003 * 0004 * SPDX-FileCopyrightText: 2022 Aleix Pol <apol@kde.org> 0005 */ 0006 0007 #include "restoredata.h" 0008 0009 #include <QDBusMetaType> 0010 #include <QDataStream> 0011 #include <QIODevice> 0012 0013 const QDBusArgument &operator<<(QDBusArgument &arg, const RestoreData &data) 0014 { 0015 arg.beginStructure(); 0016 arg << data.session; 0017 arg << data.version; 0018 0019 QByteArray payloadSerialised; 0020 { 0021 QDataStream ds(&payloadSerialised, QIODevice::WriteOnly); 0022 ds << data.payload; 0023 } 0024 0025 arg << QDBusVariant(payloadSerialised); 0026 arg.endStructure(); 0027 return arg; 0028 } 0029 const QDBusArgument &operator>>(const QDBusArgument &arg, RestoreData &data) 0030 { 0031 arg.beginStructure(); 0032 arg >> data.session; 0033 arg >> data.version; 0034 0035 QDBusVariant payloadVariant; 0036 arg >> payloadVariant; 0037 { 0038 QByteArray payloadSerialised = payloadVariant.variant().toByteArray(); 0039 QDataStream ds(&payloadSerialised, QIODevice::ReadOnly); 0040 ds >> data.payload; 0041 } 0042 arg.endStructure(); 0043 return arg; 0044 } 0045 0046 QDebug operator<<(QDebug dbg, const RestoreData &c) 0047 { 0048 dbg.nospace() << "RestoreData(" << c.session << ", " << c.version << ", " << c.payload << ")"; 0049 return dbg.space(); 0050 }