summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforminputcontexts/ibus/qibusproxy.h
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2015-11-04 20:18:14 +0100
committerLiang Qi <liang.qi@theqtcompany.com>2015-11-04 20:18:14 +0100
commit4159ee840549df11287294f0928e90f35f3e06ff (patch)
tree4a3947e37d54bdb78b4042e9ced20dbf181b5a2c /src/plugins/platforminputcontexts/ibus/qibusproxy.h
parent59dbf1786f22ec4ac88d8f9d38cac5cfb82acaea (diff)
parentc8c39ecc37c156ac2677de09a26548dfc274b564 (diff)
Merge remote-tracking branch 'origin/5.6' into dev
Conflicts: config.tests/unix/ptrsize.test configure src/corelib/global/qnamespace.h src/network/socket/qabstractsocket.cpp tests/auto/other/networkselftest/networkselftest.pro Change-Id: Ic78abb4a34f9068567cea876861d4220f5a07672
Diffstat (limited to 'src/plugins/platforminputcontexts/ibus/qibusproxy.h')
-rw-r--r--src/plugins/platforminputcontexts/ibus/qibusproxy.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/plugins/platforminputcontexts/ibus/qibusproxy.h b/src/plugins/platforminputcontexts/ibus/qibusproxy.h
index 69443a524d..bbaebe1b96 100644
--- a/src/plugins/platforminputcontexts/ibus/qibusproxy.h
+++ b/src/plugins/platforminputcontexts/ibus/qibusproxy.h
@@ -20,6 +20,8 @@
#include <QtCore/QVariant>
#include <QtDBus/QtDBus>
+#include "qibustypes.h"
+
/*
* Proxy class for interface org.freedesktop.IBus
*/
@@ -29,6 +31,8 @@ class QIBusProxy: public QDBusAbstractInterface
public:
static inline const char *staticInterfaceName()
{ return "org.freedesktop.IBus"; }
+ static inline QString dbusInterfaceProperties()
+ { return QStringLiteral("org.freedesktop.DBus.Properties"); }
public:
QIBusProxy(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
@@ -82,7 +86,26 @@ public Q_SLOTS: // METHODS
return asyncCallWithArgumentList(QLatin1String("RegisterComponent"), argumentList);
}
+ inline QDBusPendingReply<QDBusVariant> GetGlobalEngine()
+ {
+ if (!this->isValid() || this->service().isEmpty() || this->path().isEmpty())
+ return QDBusMessage::createError(this->lastError());
+
+ QDBusMessage msg = QDBusMessage::createMethodCall(this->service(),
+ this->path(),
+ dbusInterfaceProperties(),
+ QStringLiteral("Get"));
+ msg << this->interface() << QStringLiteral("GlobalEngine");
+ return this->connection().asyncCall(msg, this->timeout());
+ }
+
+ QIBusEngineDesc getGlobalEngine();
+
+private:
+ void globalEngineChanged(const QString &engine_name);
+
Q_SIGNALS: // SIGNALS
+ void GlobalEngineChanged(const QString &engine_name);
};
#endif