Revert "Remove unneeded const_casts"

This reverts commit 9135ad06ea.
This commit is contained in:
Nicolas Fella 2021-10-27 23:11:53 +02:00
parent 774fe41da2
commit 539d7a9072
2 changed files with 5 additions and 5 deletions

View file

@ -45,7 +45,7 @@ DBusResponseWaiter::DBusResponseWaiter()
QVariant DBusResponseWaiter::waitForReply(QVariant variant) const QVariant DBusResponseWaiter::waitForReply(QVariant variant) const
{ {
if (QDBusPendingCall* call = extractPendingCall(variant)) if (QDBusPendingCall* call = const_cast<QDBusPendingCall*>(extractPendingCall(variant)))
{ {
call->waitForFinished(); call->waitForFinished();
@ -77,7 +77,7 @@ DBusAsyncResponse::DBusAsyncResponse(QObject* parent)
void DBusAsyncResponse::setPendingCall(QVariant variant) void DBusAsyncResponse::setPendingCall(QVariant variant)
{ {
if (QDBusPendingCall* call = DBusResponseWaiter::instance()->extractPendingCall(variant)) if (QDBusPendingCall* call = const_cast<QDBusPendingCall*>(DBusResponseWaiter::instance()->extractPendingCall(variant)))
{ {
QDBusPendingCallWatcher* watcher = new QDBusPendingCallWatcher(*call); QDBusPendingCallWatcher* watcher = new QDBusPendingCallWatcher(*call);
watcher->setProperty("pengingCallVariant", variant); watcher->setProperty("pengingCallVariant", variant);
@ -124,13 +124,13 @@ void DBusAsyncResponse::onTimeout()
Q_EMIT error(QStringLiteral("timeout when waiting dbus response!")); Q_EMIT error(QStringLiteral("timeout when waiting dbus response!"));
} }
QDBusPendingCall* DBusResponseWaiter::extractPendingCall(QVariant& variant) const const QDBusPendingCall* DBusResponseWaiter::extractPendingCall(QVariant& variant) const
{ {
for (int type : qAsConst(m_registered)) for (int type : qAsConst(m_registered))
{ {
if (variant.canConvert(QVariant::Type(type))) if (variant.canConvert(QVariant::Type(type)))
{ {
return static_cast<QDBusPendingCall*>(variant.value<void *>()); return reinterpret_cast<const QDBusPendingCall*>(variant.constData());
} }
} }

View file

@ -25,7 +25,7 @@ public:
///extract QDbusPendingCall from \p variant and blocks until completed ///extract QDbusPendingCall from \p variant and blocks until completed
Q_INVOKABLE QVariant waitForReply(QVariant variant) const; Q_INVOKABLE QVariant waitForReply(QVariant variant) const;
QDBusPendingCall* extractPendingCall(QVariant& variant) const; const QDBusPendingCall* extractPendingCall(QVariant& variant) const;
private: private:
DBusResponseWaiter(); DBusResponseWaiter();