- Qt 5.15
- Qt D-Bus
- qt_add_dbus_interface
- Qt 5.15.19 Reference Documentation

# qt_add_dbus_interface

## Synopsis

     qt_add_dbus_interface(<VAR> dbus_spec basename)  # added in Qt 5.15

     qt5_add_dbus_interface(<VAR> dbus_spec basename)

## Description

Generates C++ sources implementing an interface for a D-Bus interface description file defined in `dbus_spec`. The generated files are named after `basename`: `basename.h`, `basename.cpp`, `basename.moc`. The paths of the files are added to `<VAR>`.

The function sets up a call to the Qt D-Bus XML compiler (qdbusxml2cpp) in interface (proxy) mode. By default, `qdbusxml2cpp` generates a C++ class named after the interface name, with a namespaced alias:

D-Bus Interface Name | Class name | Namespaced name
--- | --- | ---
`org.example.chat` | `OrgExampleChatInterface` | `org.example.chat`

## Options

Options can be set using `set_source_file_property` on the `dbus_spec`:

Option | Value | Description
--- | --- | ---
`CLASSNAME` | `class_name` | Override the default interface class name with `class_name`.
`NO_NAMESPACE` | boolean | Do not generate the namespaced name if set to `ON`.
`INCLUDE` | `path` | Add an `#include "path"` in the generated code.