File indexing completed on 2024-04-28 05:35:32
0001 /* This file is part of the dbusmenu-qt library 0002 SPDX-FileCopyrightText: 2009 Canonical 0003 SPDX-FileContributor: Aurelien Gateau <aurelien.gateau@canonical.com> 0004 0005 SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 #pragma once 0008 0009 // Qt 0010 #include <QList> 0011 #include <QStringList> 0012 #include <QVariant> 0013 0014 class QDBusArgument; 0015 0016 //// DBusMenuItem 0017 /** 0018 * Internal struct used to communicate on DBus 0019 */ 0020 struct DBusMenuItem { 0021 int id; 0022 QVariantMap properties; 0023 }; 0024 0025 QDBusArgument &operator<<(QDBusArgument &argument, const DBusMenuItem &item); 0026 const QDBusArgument &operator>>(const QDBusArgument &argument, DBusMenuItem &item); 0027 0028 typedef QList<DBusMenuItem> DBusMenuItemList; 0029 0030 //// DBusMenuItemKeys 0031 /** 0032 * Represents a list of keys for a menu item 0033 */ 0034 struct DBusMenuItemKeys { 0035 int id; 0036 QStringList properties; 0037 }; 0038 0039 QDBusArgument &operator<<(QDBusArgument &argument, const DBusMenuItemKeys &); 0040 const QDBusArgument &operator>>(const QDBusArgument &argument, DBusMenuItemKeys &); 0041 0042 typedef QList<DBusMenuItemKeys> DBusMenuItemKeysList; 0043 0044 //// DBusMenuLayoutItem 0045 /** 0046 * Represents an item with its children. GetLayout() returns a 0047 * DBusMenuLayoutItemList. 0048 */ 0049 struct DBusMenuLayoutItem; 0050 struct DBusMenuLayoutItem { 0051 int id; 0052 QVariantMap properties; 0053 QList<DBusMenuLayoutItem> children; 0054 }; 0055 0056 QDBusArgument &operator<<(QDBusArgument &argument, const DBusMenuLayoutItem &); 0057 const QDBusArgument &operator>>(const QDBusArgument &argument, DBusMenuLayoutItem &); 0058 0059 typedef QList<DBusMenuLayoutItem> DBusMenuLayoutItemList; 0060 0061 //// DBusMenuShortcut 0062 0063 class DBusMenuShortcut; 0064 0065 QDBusArgument &operator<<(QDBusArgument &argument, const DBusMenuShortcut &); 0066 const QDBusArgument &operator>>(const QDBusArgument &argument, DBusMenuShortcut &); 0067 0068 void DBusMenuTypes_register();