summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dbus/qdbusserver.cpp25
-rw-r--r--src/dbus/qdbusserver.h3
2 files changed, 27 insertions, 1 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()
diff --git a/src/dbus/qdbusserver.h b/src/dbus/qdbusserver.h
index 900c652d37..b3ccebc505 100644
--- a/src/dbus/qdbusserver.h
+++ b/src/dbus/qdbusserver.h
@@ -61,7 +61,8 @@ class Q_DBUS_EXPORT QDBusServer: public QObject
{
Q_OBJECT
public:
- QDBusServer(const QString &address = "unix:tmpdir=/tmp", QObject *parent = 0);
+ explicit QDBusServer(const QString &address, QObject *parent = 0);
+ explicit QDBusServer(QObject *parent = 0);
virtual ~QDBusServer();
bool isConnected() const;