QDBusVariant Class

The QDBusVariant class enables the programmer to identify the variant type provided by the D-Bus typesystem. More...

Header: #include <QDBusVariant>
qmake: QT += dbus
Since: Qt 4.2

This class was introduced in Qt 4.2.

Detailed Description

A D-Bus function that takes an integer, a D-Bus variant and a string as parameters can be called with the following argument list (see QDBusMessage::setArguments()):


      QList<QVariant> arguments;
      arguments << QVariant(42) << QVariant::fromValue(QDBusVariant(43)) << QVariant("hello");
      myDBusMessage.setArguments(arguments);

When a D-Bus function returns a D-Bus variant, it can be retrieved as follows:


      // call a D-Bus function that returns a D-Bus variant
      QVariant v = callMyDBusFunction();
      // retrieve the D-Bus variant
      QDBusVariant dbusVariant = qvariant_cast<QDBusVariant>(v);
      // retrieve the actual value stored in the D-Bus variant
      QVariant result = dbusVariant.variant();

The QVariant within a QDBusVariant is required to distinguish between a normal D-Bus value and a value within a D-Bus variant.

See also The Qt D-Bus Type System.