summaryrefslogtreecommitdiffstats
path: root/src/dbus/qdbusserver.cpp
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/qdbusserver.cpp
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/qdbusserver.cpp')
-rw-r--r--src/dbus/qdbusserver.cpp16
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());
}
/*!