KWin
Loading...
Searching...
No Matches
dbusutils_p.h
Go to the documentation of this file.
1/*
2 KWin - the KDE window manager
3 This file is part of the KDE project.
4
5 SPDX-FileCopyrightText: 2017 David Edmundson <kde@davidedmundson.co.uk>
6 SPDX-FileCopyrightText: 2018 Laurent Montel <montel@kde.org>
7
8 SPDX-License-Identifier: GPL-2.0-or-later
9*/
10
11#pragma once
12
13#include <QDBusArgument>
14#include <QList>
15#include <QString>
16#include <QVariantMap>
17
18const qreal HighestCategoryRelevance = 100; // KRunner::QueryMatch::CategoryRelevance::Highest
19const qreal LowCategoryRelevance = 30;
20
22{
23 // sssuda{sv}
24 QString id;
25 QString text;
26 QString iconName;
28 qreal relevance = 0;
29 QVariantMap properties;
30};
31
32typedef QList<RemoteMatch> RemoteMatches;
33
35{
36 QString id;
37 QString text;
38 QString iconName;
39};
40
41typedef QList<RemoteAction> RemoteActions;
42
44{
45 // iiibiiay (matching notification spec image-data attribute)
46 int width = 0;
47 int height = 0;
48 int rowStride = 0;
49 bool hasAlpha = false;
51 int channels = 0;
52 QByteArray data;
53};
54
55inline QDBusArgument &operator<<(QDBusArgument &argument, const RemoteMatch &match)
56{
57 argument.beginStructure();
58 argument << match.id;
59 argument << match.text;
60 argument << match.iconName;
61 argument << match.categoryRelevance;
62 argument << match.relevance;
63 argument << match.properties;
64 argument.endStructure();
65 return argument;
66}
67
68inline const QDBusArgument &operator>>(const QDBusArgument &argument, RemoteMatch &match)
69{
70 argument.beginStructure();
71 argument >> match.id;
72 argument >> match.text;
73 argument >> match.iconName;
74 argument >> match.categoryRelevance;
75 argument >> match.relevance;
76 argument >> match.properties;
77 argument.endStructure();
78
79 return argument;
80}
81
82inline QDBusArgument &operator<<(QDBusArgument &argument, const RemoteAction &action)
83{
84 argument.beginStructure();
85 argument << action.id;
86 argument << action.text;
87 argument << action.iconName;
88 argument.endStructure();
89 return argument;
90}
91
92inline const QDBusArgument &operator>>(const QDBusArgument &argument, RemoteAction &action)
93{
94 argument.beginStructure();
95 argument >> action.id;
96 argument >> action.text;
97 argument >> action.iconName;
98 argument.endStructure();
99 return argument;
100}
101
102inline QDBusArgument &operator<<(QDBusArgument &argument, const RemoteImage &image)
103{
104 argument.beginStructure();
105 argument << image.width;
106 argument << image.height;
107 argument << image.rowStride;
108 argument << image.hasAlpha;
109 argument << image.bitsPerSample;
110 argument << image.channels;
111 argument << image.data;
112 argument.endStructure();
113 return argument;
114}
115
116inline const QDBusArgument &operator>>(const QDBusArgument &argument, RemoteImage &image)
117{
118 argument.beginStructure();
119 argument >> image.width;
120 argument >> image.height;
121 argument >> image.rowStride;
122 argument >> image.hasAlpha;
123 argument >> image.bitsPerSample;
124 argument >> image.channels;
125 argument >> image.data;
126 argument.endStructure();
127 return argument;
128}
129
QList< RemoteMatch > RemoteMatches
Definition dbusutils_p.h:32
const qreal LowCategoryRelevance
Definition dbusutils_p.h:19
const QDBusArgument & operator>>(const QDBusArgument &argument, RemoteMatch &match)
Definition dbusutils_p.h:68
const qreal HighestCategoryRelevance
Definition dbusutils_p.h:18
QDBusArgument & operator<<(QDBusArgument &argument, const RemoteMatch &match)
Definition dbusutils_p.h:55
QList< RemoteAction > RemoteActions
Definition dbusutils_p.h:41
Q_DECLARE_METATYPE(KWin::SwitchEvent::State)
QString iconName
Definition dbusutils_p.h:38
QString text
Definition dbusutils_p.h:37
int bitsPerSample
Definition dbusutils_p.h:50
QByteArray data
Definition dbusutils_p.h:52
qreal relevance
Definition dbusutils_p.h:28
QVariantMap properties
Definition dbusutils_p.h:29
QString id
Definition dbusutils_p.h:24
QString text
Definition dbusutils_p.h:25
int categoryRelevance
Definition dbusutils_p.h:27
QString iconName
Definition dbusutils_p.h:26