- Qt 6.5
- Qt D-Bus
- C++ Classes
- QDBusVirtualObject
- Qt 6.5.0 Reference Documentation

# QDBusVirtualObject Class

The QDBusVirtualObject class is used to handle several DBus paths with one class. More...

Header: | #include <QDBusVirtualObject>
CMake: | find_package(Qt6 REQUIRED COMPONENTS DBus) target_link_libraries(mytarget PRIVATE Qt6::DBus)
qmake: | QT += dbus
Inherits: | QObject

- List of all members, including inherited members

## Public Functions

| QDBusVirtualObject(QObject *parent = nullptr)
virtual | ~QDBusVirtualObject()
virtual bool | handleMessage(const QDBusMessage &message, const QDBusConnection &connection) = 0
virtual QString | introspect(const QString &path) const = 0

## Detailed Description

## Member Function Documentation

### `[explicit]` QDBusVirtualObject::QDBusVirtualObject(QObject *parent = nullptr)

Constructs a QDBusVirtualObject with parent.

### `[virtual]` QDBusVirtualObject::~QDBusVirtualObject()

Destroys the object, deleting all of its child objects.

### `[pure virtual]` bool QDBusVirtualObject::handleMessage(const QDBusMessage &message, const QDBusConnection &connection)

This function needs to handle all messages to the path of the virtual object, when the SubPath option is specified. The service, path, interface and methods are all part of the message. Parameter connection is the connection handle. Must return `true` when the message is handled, otherwise `false` (will generate dbus error message).

### `[pure virtual]` QString QDBusVirtualObject::introspect(const QString &path) const

This function needs to handle the introspection of the virtual object on path. It must return xml of the form:

     <interface name="org.qtproject.QtDBus.MyObject" >
         <property access="readwrite" type="i" name="prop1" />
     </interface>

If you pass the SubPath option, this introspection has to include all child nodes. Otherwise QDBus handles the introspection of the child nodes.