diff options
author | Takao Fujiwara <takao.fujiwara1@gmail.com> | 2018-01-15 12:25:05 +0900 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2018-01-16 07:30:00 +0000 |
commit | 53cbc3c5b43be246c7fad58eda7aafa823200629 (patch) | |
tree | 14aebc2ba4ea13dc76afb325383410abc79e8c8b | |
parent | 90c9370d5098db95ab15ce3b183b377afcf73b47 (diff) |
IBus: Delete deprecated DBus APIs
IBus 1.6 will remove the deprecated DBus APIs; GetAddress() GetEngines()
These APIs are replaced with DBus GET properties.
Change-Id: I427494dd0685d523ac07366be528127d98ad7d7c
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
-rw-r--r-- | src/plugins/platforminputcontexts/ibus/qibusproxy.cpp | 45 | ||||
-rw-r--r-- | src/plugins/platforminputcontexts/ibus/qibusproxy.h | 50 |
2 files changed, 73 insertions, 22 deletions
diff --git a/src/plugins/platforminputcontexts/ibus/qibusproxy.cpp b/src/plugins/platforminputcontexts/ibus/qibusproxy.cpp index 9efa6f7eb0..156e9b7c90 100644 --- a/src/plugins/platforminputcontexts/ibus/qibusproxy.cpp +++ b/src/plugins/platforminputcontexts/ibus/qibusproxy.cpp @@ -33,10 +33,53 @@ QIBusProxy::~QIBusProxy() { } +#ifdef QIBUS_GET_ADDRESS +QString QIBusProxy::getAddress() +{ + QDBusReply<QDBusVariant> reply = Address(); + QVariant variant = reply.value().variant(); + if (!variant.isValid()) + return QString(); + return variant.toString(); +} +#endif + +#ifdef QIBUS_GET_ENGINES +QList<QIBusEngineDesc> QIBusProxy::getEngines() +{ + QList<QIBusEngineDesc> engines; + QDBusReply<QDBusVariant> reply = Engines(); + QVariant variant = reply.value().variant(); + if (!variant.isValid()) + return engines; + const QDBusArgument argument = variant.value<QDBusArgument>(); + qCDebug(qtQpaInputMethodsSerialize) << "QIBusProxy::getEngines()" << argument.currentSignature(); + + int i = 1; + argument.beginMap(); + while (!argument.atEnd()) { + QDBusVariant value; + argument >> value; + if (!value.variant().isValid()) { + qWarning() << "Warning in QIBusProxy::getEngines():" << QString::asprintf("%dth variant is wrong", i); + break; + } + const QDBusArgument desc_arg = value.variant().value<QDBusArgument>(); + + QIBusEngineDesc desc; + desc_arg >> desc; + engines.append(desc); + ++i; + } + argument.endMap(); + return engines; +} +#endif + QIBusEngineDesc QIBusProxy::getGlobalEngine() { QIBusEngineDesc desc; - QDBusReply<QDBusVariant> reply = GetGlobalEngine(); + QDBusReply<QDBusVariant> reply = GlobalEngine(); QVariant variant = reply.value().variant(); if (!variant.isValid()) return desc; diff --git a/src/plugins/platforminputcontexts/ibus/qibusproxy.h b/src/plugins/platforminputcontexts/ibus/qibusproxy.h index bbaebe1b96..839e972c34 100644 --- a/src/plugins/platforminputcontexts/ibus/qibusproxy.h +++ b/src/plugins/platforminputcontexts/ibus/qibusproxy.h @@ -54,24 +54,6 @@ public Q_SLOTS: // METHODS return asyncCallWithArgumentList(QLatin1String("Exit"), argumentList); } - inline QDBusPendingReply<QString> GetAddress() - { - QList<QVariant> argumentList; - return asyncCallWithArgumentList(QLatin1String("GetAddress"), argumentList); - } - - inline QDBusPendingReply<QVariantList> ListActiveEngines() - { - QList<QVariant> argumentList; - return asyncCallWithArgumentList(QLatin1String("ListActiveEngines"), argumentList); - } - - inline QDBusPendingReply<QVariantList> ListEngines() - { - QList<QVariant> argumentList; - return asyncCallWithArgumentList(QLatin1String("ListEngines"), argumentList); - } - inline QDBusPendingReply<QDBusVariant> Ping(const QDBusVariant &data) { QList<QVariant> argumentList; @@ -86,19 +68,45 @@ public Q_SLOTS: // METHODS return asyncCallWithArgumentList(QLatin1String("RegisterComponent"), argumentList); } - inline QDBusPendingReply<QDBusVariant> GetGlobalEngine() +// Property + inline QDBusPendingCall GetProperty(const QString method) { if (!this->isValid() || this->service().isEmpty() || this->path().isEmpty()) - return QDBusMessage::createError(this->lastError()); + return QDBusPendingCall::fromError(this->lastError()); QDBusMessage msg = QDBusMessage::createMethodCall(this->service(), this->path(), dbusInterfaceProperties(), QStringLiteral("Get")); - msg << this->interface() << QStringLiteral("GlobalEngine"); + msg << this->interface() << method; return this->connection().asyncCall(msg, this->timeout()); } +#ifdef QIBUS_GET_ADDRESS + inline QDBusPendingCall Address() + { + return GetProperty(QStringLiteral("Address")); + } +#endif + +#ifdef QIBUS_GET_ENGINES + inline QDBusPendingCall Engines() + { + return GetProperty(QStringLiteral("Engines")); + } +#endif + + inline QDBusPendingCall GlobalEngine() + { + return GetProperty(QStringLiteral("GlobalEngine")); + } + +#ifdef QIBUS_GET_ADDRESS + QString getAddress(); +#endif +#ifdef QIBUS_GET_ENGINES + QList<QIBusEngineDesc> getEngines(); +#endif QIBusEngineDesc getGlobalEngine(); private: |