- Qt 6.9
- Qt D-Bus
- CMake Commands in Qt6 DBus
- qt_add_dbus_adaptor
- Qt 6.9.3 Reference Documentation

# qt_add_dbus_adaptor

Generates an adaptor class for a D-Bus interface.

The command is defined in the `DBus` component of the `Qt6` package. Load the package with:

     find_package(Qt6 REQUIRED COMPONENTS DBus)

This command was introduced in Qt 6.0.

## Synopsis

     qt_add_dbus_adaptor(<VAR> dbus_spec header
         [parent_class]
         [basename]
         [classname]
     )

If versionless commands are disabled, use `qt6_add_dbus_adaptor()` instead. It supports the same set of arguments as this command.

## Description

Generates a C++ header file implementing an adaptor for a D-Bus interface description file defined in `dbus_spec`. The path of the generated file is added to `<VAR>`. The generated adaptor class takes a pointer to `parent_class` as QObject parent. `parent_class` should be declared in `header`, which is included in the generated code as `#include "header"`.

The function sets up a call to the Qt D-Bus XML compiler (qdbusxml2cpp) in adaptor mode. The default file and class name are generated from the last segment in the `dbus_spec` base name:

XML file | Header file | Class name
--- | --- | ---
`org.example.chat` | `chatadaptor.h` | `ChatAdaptor`

You can change the name of the header file to be generated by passing `basename` as the fifth argument. The `.h` suffix is always added.

You can change the default class name by passing `classname` as the sixth argument.

## Examples

     qt_add_dbus_adaptor(GENERATED_SOURCES org.example.chat.xml chat.h ChatMainWindow)