diff options
author | Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> | 2023-05-02 11:26:39 +0200 |
---|---|---|
committer | Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> | 2023-05-04 15:05:17 +0200 |
commit | 08a37f9cee2ae9ada6d9f739d9cfed943640aea3 (patch) | |
tree | e0d6df533f428fc2a2b1652c0700551d98d75301 | |
parent | 6f05e916951822f5f3874ac4379f6bda5ea890ef (diff) |
QtDBus: Use non-textual version of QMetaObject::invokeMethod
Use type-checked version for better run-time performance and
compile-time type checking.
Change-Id: I92c97d162137770bc373e28fa8e4e115ac5533e6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-rw-r--r-- | src/dbus/doc/snippets/code/src_qdbus_qdbuscontext.cpp | 2 | ||||
-rw-r--r-- | src/dbus/qdbusabstractadaptor.cpp | 2 | ||||
-rw-r--r-- | src/dbus/qdbusconnection_p.h | 3 | ||||
-rw-r--r-- | src/dbus/qdbusintegrator.cpp | 4 | ||||
-rw-r--r-- | src/dbus/qdbuspendingcall.cpp | 4 |
5 files changed, 9 insertions, 6 deletions
diff --git a/src/dbus/doc/snippets/code/src_qdbus_qdbuscontext.cpp b/src/dbus/doc/snippets/code/src_qdbus_qdbuscontext.cpp index 9e4e26cb4e..75b4394595 100644 --- a/src/dbus/doc/snippets/code/src_qdbus_qdbuscontext.cpp +++ b/src/dbus/doc/snippets/code/src_qdbus_qdbuscontext.cpp @@ -37,7 +37,7 @@ QString MyObject::methodWithDelayedReply() conn = connection(); msg = message(); setDelayedReply(true); - QMetaObject::invokeMethod(this, "process", Qt::QueuedConnection); + QMetaObject::invokeMethod(this, &MyObject::process, Qt::QueuedConnection); return QString(); } //! [0] diff --git a/src/dbus/qdbusabstractadaptor.cpp b/src/dbus/qdbusabstractadaptor.cpp index a53ba41683..717707ae9c 100644 --- a/src/dbus/qdbusabstractadaptor.cpp +++ b/src/dbus/qdbusabstractadaptor.cpp @@ -113,7 +113,7 @@ QDBusAbstractAdaptor::QDBusAbstractAdaptor(QObject* obj) QDBusAdaptorConnector *connector = qDBusCreateAdaptorConnector(obj); connector->waitingForPolish = true; - QMetaObject::invokeMethod(connector, "polish", Qt::QueuedConnection); + QMetaObject::invokeMethod(connector, &QDBusAdaptorConnector::polish, Qt::QueuedConnection); } /*! diff --git a/src/dbus/qdbusconnection_p.h b/src/dbus/qdbusconnection_p.h index 3431992eac..d4dde63e8a 100644 --- a/src/dbus/qdbusconnection_p.h +++ b/src/dbus/qdbusconnection_p.h @@ -370,7 +370,8 @@ public slots: { // This call cannot race with something disabling dispatch only because dispatch is // never re-disabled from Qt code on an in-use connection once it has been enabled. - QMetaObject::invokeMethod(con, "setDispatchEnabled", Qt::QueuedConnection, Q_ARG(bool, true)); + QMetaObject::invokeMethod( + con, [con = con]() { con->setDispatchEnabled(true); }, Qt::QueuedConnection); if (!con->ref.deref()) con->deleteLater(); deleteLater(); diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp index 9b37cd7b8c..804277157b 100644 --- a/src/dbus/qdbusintegrator.cpp +++ b/src/dbus/qdbusintegrator.cpp @@ -1757,7 +1757,7 @@ void QDBusConnectionPrivate::setPeer(DBusConnection *c, const QDBusErrorInternal watchForDBusDisconnection(); - QMetaObject::invokeMethod(this, "doDispatch", Qt::QueuedConnection); + QMetaObject::invokeMethod(this, &QDBusConnectionPrivate::doDispatch, Qt::QueuedConnection); } static QDBusConnection::ConnectionCapabilities connectionCapabilies(DBusConnection *connection) @@ -1845,7 +1845,7 @@ void QDBusConnectionPrivate::setConnection(DBusConnection *dbc, const QDBusError qDBusDebug() << this << ": connected successfully"; // schedule a dispatch: - QMetaObject::invokeMethod(this, "doDispatch", Qt::QueuedConnection); + QMetaObject::invokeMethod(this, &QDBusConnectionPrivate::doDispatch, Qt::QueuedConnection); } extern "C"{ diff --git a/src/dbus/qdbuspendingcall.cpp b/src/dbus/qdbuspendingcall.cpp index ff5dfc8967..875891786a 100644 --- a/src/dbus/qdbuspendingcall.cpp +++ b/src/dbus/qdbuspendingcall.cpp @@ -474,7 +474,9 @@ QDBusPendingCallWatcher::QDBusPendingCallWatcher(const QDBusPendingCall &call, Q d->watcherHelper = new QDBusPendingCallWatcherHelper; if (d->replyMessage.type() != QDBusMessage::InvalidMessage) { // cause a signal emission anyways - QMetaObject::invokeMethod(d->watcherHelper, "finished", Qt::QueuedConnection); + QMetaObject::invokeMethod(d->watcherHelper, + &QDBusPendingCallWatcherHelper::finished, + Qt::QueuedConnection); } } d->watcherHelper->add(this); |