diff options
author | Thiago Macieira <thiago.macieira@nokia.com> | 2011-06-21 21:14:01 +0200 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@nokia.com> | 2011-06-23 13:03:47 +0200 |
commit | 59bd3bcd961fb3198dc9ba24996f7f9af67aeda3 (patch) | |
tree | 22bb06bd8f88513c0e64b56557d33b6445eee05b | |
parent | 45d2d36c9dbcbce403c78838ea52acd1ab111b68 (diff) | |
download | qt4-tools-59bd3bcd961fb3198dc9ba24996f7f9af67aeda3.tar.gz |
Add a function that returns the D-Bus local machine ID
Reviewed-by: Lars Knoll
-rw-r--r-- | src/dbus/qdbus_symbols_p.h | 2 | ||||
-rw-r--r-- | src/dbus/qdbusconnection.cpp | 21 | ||||
-rw-r--r-- | src/dbus/qdbusconnection.h | 2 |
3 files changed, 25 insertions, 0 deletions
diff --git a/src/dbus/qdbus_symbols_p.h b/src/dbus/qdbus_symbols_p.h index 8b46e6ac89..a59c08a8ab 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 6628ca3645..94989f550b 100644 --- a/src/dbus/qdbusconnection.cpp +++ b/src/dbus/qdbusconnection.cpp @@ -1123,6 +1123,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 19418d61a6..4bdd055f52 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(); |