summaryrefslogtreecommitdiffstats
path: root/src/dbus/qdbusconnectionmanager_p.h
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2015-04-14 17:09:02 -0700
committerThiago Macieira <thiago.macieira@intel.com>2015-09-15 02:08:45 +0000
commitea01d7784ad3ab34061f43aa51ee91ce2339e003 (patch)
tree4075d92f1078588e0b21d511e4d797d2af3c9e65 /src/dbus/qdbusconnectionmanager_p.h
parent5d41a4aa5a3324a2326142300da3b853bb14b070 (diff)
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.h11
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;