2
3
4
5
6
7
8
9
10
12#include <QtDBus/qdbusextratypes.h>
19
20
22QIBusProxy::QIBusProxy(
const QString &service,
const QString &path,
const QDBusConnection &connection, QObject *parent)
23 : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
25 this->connection().connect(service,
28 QStringLiteral(
"GlobalEngineChanged"),
31 this, SLOT(globalEngineChanged(QString)));
34QIBusProxy::~QIBusProxy()
38#ifdef QIBUS_GET_ADDRESS
39QString QIBusProxy::getAddress()
41 QDBusReply<QDBusVariant> reply = Address();
42 QVariant variant = reply.value().variant();
43 if (!variant.isValid())
45 return variant.toString();
49#ifdef QIBUS_GET_ENGINES
50QList<QIBusEngineDesc> QIBusProxy::getEngines()
52 QList<QIBusEngineDesc> engines;
53 QDBusReply<QDBusVariant> reply = Engines();
54 QVariant variant = reply.value().variant();
55 if (!variant.isValid())
57 const QDBusArgument argument = variant.value<QDBusArgument>();
58 qCDebug(qtQpaInputMethodsSerialize) <<
"QIBusProxy::getEngines()" << argument.currentSignature();
62 while (!argument.atEnd()) {
65 if (!value.variant().isValid()) {
66 qWarning() <<
"Warning in QIBusProxy::getEngines():" << QString::asprintf(
"%dth variant is wrong", i);
69 const QDBusArgument desc_arg = value.variant().value<QDBusArgument>();
81QIBusEngineDesc QIBusProxy::getGlobalEngine()
84 QDBusReply<QDBusVariant> reply = GlobalEngine();
85 QVariant variant = reply.value().variant();
86 if (!variant.isValid())
88 QVariant child = qvariant_cast<QDBusVariant>(variant).variant();
91 const QDBusArgument argument = qvariant_cast<QDBusArgument>(child);
96void QIBusProxy::globalEngineChanged(
const QString &engine_name)
98 emit GlobalEngineChanged(engine_name);
101#include "moc_qibusproxy.cpp"