summaryrefslogtreecommitdiffstats
path: root/src/dbus/qdbusconnectionmanager_p.h
diff options
context:
space:
mode:
authorIevgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>2023-08-15 13:54:45 +0200
committerIevgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>2023-08-22 16:26:02 +0200
commit3c4a092cf7a542530bbccaca133763bde00bd335 (patch)
tree4a1e4846a1366cd77c22b0fc0390280392b7717b /src/dbus/qdbusconnectionmanager_p.h
parent6d6d22b65d9a0cc8664cc9e051e66a80db132b6e (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.h29
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