File indexing completed on 2024-05-12 05:38:17
0001 #pragma once 0002 0003 #include <KRunner/QueryMatch> 0004 #include <QDBusArgument> 0005 #include <QList> 0006 #include <QString> 0007 #include <QVariantMap> 0008 0009 struct RemoteMatch { 0010 // sssuda{sv} 0011 QString id; 0012 QString text; 0013 QString iconName; 0014 int categoryRelevance = qToUnderlying(KRunner::QueryMatch::CategoryRelevance::Lowest); 0015 qreal relevance = 0; 0016 QVariantMap properties; 0017 }; 0018 0019 typedef QList<RemoteMatch> RemoteMatches; 0020 0021 struct RemoteAction { 0022 QString id; 0023 QString text; 0024 QString iconName; 0025 }; 0026 0027 typedef QList<RemoteAction> RemoteActions; 0028 0029 inline QDBusArgument &operator<<(QDBusArgument &argument, const RemoteMatch &match) 0030 { 0031 argument.beginStructure(); 0032 argument << match.id; 0033 argument << match.text; 0034 argument << match.iconName; 0035 argument << match.categoryRelevance; 0036 argument << match.relevance; 0037 argument << match.properties; 0038 argument.endStructure(); 0039 return argument; 0040 } 0041 0042 inline const QDBusArgument &operator>>(const QDBusArgument &argument, RemoteMatch &match) 0043 { 0044 argument.beginStructure(); 0045 argument >> match.id; 0046 argument >> match.text; 0047 argument >> match.iconName; 0048 argument >> match.categoryRelevance; 0049 argument >> match.relevance; 0050 argument >> match.properties; 0051 argument.endStructure(); 0052 0053 return argument; 0054 } 0055 0056 inline QDBusArgument &operator<<(QDBusArgument &argument, const RemoteAction &action) 0057 { 0058 argument.beginStructure(); 0059 argument << action.id; 0060 argument << action.text; 0061 argument << action.iconName; 0062 argument.endStructure(); 0063 return argument; 0064 } 0065 0066 inline const QDBusArgument &operator>>(const QDBusArgument &argument, RemoteAction &action) 0067 { 0068 argument.beginStructure(); 0069 argument >> action.id; 0070 argument >> action.text; 0071 argument >> action.iconName; 0072 argument.endStructure(); 0073 return argument; 0074 }