File indexing completed on 2024-05-05 17:45:24

0001 /*
0002     SNI Dbus serialisers
0003     Copyright 2015  <davidedmundson@kde.org> David Edmundson
0004 
0005     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0006 */
0007 
0008 #pragma once
0009 
0010 #include <QByteArray>
0011 #include <QDBusArgument>
0012 #include <QImage>
0013 #include <QString>
0014 #include <QVector>
0015 
0016 // Custom message type for DBus
0017 struct KDbusImageStruct {
0018     KDbusImageStruct();
0019     KDbusImageStruct(const QImage &image);
0020     int width;
0021     int height;
0022     QByteArray data;
0023 };
0024 
0025 typedef QVector<KDbusImageStruct> KDbusImageVector;
0026 
0027 struct KDbusToolTipStruct {
0028     QString icon;
0029     KDbusImageVector image;
0030     QString title;
0031     QString subTitle;
0032 };
0033 
0034 const QDBusArgument &operator<<(QDBusArgument &argument, const KDbusImageStruct &icon);
0035 const QDBusArgument &operator>>(const QDBusArgument &argument, KDbusImageStruct &icon);
0036 
0037 Q_DECLARE_METATYPE(KDbusImageStruct)
0038 
0039 const QDBusArgument &operator<<(QDBusArgument &argument, const KDbusImageVector &iconVector);
0040 const QDBusArgument &operator>>(const QDBusArgument &argument, KDbusImageVector &iconVector);
0041 
0042 Q_DECLARE_METATYPE(KDbusImageVector)
0043 
0044 const QDBusArgument &operator<<(QDBusArgument &argument, const KDbusToolTipStruct &toolTip);
0045 const QDBusArgument &operator>>(const QDBusArgument &argument, KDbusToolTipStruct &toolTip);
0046 
0047 Q_DECLARE_METATYPE(KDbusToolTipStruct)