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