1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4/*
5 This file was originally created by qdbusxml2cpp version 0.8
6 Command line was:
7 qdbusxml2cpp -a dbusmenu ../../3rdparty/dbus-ifaces/dbus-menu.xml
8
9 However it is maintained manually.
10
11 It is also not part of the public API. This header file may change from
12 version to version without notice, or even be removed.
13*/
14
15#ifndef DBUSMENUADAPTOR_H
16#define DBUSMENUADAPTOR_H
17
18//
19// W A R N I N G
20// -------------
21//
22// This file is not part of the Qt API. It exists purely as an
23// implementation detail. This header file may change from version to
24// version without notice, or even be removed.
25//
26// We mean it.
27//
28
29#include <QObject>
30#include <QDBusAbstractAdaptor>
31
32#include <private/qdbusmenutypes_p.h>
33
34QT_BEGIN_NAMESPACE
35
36/*
37 * Adaptor class for interface com.canonical.dbusmenu
38 */
39class QDBusMenuAdaptor: public QDBusAbstractAdaptor
40{
41 Q_OBJECT
42 Q_CLASSINFO("D-Bus Interface", "com.canonical.dbusmenu")
43 Q_CLASSINFO("D-Bus Introspection", ""
44" <interface name=\"com.canonical.dbusmenu\">\n"
45" <property access=\"read\" type=\"u\" name=\"Version\">\n"
46" </property>\n"
47" <property access=\"read\" type=\"s\" name=\"TextDirection\">\n"
48" </property>\n"
49" <property access=\"read\" type=\"s\" name=\"Status\">\n"
50" </property>\n"
51" <property access=\"read\" type=\"as\" name=\"IconThemePath\">\n"
52" </property>\n"
53" <method name=\"GetLayout\">\n"
54" <annotation value=\"QDBusMenuLayoutItem\" name=\"org.qtproject.QtDBus.QtTypeName.Out1\"/>\n"
55" <arg direction=\"in\" type=\"i\" name=\"parentId\"/>\n"
56" <arg direction=\"in\" type=\"i\" name=\"recursionDepth\"/>\n"
57" <arg direction=\"in\" type=\"as\" name=\"propertyNames\"/>\n"
58" <arg direction=\"out\" type=\"u\" name=\"revision\"/>\n"
59" <arg direction=\"out\" type=\"(ia{sv}av)\" name=\"layout\"/>\n"
60" </method>\n"
61" <method name=\"GetGroupProperties\">\n"
62" <annotation value=\"QList&lt;int&gt;\" name=\"org.qtproject.QtDBus.QtTypeName.In0\"/>\n"
63" <annotation value=\"QDBusMenuItemList\" name=\"org.qtproject.QtDBus.QtTypeName.Out0\"/>\n"
64" <arg direction=\"in\" type=\"ai\" name=\"ids\"/>\n"
65" <arg direction=\"in\" type=\"as\" name=\"propertyNames\"/>\n"
66" <arg direction=\"out\" type=\"a(ia{sv})\" name=\"properties\"/>\n"
67" </method>\n"
68" <method name=\"GetProperty\">\n"
69" <arg direction=\"in\" type=\"i\" name=\"id\"/>\n"
70" <arg direction=\"in\" type=\"s\" name=\"name\"/>\n"
71" <arg direction=\"out\" type=\"v\" name=\"value\"/>\n"
72" </method>\n"
73" <method name=\"Event\">\n"
74" <arg direction=\"in\" type=\"i\" name=\"id\"/>\n"
75" <arg direction=\"in\" type=\"s\" name=\"eventId\"/>\n"
76" <arg direction=\"in\" type=\"v\" name=\"data\"/>\n"
77" <arg direction=\"in\" type=\"u\" name=\"timestamp\"/>\n"
78" </method>\n"
79" <method name=\"EventGroup\">\n"
80" <annotation value=\"QList&lt;QDBusMenuEvent&gt;\" name=\"org.qtproject.QtDBus.QtTypeName.In0\"/>\n"
81" <annotation value=\"QList&lt;int&gt;\" name=\"org.qtproject.QtDBus.QtTypeName.Out0\"/>\n"
82" <arg direction=\"in\" type=\"a(isvu)\" name=\"events\"/>\n"
83" <arg direction=\"out\" type=\"ai\" name=\"idErrors\"/>\n"
84" </method>\n"
85" <method name=\"AboutToShow\">\n"
86" <arg direction=\"in\" type=\"i\" name=\"id\"/>\n"
87" <arg direction=\"out\" type=\"b\" name=\"needUpdate\"/>\n"
88" </method>\n"
89" <method name=\"AboutToShowGroup\">\n"
90" <annotation value=\"QList&lt;int&gt;\" name=\"org.qtproject.QtDBus.QtTypeName.In0\"/>\n"
91" <annotation value=\"QList&lt;int&gt;\" name=\"org.qtproject.QtDBus.QtTypeName.Out0\"/>\n"
92" <annotation value=\"QList&lt;int&gt;\" name=\"org.qtproject.QtDBus.QtTypeName.Out1\"/>\n"
93" <arg direction=\"in\" type=\"ai\" name=\"ids\"/>\n"
94" <arg direction=\"out\" type=\"ai\" name=\"updatesNeeded\"/>\n"
95" <arg direction=\"out\" type=\"ai\" name=\"idErrors\"/>\n"
96" </method>\n"
97" <signal name=\"ItemsPropertiesUpdated\">\n"
98" <annotation value=\"QDBusMenuItemList\" name=\"org.qtproject.QtDBus.QtTypeName.In0\"/>\n"
99" <annotation value=\"QDBusMenuItemKeysList\" name=\"org.qtproject.QtDBus.QtTypeName.In1\"/>\n"
100" <arg direction=\"out\" type=\"a(ia{sv})\" name=\"updatedProps\"/>\n"
101" <arg direction=\"out\" type=\"a(ias)\" name=\"removedProps\"/>\n"
102" </signal>\n"
103" <signal name=\"LayoutUpdated\">\n"
104" <arg direction=\"out\" type=\"u\" name=\"revision\"/>\n"
105" <arg direction=\"out\" type=\"i\" name=\"parent\"/>\n"
106" </signal>\n"
107" <signal name=\"ItemActivationRequested\">\n"
108" <arg direction=\"out\" type=\"i\" name=\"id\"/>\n"
109" <arg direction=\"out\" type=\"u\" name=\"timestamp\"/>\n"
110" </signal>\n"
111" </interface>\n"
112 "")
113public:
114 QDBusMenuAdaptor(QDBusPlatformMenu *topLevelMenu);
115 virtual ~QDBusMenuAdaptor();
116
117public: // PROPERTIES
118 Q_PROPERTY(QString Status READ status)
119 QString status() const;
120
121 Q_PROPERTY(QString TextDirection READ textDirection)
122 QString textDirection() const;
123
124 Q_PROPERTY(uint Version READ version)
125 uint version() const;
126
127public Q_SLOTS: // METHODS
128 bool AboutToShow(int id);
129 QList<int> AboutToShowGroup(const QList<int> &ids, QList<int> &idErrors);
130 void Event(int id, const QString &eventId, const QDBusVariant &data, uint timestamp);
131 QList<int> EventGroup(const QDBusMenuEventList &events);
132 QDBusMenuItemList GetGroupProperties(const QList<int> &ids, const QStringList &propertyNames);
133 uint GetLayout(int parentId, int recursionDepth, const QStringList &propertyNames, QDBusMenuLayoutItem &layout);
134 QDBusVariant GetProperty(int id, const QString &name);
135
136Q_SIGNALS: // SIGNALS
137 void ItemActivationRequested(int id, uint timestamp);
138 void ItemsPropertiesUpdated(const QDBusMenuItemList &updatedProps, const QDBusMenuItemKeysList &removedProps);
139 void LayoutUpdated(uint revision, int parent);
140
141private:
142 QDBusPlatformMenu *m_topLevelMenu;
143};
144
145QT_END_NAMESPACE
146
147#endif // DBUSMENUADAPTOR_H
148

source code of qtbase/src/gui/platform/unix/dbusmenu/qdbusmenuadaptor_p.h