File indexing completed on 2024-12-01 04:21:03

0001 /*
0002     SPDX-FileCopyrightText: 2012 Frederik Gladhorn <gladhorn@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005 */
0006 
0007 #ifndef QT_ATSPI_H
0008 #define QT_ATSPI_H
0009 #define QSPI_OBJECT_PATH_ACCESSIBLE  "/org/a11y/atspi/accessible"
0010 #define QSPI_OBJECT_PATH_ACCESSIBLE_NULL  QSPI_OBJECT_PATH_ACCESSIBLE"/null"
0011 
0012 #include <QList>
0013 #include <QString>
0014 #include <QDBusArgument>
0015 #include <QDebug>
0016 
0017 namespace QAccessibleClient {
0018 
0019 /**
0020     Register meta types for dbus.
0021     \internal
0022  */
0023 void registerDBusTypes();
0024 
0025 /**
0026     The QSpiObjectReference struct is a dbus service and path representing a remote accessible object.
0027     \internal
0028  */
0029 struct QSpiObjectReference
0030 {
0031     QString service;
0032     QDBusObjectPath path;
0033 };
0034 
0035 typedef QList<QAccessibleClient::QSpiObjectReference> QSpiObjectReferenceList;
0036 
0037 struct QSpiAction
0038 {
0039     QString name;
0040     QString description;
0041     QString keyBinding;
0042 };
0043 
0044 typedef QList <QSpiAction> QSpiActionArray;
0045 
0046 /**
0047     \internal
0048  */
0049 QDBusArgument &operator<<(QDBusArgument &argument, const QSpiObjectReference &address);
0050 
0051 /**
0052     \internal
0053  */
0054 const QDBusArgument &operator>>(const QDBusArgument &argument, QSpiObjectReference &address);
0055 
0056 /**
0057     \internal
0058  */
0059 QDBusArgument &operator<<(QDBusArgument &argument, const QSpiAction &address);
0060 
0061 /**
0062     \internal
0063  */
0064 const QDBusArgument &operator>>(const QDBusArgument &argument, QSpiAction &address);
0065 
0066 }
0067 
0068 Q_DECLARE_METATYPE(QAccessibleClient::QSpiObjectReference);
0069 Q_DECLARE_METATYPE(QAccessibleClient::QSpiObjectReferenceList);
0070 Q_DECLARE_METATYPE(QAccessibleClient::QSpiAction)
0071 Q_DECLARE_METATYPE(QAccessibleClient::QSpiActionArray)
0072 QDebug operator<<(QDebug d, const QAccessibleClient::QSpiAction &t);
0073 #endif