summaryrefslogtreecommitdiffstats
path: root/src/dbus
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2011-06-23 13:13:51 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2011-06-23 13:13:51 (GMT)
commit164728f711136356a6c3482f762321b01c9d82dd (patch)
treeef76a64523ff99b1160eb7c8885a0d84c810f735 /src/dbus
parentdfcaa6b67c1df879b08dd6952a7cfd60d93ff543 (diff)
parent59bd3bcd961fb3198dc9ba24996f7f9af67aeda3 (diff)
downloadQt-164728f711136356a6c3482f762321b01c9d82dd.zip
Qt-164728f711136356a6c3482f762321b01c9d82dd.tar.gz
Qt-164728f711136356a6c3482f762321b01c9d82dd.tar.bz2
Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into master-integration
* 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Add a function that returns the D-Bus local machine ID Add an SSE4.2 even simpler version of toLatin1
Diffstat (limited to 'src/dbus')
-rw-r--r--src/dbus/qdbus_symbols_p.h2
-rw-r--r--src/dbus/qdbusconnection.cpp21
-rw-r--r--src/dbus/qdbusconnection.h2
3 files changed, 25 insertions, 0 deletions
diff --git a/src/dbus/qdbus_symbols_p.h b/src/dbus/qdbus_symbols_p.h
index 8b46e6a..a59c08a 100644
--- a/src/dbus/qdbus_symbols_p.h
+++ b/src/dbus/qdbus_symbols_p.h
@@ -301,6 +301,8 @@ DEFINEFUNC(void , dbus_get_version , (int *major_version_p,
int *minor_version_p,
int *micro_version_p),
(major_version_p, minor_version_p, micro_version_p), )
+DEFINEFUNC(char* , dbus_get_local_machine_id , (void), (), return)
+
/* dbus-pending-call.h */
DEFINEFUNC(dbus_bool_t , dbus_pending_call_set_notify, (DBusPendingCall *pending,
diff --git a/src/dbus/qdbusconnection.cpp b/src/dbus/qdbusconnection.cpp
index 58c1caa..0b4133c 100644
--- a/src/dbus/qdbusconnection.cpp
+++ b/src/dbus/qdbusconnection.cpp
@@ -1124,6 +1124,27 @@ void QDBusConnectionPrivate::setBusService(const QDBusConnection &connection)
}
/*!
+ \since 4.8
+ Returns the local machine ID as known to the D-Bus system. Each
+ node or host that runs D-Bus has a unique identifier that can be
+ used to distinguish it from other hosts if they are sharing
+ resources like the filesystem.
+
+ Note that the local machine ID is not guaranteed to be persistent
+ across boots of the system, so this identifier should not be
+ stored in persistent storage (like the filesystem). It is
+ guaranteed to remain constant only during the lifetime of this
+ boot session.
+*/
+QByteArray QDBusConnection::localMachineId()
+{
+ char *dbus_machine_id = q_dbus_get_local_machine_id();
+ QByteArray result = dbus_machine_id;
+ q_dbus_free(dbus_machine_id);
+ return result;
+}
+
+/*!
\namespace QDBus
\inmodule QtDBus
diff --git a/src/dbus/qdbusconnection.h b/src/dbus/qdbusconnection.h
index 19418d6..4bdd055 100644
--- a/src/dbus/qdbusconnection.h
+++ b/src/dbus/qdbusconnection.h
@@ -176,6 +176,8 @@ public:
static void disconnectFromBus(const QString &name);
static void disconnectFromPeer(const QString &name);
+ static QByteArray localMachineId();
+
static QDBusConnection sessionBus();
static QDBusConnection systemBus();