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 |
Public Functions
QDBusVariant() | |
QDBusVariant(const QVariant &variant) | |
QDBusVariant(QVariant &&v) | |
void | setVariant(const QVariant &variant) |
void | swap(QDBusVariant &other) |
QVariant | variant() const |
Detailed Description
The QDBusVariant class enables the programmer to identify the variant type provided by the D-Bus typesystem.
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.
Member Function Documentation
QDBusVariant::QDBusVariant()
Constructs a new D-Bus variant.
QDBusVariant::QDBusVariant(const QVariant &variant)
Constructs a new D-Bus variant from the given Qt variant.
See also setVariant().
QDBusVariant::QDBusVariant(QVariant &&v)
Default constructs an instance of QDBusVariant.
void QDBusVariant::setVariant(const QVariant &variant)
Assigns the value of the given Qt variant to this D-Bus variant.
See also variant().
void QDBusVariant::swap(QDBusVariant &other)
Swaps this QDBusVariant instance with other.
QVariant QDBusVariant::variant() const
Returns this D-Bus variant as a QVariant object.
See also setVariant().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qdbusvariant.html