diff options
author | Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> | 2023-08-15 13:54:45 +0200 |
---|---|---|
committer | Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> | 2023-08-22 16:26:02 +0200 |
commit | 3c4a092cf7a542530bbccaca133763bde00bd335 (patch) | |
tree | 4a1e4846a1366cd77c22b0fc0390280392b7717b /src/dbus/qdbusconnectionmanager_p.h | |
parent | 6d6d22b65d9a0cc8664cc9e051e66a80db132b6e (diff) |
QDBusConnectionManager: Use invokeMethod() to create connections
Use QMetaObject::invokeMethod() with a lambda instead of setting
up a permanent signal/slot connections with BlockingQueuedConnection
type. This makes the code flow easier to follow.
Change-Id: I0e77433e3fb96f99ed39f2d14dad737d444d3269
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/dbus/qdbusconnectionmanager_p.h')
-rw-r--r-- | src/dbus/qdbusconnectionmanager_p.h | 29 |
1 files changed, 4 insertions, 25 deletions
diff --git a/src/dbus/qdbusconnectionmanager_p.h b/src/dbus/qdbusconnectionmanager_p.h index e1eecf15a4..a23a211838 100644 --- a/src/dbus/qdbusconnectionmanager_p.h +++ b/src/dbus/qdbusconnectionmanager_p.h @@ -30,7 +30,6 @@ class QDBusServer; class QDBusConnectionManager : public QDaemonThread { Q_OBJECT - struct ConnectionRequestData; public: QDBusConnectionManager(); ~QDBusConnectionManager(); @@ -48,14 +47,14 @@ public: mutable QMutex mutex; -signals: - void connectionRequested(ConnectionRequestData *); - protected: void run() override; private: - void executeConnectionRequest(ConnectionRequestData *data); + QDBusConnectionPrivate *doConnectToBus(QDBusConnection::BusType type, const QString &name, + bool suspendedDelivery); + QDBusConnectionPrivate *doConnectToBus(const QString &address, const QString &name); + QDBusConnectionPrivate *doConnectToPeer(const QString &address, const QString &name); QHash<QString, QDBusConnectionPrivate *> connectionHash; @@ -66,26 +65,6 @@ private: QString senderName; // internal; will probably change }; -// TODO: move into own header and use Q_MOC_INCLUDE -struct QDBusConnectionManager::ConnectionRequestData -{ - enum RequestType { - ConnectToStandardBus, - ConnectToBusByAddress, - ConnectToPeerByAddress - } type; - - union { - QDBusConnection::BusType busType; - const QString *busAddress; - }; - const QString *name; - - QDBusConnectionPrivate *result; - - bool suspendedDelivery; -}; - QT_END_NAMESPACE #endif // QT_NO_DBUS |