diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2015-04-14 17:09:02 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2015-09-15 02:08:45 +0000 |
commit | ea01d7784ad3ab34061f43aa51ee91ce2339e003 (patch) | |
tree | 4075d92f1078588e0b21d511e4d797d2af3c9e65 /src/dbus/qdbusconnectionmanager_p.h | |
parent | 5d41a4aa5a3324a2326142300da3b853bb14b070 (diff) | |
download | qtbase-ea01d7784ad3ab34061f43aa51ee91ce2339e003.tar.gz |
And move the creation of connections to the thread
Now we know that all timers and socket notifiers get created only in the
QDBusConnectionManager thread.
Incidentally, this reduced code duplication.
Change-Id: I27eaacb532114dd188c4ffff13d5075a8d2efb0b
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Diffstat (limited to 'src/dbus/qdbusconnectionmanager_p.h')
-rw-r--r-- | src/dbus/qdbusconnectionmanager_p.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/dbus/qdbusconnectionmanager_p.h b/src/dbus/qdbusconnectionmanager_p.h index c3c7999699..4527c562f8 100644 --- a/src/dbus/qdbusconnectionmanager_p.h +++ b/src/dbus/qdbusconnectionmanager_p.h @@ -57,6 +57,7 @@ QT_BEGIN_NAMESPACE class QDBusConnectionManager : public QDaemonThread { Q_OBJECT + struct ConnectionRequestData; public: QDBusConnectionManager(); ~QDBusConnectionManager(); @@ -65,13 +66,23 @@ public: QDBusConnectionPrivate *connection(const QString &name) const; void removeConnection(const QString &name); void setConnection(const QString &name, QDBusConnectionPrivate *c); + QDBusConnectionPrivate *connectToBus(QDBusConnection::BusType type, const QString &name); + QDBusConnectionPrivate *connectToBus(const QString &address, const QString &name); + QDBusConnectionPrivate *connectToPeer(const QString &address, const QString &name); mutable QMutex mutex; +signals: + void connectionRequested(ConnectionRequestData *); + void serverRequested(const QString &address, void *server); + protected: void run() Q_DECL_OVERRIDE; private: + void executeConnectionRequest(ConnectionRequestData *data); + void createServer(const QString &address, void *server); + QHash<QString, QDBusConnectionPrivate *> connectionHash; mutable QMutex senderMutex; |