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/qdbusserver.cpp | |
parent | 5d41a4aa5a3324a2326142300da3b853bb14b070 (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/qdbusserver.cpp')
-rw-r--r-- | src/dbus/qdbusserver.cpp | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/src/dbus/qdbusserver.cpp b/src/dbus/qdbusserver.cpp index a0b2c8283c..6c1b4c10ef 100644 --- a/src/dbus/qdbusserver.cpp +++ b/src/dbus/qdbusserver.cpp @@ -63,14 +63,10 @@ QDBusServer::QDBusServer(const QString &address, QObject *parent) d = 0; return; } - d = new QDBusConnectionPrivate; + emit QDBusConnectionManager::instance()->serverRequested(address, this); QObject::connect(d, SIGNAL(newServerConnection(QDBusConnectionPrivate*)), this, SLOT(_q_newConnection(QDBusConnectionPrivate*)), Qt::QueuedConnection); - - QDBusErrorInternal error; - d->setServer(this, q_dbus_server_listen(address.toUtf8().constData(), error), error); - d->moveToThread(QDBusConnectionManager::instance()); } /*! @@ -83,23 +79,19 @@ QDBusServer::QDBusServer(QObject *parent) { #ifdef Q_OS_UNIX // Use Unix sockets on Unix systems only - static const char address[] = "unix:tmpdir=/tmp"; + const QString address = QStringLiteral("unix:tmpdir=/tmp"); #else - static const char address[] = "tcp:"; + const QString address = QStringLiteral("tcp:"); #endif if (!qdbus_loadLibDBus()) { d = 0; return; } - d = new QDBusConnectionPrivate; + emit QDBusConnectionManager::instance()->serverRequested(address, this); QObject::connect(d, SIGNAL(newServerConnection(QDBusConnectionPrivate*)), this, SLOT(_q_newConnection(QDBusConnectionPrivate*)), Qt::QueuedConnection); - - QDBusErrorInternal error; - d->setServer(this, q_dbus_server_listen(address, error), error); - d->moveToThread(QDBusConnectionManager::instance()); } /*! |