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
qspiaccessiblebridge_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
4
5#ifndef QSPIACCESSIBLEBRIDGE_H
6#define QSPIACCESSIBLEBRIDGE_H
7
8//
9// W A R N I N G
10// -------------
11//
12// This file is not part of the Qt API. It exists purely as an
13// implementation detail. This header file may change from version to
14// version without notice, or even be removed.
15//
16// We mean it.
17//
18
19#include <QtGui/private/qtguiglobal_p.h>
20#include <QtDBus/qdbusconnection.h>
21#include <qpa/qplatformaccessibility.h>
22#include <QtCore/qhash.h>
23
24namespace QtGuiPrivate {
25class DeviceEventControllerAdaptor;
26} // namespace QtGuiPrivate
27
29
30QT_BEGIN_NAMESPACE
31
32class QAtSpiDBusConnection;
33class QSpiDBusCache;
34class AtSpiAdaptor;
35struct RoleNames;
36
37class Q_GUI_EXPORT QSpiAccessibleBridge: public QObject, public QPlatformAccessibility
38{
39 Q_OBJECT
40public:
41 using SpiRoleMapping = QHash <QAccessible::Role, RoleNames>;
42
43 QSpiAccessibleBridge();
44
45 virtual ~QSpiAccessibleBridge();
46
47 void notifyAccessibilityUpdate(QAccessibleEvent *event) override;
48 QDBusConnection dBusConnection() const;
49
50 const SpiRoleMapping &spiRoleNames() const { return m_spiRoleMapping; }
51
52 static QSpiAccessibleBridge *instance();
53 static RoleNames namesForRole(QAccessible::Role role);
54
55public Q_SLOTS:
56 void enabledChanged(bool enabled);
57
58private:
59 void initializeConstantMappings();
60 void updateStatus();
61
62 QSpiDBusCache *cache;
63 QtGuiPrivate::DeviceEventControllerAdaptor *dec;
64 AtSpiAdaptor *dbusAdaptor;
65 QAtSpiDBusConnection* dbusConnection;
66 SpiRoleMapping m_spiRoleMapping;
67};
68
69QT_END_NAMESPACE
70
71#endif
QString introspect(const QString &path) const override
This function needs to handle the introspection of the virtual object on path.
static QStringList accessibleInterfaces(QAccessibleInterface *interface)
static QSpiAttributeSet getAttributes(QAccessibleInterface *)
void notify(QAccessibleEvent *event)
void windowActivated(QObject *window, bool active)
void registerApplication()
void eventListenerDeregistered(const QString &bus, const QString &path)
static AtspiRole getRole(QAccessibleInterface *interface)
bool handleMessage(const QDBusMessage &message, const QDBusConnection &connection) override
This function needs to handle all messages to the path of the virtual object, when the SubPath option...
Connects to the accessibility dbus.
QDBusConnection connection() const
Returns the DBus connection that got established.
QT_REQUIRE_CONFIG(thread)
const QDBusArgument & operator>>(const QDBusArgument &argument, QSpiDeviceEvent &event)
Q_DECLARE_TYPEINFO(QSpiTextRange, Q_RELOCATABLE_TYPE)
QDBusArgument & operator<<(QDBusArgument &argument, const QSpiAction &action)
QList< QSpiAccessibleCacheItem > QSpiAccessibleCacheArray
const QDBusArgument & operator>>(const QDBusArgument &argument, QSpiAction &action)
QDBusArgument & operator<<(QDBusArgument &argument, const QSpiObjectReference &address)
Q_DECLARE_TYPEINFO(QSpiMatchRule, Q_RELOCATABLE_TYPE)
const QDBusArgument & operator>>(const QDBusArgument &argument, QSpiAppUpdate &update)
Q_DECLARE_TYPEINFO(QSpiAppUpdate, Q_RELOCATABLE_TYPE)
QDBusArgument & operator<<(QDBusArgument &argument, const QSpiAccessibleCacheItem &item)
@ QSPI_APP_UPDATE_REMOVED
QList< QSpiTextRange > QSpiTextRangeList
const QDBusArgument & operator>>(const QDBusArgument &argument, QSpiObjectReference &address)
QList< QSpiObjectReference > QSpiObjectReferenceArray
QMap< QString, QString > QSpiAttributeSet
Q_DECLARE_TYPEINFO(QSpiObjectReference, Q_RELOCATABLE_TYPE)
QList< QSpiRelationArrayEntry > QSpiRelationArray
void qSpiInitializeStructTypes()
QDBusArgument & operator<<(QDBusArgument &argument, const QSpiDeviceEvent &event)
const QDBusArgument & operator>>(const QDBusArgument &argument, QSpiEventListener &action)
QDBusArgument & operator<<(QDBusArgument &argument, const QSpiMatchRule &matchRule)
std::pair< unsigned int, QSpiObjectReferenceArray > QSpiRelationArrayEntry
const QDBusArgument & operator>>(const QDBusArgument &argument, QSpiAccessibleCacheItem &item)
Q_DECLARE_TYPEINFO(QSpiAppUpdateType, Q_PRIMITIVE_TYPE)
QDBusArgument & operator<<(QDBusArgument &argument, const QSpiEventListener &action)
QDBusArgument & operator<<(QDBusArgument &argument, const QSpiAppUpdate &update)
QList< QSpiAction > QSpiActionArray
QList< QSpiEventListener > QSpiEventListenerArray
Q_DECLARE_TYPEINFO(QSpiAction, Q_RELOCATABLE_TYPE)
const QDBusArgument & operator>>(const QDBusArgument &argument, QSpiMatchRule &matchRule)
Q_DECLARE_TYPEINFO(QSpiEventListener, Q_RELOCATABLE_TYPE)
Q_DECLARE_TYPEINFO(QSpiDeviceEvent, Q_RELOCATABLE_TYPE)
Q_DECLARE_TYPEINFO(QSpiAccessibleCacheItem, Q_RELOCATABLE_TYPE)
QT_REQUIRE_CONFIG(accessibility)
QSpiObjectReferenceArray children
QSpiAttributeSet attributes
QSpiObjectReference(const QDBusConnection &connection, const QDBusObjectPath &path)