File indexing completed on 2024-12-08 13:22:04
0001 /* 0002 KWin - the KDE window manager 0003 This file is part of the KDE project. 0004 0005 SPDX-FileCopyrightText: 2018 Marco Martin <mart@kde.org> 0006 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 // own 0011 #include "virtualdesktopsdbustypes.h" 0012 0013 // Marshall the DBusDesktopDataStruct data into a D-BUS argument 0014 const QDBusArgument &operator<<(QDBusArgument &argument, const KWin::DBusDesktopDataStruct &desk) 0015 { 0016 argument.beginStructure(); 0017 argument << desk.position; 0018 argument << desk.id; 0019 argument << desk.name; 0020 argument.endStructure(); 0021 return argument; 0022 } 0023 // Retrieve 0024 const QDBusArgument &operator>>(const QDBusArgument &argument, KWin::DBusDesktopDataStruct &desk) 0025 { 0026 argument.beginStructure(); 0027 argument >> desk.position; 0028 argument >> desk.id; 0029 argument >> desk.name; 0030 argument.endStructure(); 0031 return argument; 0032 } 0033 0034 const QDBusArgument &operator<<(QDBusArgument &argument, const KWin::DBusDesktopDataVector &deskVector) 0035 { 0036 argument.beginArray(qMetaTypeId<KWin::DBusDesktopDataStruct>()); 0037 for (int i = 0; i < deskVector.size(); ++i) { 0038 argument << deskVector[i]; 0039 } 0040 argument.endArray(); 0041 return argument; 0042 } 0043 0044 const QDBusArgument &operator>>(const QDBusArgument &argument, KWin::DBusDesktopDataVector &deskVector) 0045 { 0046 argument.beginArray(); 0047 deskVector.clear(); 0048 0049 while (!argument.atEnd()) { 0050 KWin::DBusDesktopDataStruct element; 0051 argument >> element; 0052 deskVector.append(element); 0053 } 0054 0055 argument.endArray(); 0056 0057 return argument; 0058 }