diff options
author | Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> | 2023-08-15 14:58:49 +0200 |
---|---|---|
committer | Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> | 2023-08-22 16:26:02 +0200 |
commit | 12a0eee1f8e304669fef3836ac2014b287f9babe (patch) | |
tree | 69d5872a6d997f1d8d690052670e3c016afe07a0 /src/dbus/qdbusconnection.cpp | |
parent | 3c4a092cf7a542530bbccaca133763bde00bd335 (diff) |
QDBusConnectionManager: Move all locking inside the class
Make `mutex` member private and make all former users call
new public member functions that perform locking. Make
old non-locking member functions private.
Change-Id: I29092d1bd785aa6b830183c1c1fe125b16e0d633
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/dbus/qdbusconnection.cpp')
-rw-r--r-- | src/dbus/qdbusconnection.cpp | 26 |
1 files changed, 7 insertions, 19 deletions
diff --git a/src/dbus/qdbusconnection.cpp b/src/dbus/qdbusconnection.cpp index f0e38dcbd4..bd9df89aaa 100644 --- a/src/dbus/qdbusconnection.cpp +++ b/src/dbus/qdbusconnection.cpp @@ -7,7 +7,6 @@ #include <qdebug.h> #include <qstringlist.h> -#include <QtCore/private/qlocking_p.h> #include "qdbusconnectioninterface.h" #include "qdbuserror.h" @@ -161,10 +160,7 @@ QDBusConnection::QDBusConnection(const QString &name) if (!manager) { d = nullptr; } else { - const auto locker = qt_scoped_lock(manager->mutex); - d = manager->connection(name); - if (d) - d->ref.ref(); + d = manager->existingConnection(name); } } @@ -276,14 +272,10 @@ QDBusConnection QDBusConnection::connectToPeer(const QString &address, void QDBusConnection::disconnectFromBus(const QString &name) { auto *manager = QDBusConnectionManager::instance(); + if (!manager) + return; - if (manager) { - const auto locker = qt_scoped_lock(manager->mutex); - QDBusConnectionPrivate *d = manager->connection(name); - if (d && d->mode != QDBusConnectionPrivate::ClientMode) - return; - manager->removeConnection(name); - } + manager->disconnectFrom(name, QDBusConnectionPrivate::ClientMode); } /*! @@ -299,14 +291,10 @@ void QDBusConnection::disconnectFromBus(const QString &name) void QDBusConnection::disconnectFromPeer(const QString &name) { auto *manager = QDBusConnectionManager::instance(); + if (!manager) + return; - if (manager) { - const auto locker = qt_scoped_lock(manager->mutex); - QDBusConnectionPrivate *d = manager->connection(name); - if (d && d->mode != QDBusConnectionPrivate::PeerMode) - return; - manager->removeConnection(name); - } + manager->disconnectFrom(name, QDBusConnectionPrivate::PeerMode); } /*! |