summaryrefslogtreecommitdiffstats
path: root/src/dbus/qdbusserver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/dbus/qdbusserver.cpp')
-rw-r--r--src/dbus/qdbusserver.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/dbus/qdbusserver.cpp b/src/dbus/qdbusserver.cpp
index 078f56aa61..6d97893235 100644
--- a/src/dbus/qdbusserver.cpp
+++ b/src/dbus/qdbusserver.cpp
@@ -82,6 +82,31 @@ QDBusServer::QDBusServer(const QString &address, QObject *parent)
}
/*!
+ Constructs a QDBusServer with the given \a parent. The server will listen
+ for connections in \c {/tmp}.
+*/
+QDBusServer::QDBusServer(QObject *parent)
+ : QObject(parent)
+{
+ const QString address = QLatin1String("unix:tmpdir=/tmp");
+
+ if (!qdbus_loadLibDBus()) {
+ d = 0;
+ return;
+ }
+ d = new QDBusConnectionPrivate(this);
+
+ QMutexLocker locker(&QDBusConnectionManager::instance()->mutex);
+ QDBusConnectionManager::instance()->setConnection(QLatin1String("QDBusServer-") + QString::number(reinterpret_cast<qulonglong>(d)), d);
+
+ QObject::connect(d, SIGNAL(newServerConnection(QDBusConnection)),
+ this, SIGNAL(newConnection(QDBusConnection)));
+
+ QDBusErrorInternal error;
+ d->setServer(q_dbus_server_listen(address.toUtf8().constData(), error), error);
+}
+
+/*!
Destructs a QDBusServer
*/
QDBusServer::~QDBusServer()