diff -pruN 6.13.0-1/.Doxyfile.cmake 6.17.0-0ubuntu1/.Doxyfile.cmake
--- 6.13.0-1/.Doxyfile.cmake	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/.Doxyfile.cmake	1970-01-01 00:00:00.000000000 +0000
@@ -1,1830 +0,0 @@
-# SPDX-FileCopyrightText: 2013 Lamarque V. Souza <lamarque@kde.org>
-#
-# SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
-
-# Doxyfile 1.8.1.2
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-#       TAG = value [value, ...]
-# For lists items can also be appended using:
-#       TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file
-# that follow. The default is UTF-8 which is also the encoding used for all
-# text before the first occurrence of this tag. Doxygen uses libiconv (or the
-# iconv built into libc) for the transcoding. See
-# https://www.gnu.org/software/libiconv for the list of possible encodings.
-
-DOXYFILE_ENCODING      = UTF-8
-
-# The PROJECT_NAME tag is a single word (or sequence of words) that should
-# identify the project. Note that if you do not use Doxywizard you need
-# to put quotes around the project name if it contains spaces.
-
-PROJECT_NAME           = NetworkManagerQt
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER         = v@VERSION@
-
-# Using the PROJECT_BRIEF tag one can provide an optional one line description
-# for a project that appears at the top of each page and should give viewer
-# a quick idea about the purpose of the project. Keep the description short.
-
-PROJECT_BRIEF          = "Qt wrapper for NetworkManager API"
-
-# With the PROJECT_LOGO tag one can specify an logo or icon that is
-# included in the documentation. The maximum height of the logo should not
-# exceed 55 pixels and the maximum width should not exceed 200 pixels.
-# Doxygen will copy the logo to the output directory.
-
-PROJECT_LOGO           =
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       = doc
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-# 4096 sub-directories (in 2 levels) under the output directory of each output
-# format and will distribute the generated files over these directories.
-# Enabling this option can be useful when feeding doxygen a huge amount of
-# source files, where putting all generated files in the same directory would
-# otherwise cause performance problems for the file system.
-
-CREATE_SUBDIRS         = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
-# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
-# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
-# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
-# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak,
-# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF           = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator
-# that is used to form the text in various listings. Each string
-# in this list, if found as the leading text of the brief description, will be
-# stripped from the text and the result after processing the whole list, is
-# used as the annotated text. Otherwise, the brief description is used as-is.
-# If left blank, the following values are used ("$name" is automatically
-# replaced with the name of the entity): "The $name class" "The $name widget"
-# "The $name file" "is" "provides" "specifies" "contains"
-# "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF       = "The $name class" \
-                         "The $name widget" \
-                         "The $name file" \
-                         is \
-                         provides \
-                         specifies \
-                         contains \
-                         represents \
-                         a \
-                         an \
-                         the
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
-
-INLINE_INHERITED_MEMB  = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES        = YES
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the
-# path to strip.
-
-STRIP_FROM_PATH        =
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-# the path mentioned in the documentation of a class, which tells
-# the reader which header file to include in order to use a class.
-# If left blank only the name of the header file containing the class
-# definition is used. Otherwise one should specify the include paths that
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH    =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful if your file system
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like regular Qt-style comments
-# (thus requiring an explicit @brief command for a brief description.)
-
-JAVADOC_AUTOBRIEF      = NO
-
-# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
-# interpret the first line (until the first dot) of a Qt-style
-# comment as the brief description. If set to NO, the comments
-# will behave just like regular Qt-style comments (thus requiring
-# an explicit \brief command for a brief description.)
-
-QT_AUTOBRIEF           = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# re-implements.
-
-INHERIT_DOCS           = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
-# a new page for each member. If set to NO, the documentation of a member will
-# be part of the file/class/namespace that contains it.
-
-SEPARATE_MEMBER_PAGES  = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE               = 4
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES                =
-
-# This tag can be used to specify a number of word-keyword mappings (TCL only).
-# A mapping has the form "name=value". For example adding
-# "class=itcl::class" will allow you to use the command class in the
-# itcl::class meaning.
-
-TCL_SUBST              =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
-# sources only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C  = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
-# sources only. Doxygen will then generate output that is more tailored for
-# Java. For instance, namespaces will be presented as packages, qualified
-# scopes will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA   = NO
-
-# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-# sources only. Doxygen will then generate output that is more tailored for
-# Fortran.
-
-OPTIMIZE_FOR_FORTRAN   = NO
-
-# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-# sources. Doxygen will then generate output that is tailored for
-# VHDL.
-
-OPTIMIZE_OUTPUT_VHDL   = NO
-
-# Doxygen selects the parser to use depending on the extension of the files it
-# parses. With this tag you can assign which parser to use for a given extension.
-# Doxygen has a built-in mapping, but you can override or extend it using this
-# tag. The format is ext=language, where ext is a file extension, and language
-# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
-# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
-# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
-# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
-# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
-
-EXTENSION_MAPPING      =
-
-# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all
-# comments according to the Markdown format, which allows for more readable
-# documentation. See https://daringfireball.net/projects/markdown/ for details.
-# The output of markdown processing is further processed by doxygen, so you
-# can mix doxygen, HTML, and XML commands with Markdown formatting.
-# Disable only in case of backward compatibilities issues.
-
-MARKDOWN_SUPPORT       = YES
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-# to include (a tag file for) the STL sources as input, then you should
-# set this tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
-# func(std::string) {}). This also makes the inheritance and collaboration
-# diagrams that involve STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT    = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-
-CPP_CLI_SUPPORT        = NO
-
-# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
-# Doxygen will parse them like normal C++ but will assume all classes use public
-# instead of private inheritance when no explicit protection keyword is present.
-
-SIP_SUPPORT            = NO
-
-# For Microsoft's IDL there are propget and propput attributes to indicate getter
-# and setter methods for a property. Setting this option to YES (the default)
-# will make doxygen replace the get and set methods by a property in the
-# documentation. This will only work if the methods are indeed getting or
-# setting a simple type. If this is not the case, or you want to show the
-# methods anyway, you should set this option to NO.
-
-IDL_PROPERTY_SUPPORT   = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
-
-SUBGROUPING            = YES
-
-# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and
-# unions are shown inside the group in which they are included (e.g. using
-# @ingroup) instead of on a separate page (for HTML and Man pages) or
-# section (for LaTeX and RTF).
-
-INLINE_GROUPED_CLASSES = NO
-
-# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and
-# unions with only public data fields will be shown inline in the documentation
-# of the scope in which they are defined (i.e. file, namespace, or group
-# documentation), provided this scope is documented. If set to NO (the default),
-# structs, classes, and unions are shown on a separate page (for HTML and Man
-# pages) or section (for LaTeX and RTF).
-
-INLINE_SIMPLE_STRUCTS  = NO
-
-# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
-# is documented as struct, union, or enum with the name of the typedef. So
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
-# with name TypeT. When disabled the typedef will appear as a member of a file,
-# namespace, or class. And the struct will be named TypeS. This can typically
-# be useful for C code in case the coding convention dictates that all compound
-# types are typedef'ed and only the typedef is referenced, never the tag name.
-
-TYPEDEF_HIDES_STRUCT   = NO
-
-# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
-# determine which symbols to keep in memory and which to flush to disk.
-# When the cache is full, less often used symbols will be written to disk.
-# For small to medium size projects (<1000 input files) the default value is
-# probably good enough. For larger projects a too small cache size can cause
-# doxygen to be busy swapping symbols to and from disk most of the time
-# causing a significant performance penalty.
-# If the system has enough physical memory increasing the cache will improve the
-# performance by keeping more symbols in memory. Note that the value works on
-# a logarithmic scale so increasing the size by one will roughly double the
-# memory usage. The cache size is given by this formula:
-# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
-# corresponding to a cache size of 2^16 = 65536 symbols.
-
-SYMBOL_CACHE_SIZE      = 0
-
-# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be
-# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given
-# their name and scope. Since this can be an expensive process and often the
-# same symbol appear multiple times in the code, doxygen keeps a cache of
-# pre-resolved symbols. If the cache is too small doxygen will become slower.
-# If the cache is too large, memory is wasted. The cache size is given by this
-# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0,
-# corresponding to a cache size of 2^16 = 65536 symbols.
-
-LOOKUP_CACHE_SIZE      = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL            = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE        = NO
-
-# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal
-# scope will be included in the documentation.
-
-EXTRACT_PACKAGE        = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC         = NO
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES  = NO
-
-# This flag is only useful for Objective-C code. When set to YES local
-# methods, which are defined in the implementation section but not in
-# the interface are included in the documentation.
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS  = YES
-
-# If this flag is set to YES, the members of anonymous namespaces will be
-# extracted and appear in the documentation as a namespace called
-# 'anonymous_namespace{file}', where file will be replaced with the base
-# name of the file that contains the anonymous namespace. By default
-# anonymous namespaces are hidden.
-
-EXTRACT_ANON_NSPACES   = YES
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS          = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES       = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES       = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES     = YES
-
-# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
-# will list include files with double quotes in the documentation
-# rather than with sharp brackets.
-
-FORCE_LOCAL_INCLUDES   = NO
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS       = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-# brief documentation of file, namespace and class members alphabetically
-# by member name. If set to NO (the default) the members will appear in
-# declaration order.
-
-SORT_BRIEF_DOCS        = NO
-
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
-# will sort the (brief and detailed) documentation of class members so that
-# constructors and destructors are listed first. If set to NO (the default)
-# the constructors will appear in the respective orders defined by
-# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
-# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
-# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
-
-SORT_MEMBERS_CTORS_1ST = NO
-
-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
-# hierarchy of group names into alphabetical order. If set to NO (the default)
-# the group names will appear in their defined order.
-
-SORT_GROUP_NAMES       = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-# sorted by fully-qualified names, including namespaces. If set to
-# NO (the default), the class list will be sorted only by class name,
-# not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME     = NO
-
-# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to
-# do proper type resolution of all parameters of a function it will reject a
-# match between the prototype and the implementation of a member function even
-# if there is only one candidate or it is obvious which candidate to choose
-# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen
-# will still accept a match between prototype and implementation in such cases.
-
-STRICT_PROTO_MATCHING  = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
-GENERATE_TODOLIST      = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST      = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
-GENERATE_BUGLIST       = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS       =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or macro consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and macros in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES  = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES        = NO
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
-# This will remove the Files entry from the Quick Index and from the
-# Folder Tree View (if specified). The default is YES.
-
-SHOW_FILES             = NO
-
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
-# Namespaces page.  This will remove the Namespaces entry from the Quick Index
-# and from the Folder Tree View (if specified). The default is YES.
-
-SHOW_NAMESPACES        = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from
-# the version control system). Doxygen will invoke the program by executing (via
-# popen()) the command <command> <input-file>, where <command> is the value of
-# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
-# provided by doxygen. Whatever the program writes to standard output
-# is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER    =
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
-# by doxygen. The layout file controls the global structure of the generated
-# output files in an output format independent way. To create the layout file
-# that represents doxygen's defaults, run doxygen with the -l option.
-# You can optionally specify a file name after the option, if omitted
-# DoxygenLayout.xml will be used as the name of the layout file.
-
-LAYOUT_FILE            =
-
-# The CITE_BIB_FILES tag can be used to specify one or more bib files
-# containing the references data. This must be a list of .bib files. The
-# .bib extension is automatically appended if omitted. Using this command
-# requires the bibtex tool to be installed. See also
-# https://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style
-# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this
-# feature you need bibtex and perl available in the search path.
-
-CITE_BIB_FILES         =
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET                  = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS               = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some
-# parameters in a documented function, or documenting parameters that
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR      = YES
-
-# The WARN_NO_PARAMDOC option can be enabled to get warnings for
-# functions that are documented, but have no documentation for their parameters
-# or return value. If set to NO (the default) doxygen will only warn about
-# wrong or incomplete parameter documentation, but not about the absence of
-# documentation.
-
-WARN_NO_PARAMDOC       = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text. Optionally the format may contain
-# $version, which will be replaced by the version of the file (if it could
-# be obtained via FILE_VERSION_FILTER)
-
-WARN_FORMAT            = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE           =
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT                  = "@CMAKE_CURRENT_SOURCE_DIR@"
-
-# This tag can be used to specify the character encoding of the source files
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
-# also the default input encoding. Doxygen uses libiconv (or the iconv built
-# into libc) for the transcoding. See https://www.gnu.org/software/libiconv for
-# the list of possible encodings.
-
-INPUT_ENCODING         = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh
-# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py
-# *.f90 *.f *.for *.vhd *.vhdl
-
-FILE_PATTERNS          = *.c \
-                         *.cc \
-                         *.cxx \
-                         *.cpp \
-                         *.c++ \
-                         *.d \
-                         *.java \
-                         *.ii \
-                         *.ixx \
-                         *.ipp \
-                         *.i++ \
-                         *.inl \
-                         *.h \
-                         *.hh \
-                         *.hxx \
-                         *.hpp \
-                         *.h++ \
-                         *.idl \
-                         *.odl \
-                         *.cs \
-                         *.php \
-                         *.php3 \
-                         *.inc \
-                         *.m \
-                         *.markdown \
-                         *.md \
-                         *.mm \
-                         *.dox \
-                         *.py \
-                         *.f90 \
-                         *.f \
-                         *.for \
-                         *.vhd \
-                         *.vhdl
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE              = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should be
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-# Note that relative paths are relative to the directory from which doxygen is
-# run.
-
-EXCLUDE                = @CMAKE_CURRENT_SOURCE_DIR@/examples @CMAKE_CURRENT_SOURCE_DIR@/tests @CMAKE_CURRENT_SOURCE_DIR@/dbus
-
-# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
-# directories that are symbolic links (a Unix file system feature) are excluded
-# from the input.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories. Note that the wildcards are matched
-# against the file with absolute path, so to exclude all test directories
-# for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       = *_p.h
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-# (namespaces, classes, functions, etc.) that should be excluded from the
-# output. The symbol name can be a fully qualified name, a word, or if the
-# wildcard * is used, a substring. Examples: ANamespace, AClass,
-# AClass::ANamespace, ANamespace::*Test
-
-EXCLUDE_SYMBOLS        =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH           =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS       =
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH             =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output.  If FILTER_PATTERNS is specified, this tag will be
-# ignored.
-
-INPUT_FILTER           =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis.  Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match.  The filters are a list of the form:
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
-# info on how filters are used. If FILTER_PATTERNS is empty or if
-# non of the patterns match the file name, INPUT_FILTER is applied.
-
-FILTER_PATTERNS        =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES    = YES
-
-# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
-# pattern. A pattern will override the setting for FILTER_PATTERN (if any)
-# and it is also possible to disable source filtering for a specific pattern
-# using *.ext= (so without naming a filter). This option only has effect when
-# FILTER_SOURCE_FILES is enabled.
-
-FILTER_SOURCE_PATTERNS =
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-# Note: To get rid of all source code in the generated output, make sure also
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER         = YES
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES         = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C, C++ and Fortran comments will always remain visible.
-
-STRIP_CODE_COMMENTS    = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = NO
-
-# If the REFERENCES_RELATION tag is set to YES
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION    = NO
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
-# link to the source code.  Otherwise they will link to the documentation.
-
-REFERENCES_LINK_SOURCE = NO
-
-# If the USE_HTAGS tag is set to YES then the references to source code
-# will point to the HTML generated by the htags(1) tool instead of doxygen
-# built-in source browser. The htags tool is part of GNU's global source
-# tagging system (see https://www.gnu.org/software/global/global.html). You
-# will need version 4.8.6 or higher.
-
-USE_HTAGS              = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS       = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX     = YES
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX    = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX          =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
-GENERATE_HTML          = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT            = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header. Note that when using a custom header you are responsible
-# for the proper inclusion of any scripts and style sheets that doxygen
-# needs, which is dependent on the configuration options used.
-# It is advised to generate a default header using "doxygen -w html
-# header.html footer.html stylesheet.css YourConfigFile" and then modify
-# that header. Note that the header is subject to change so you typically
-# have to redo this when upgrading to a newer version of doxygen or when
-# changing the value of configuration settings such as GENERATE_TREEVIEW!
-
-HTML_HEADER            =
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER            =
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet. Note that doxygen will try to copy
-# the style sheet file to the HTML output directory, so don't put your own
-# style sheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET        =
-
-# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
-# other source files which should be copied to the HTML output directory. Note
-# that these files will be copied to the base HTML output directory. Use the
-# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
-# files. In the HTML_STYLESHEET file, use the file name only. Also note that
-# the files will be copied as-is; there are no commands or markers available.
-
-HTML_EXTRA_FILES       =
-
-# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
-# Doxygen will adjust the colors in the style sheet and background images
-# according to this color. Hue is specified as an angle on a colorwheel,
-# see https://en.wikipedia.org/wiki/Hue for more information.
-# For instance the value 0 represents red, 60 is yellow, 120 is green,
-# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
-# The allowed range is 0 to 359.
-
-HTML_COLORSTYLE_HUE    = 220
-
-# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
-# the colors in the HTML output. For a value of 0 the output will use
-# grayscales only. A value of 255 will produce the most vivid colors.
-
-HTML_COLORSTYLE_SAT    = 100
-
-# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
-# the luminance component of the colors in the HTML output. Values below
-# 100 gradually make the output lighter, whereas values above 100 make
-# the output darker. The value divided by 100 is the actual gamma applied,
-# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
-# and 100 does not change the gamma.
-
-HTML_COLORSTYLE_GAMMA  = 80
-
-# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
-# page will contain the date and time when the page was generated. Setting
-# this to NO can help when comparing the output of multiple runs.
-
-HTML_TIMESTAMP         = YES
-
-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-# documentation will contain sections that can be hidden and shown after the
-# page has loaded.
-
-HTML_DYNAMIC_SECTIONS  = NO
-
-# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of
-# entries shown in the various tree structured indices initially; the user
-# can expand and collapse entries dynamically later on. Doxygen will expand
-# the tree to such a level that at most the specified number of entries are
-# visible (unless a fully collapsed tree already exceeds this amount).
-# So setting the number of entries 1 will produce a full collapsed tree by
-# default. 0 is a special value representing an infinite number of entries
-# and will result in a full expanded tree by default.
-
-HTML_INDEX_NUM_ENTRIES = 100
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files
-# will be generated that can be used as input for Apple's Xcode 3
-# integrated development environment, introduced with OSX 10.5 (Leopard).
-# To create a documentation set, doxygen will generate a Makefile in the
-# HTML output directory. Running make will produce the docset in that
-# directory and running "make install" will install the docset in
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
-# it at startup.
-# See https://developer.apple.com/tools/creatingdocsetswithdoxygen.html
-# for more information.
-
-GENERATE_DOCSET        = NO
-
-# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
-# feed. A documentation feed provides an umbrella under which multiple
-# documentation sets from a single provider (such as a company or product suite)
-# can be grouped.
-
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-
-# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
-# should uniquely identify the documentation set bundle. This should be a
-# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
-# will append .docset to the name.
-
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-
-# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
-# the documentation publisher. This should be a reverse domain-name style
-# string, e.g. com.mycompany.MyDocSet.documentation.
-
-DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
-
-# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
-
-DOCSET_PUBLISHER_NAME  = Publisher
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP      = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
-# written to the html output directory.
-
-CHM_FILE               =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION           =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI           = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
-# is used to encode HtmlHelp index (hhk), content (hhc) and project file
-# content.
-
-CHM_INDEX_ENCODING     =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND             = NO
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
-# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
-# that can be used as input for Qt's qhelpgenerator to generate a
-# Qt Compressed Help (.qch) of the generated HTML documentation.
-
-GENERATE_QHP           = NO
-
-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
-# be used to specify the file name of the resulting .qch file.
-# The path specified is relative to the HTML output folder.
-
-QCH_FILE               =
-
-# The QHP_NAMESPACE tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# https://doc.qt.io/qt-5/qthelpproject.html#namespace
-
-QHP_NAMESPACE          = org.doxygen.Project
-
-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# https://doc.qt.io/qt-5/qthelpproject.html#virtual-folders
-
-QHP_VIRTUAL_FOLDER     = doc
-
-# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
-# add. For more information please see
-# https://doc.qt.io/qt-5/qthelpproject.html#custom-filters
-
-QHP_CUST_FILTER_NAME   =
-
-# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
-# custom filter to add. For more information please see
-# <a href="https://doc.qt.io/qt-5/qthelpproject.html#custom-filters">
-# Qt Help Project / Custom Filters</a>.
-
-QHP_CUST_FILTER_ATTRS  =
-
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
-# project's
-# filter section matches.
-# <a href="https://doc.qt.io/qt-5/qthelpproject.html#filter-attributes">
-# Qt Help Project / Filter Attributes</a>.
-
-QHP_SECT_FILTER_ATTRS  =
-
-# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
-# be used to specify the location of Qt's qhelpgenerator.
-# If non-empty doxygen will try to run qhelpgenerator on the generated
-# .qhp file.
-
-QHG_LOCATION           =
-
-# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
-# will be generated, which together with the HTML files, form an Eclipse help
-# plugin. To install this plugin and make it available under the help contents
-# menu in Eclipse, the contents of the directory containing the HTML and XML
-# files needs to be copied into the plugins directory of eclipse. The name of
-# the directory within the plugins directory should be the same as
-# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
-# the help appears.
-
-GENERATE_ECLIPSEHELP   = NO
-
-# A unique identifier for the eclipse help plugin. When installing the plugin
-# the directory name containing the HTML and XML files should also have
-# this name.
-
-ECLIPSE_DOC_ID         = org.doxygen.Project
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs)
-# at top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it. Since the tabs have the same information as the
-# navigation tree you can set this option to NO if you already set
-# GENERATE_TREEVIEW to YES.
-
-DISABLE_INDEX          = NO
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-# structure should be generated to display hierarchical information.
-# If the tag value is set to YES, a side panel will be generated
-# containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
-# Windows users are probably better off using the HTML help feature.
-# Since the tree basically has the same information as the tab index you
-# could consider to set DISABLE_INDEX to NO when enabling this option.
-
-GENERATE_TREEVIEW      = NO
-
-# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
-# (range [0,1..20]) that doxygen will group on one line in the generated HTML
-# documentation. Note that a value of 0 will completely suppress the enum
-# values from appearing in the overview section.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
-TREEVIEW_WIDTH         = 250
-
-# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
-# links to external symbols imported via tag files in a separate window.
-
-EXT_LINKS_IN_WINDOW    = NO
-
-# Use this tag to change the font size of Latex formulas included
-# as images in the HTML documentation. The default is 10. Note that
-# when you change the font size after a successful doxygen run you need
-# to manually remove any form_*.png images from the HTML output directory
-# to force them to be regenerated.
-
-FORMULA_FONTSIZE       = 10
-
-# Use the FORMULA_TRANPARENT tag to determine whether or not the images
-# generated for formulas are transparent PNGs. Transparent PNGs are
-# not supported properly for IE 6.0, but are supported on all modern browsers.
-# Note that when changing this option you need to delete any form_*.png files
-# in the HTML output before the changes have effect.
-
-FORMULA_TRANSPARENT    = YES
-
-# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax
-# (see https://www.mathjax.org) which uses client side Javascript for the
-# rendering instead of using prerendered bitmaps. Use this if you do not
-# have LaTeX installed or if you want to formulas look prettier in the HTML
-# output. When enabled you may also need to install MathJax separately and
-# configure the path to it using the MATHJAX_RELPATH option.
-
-USE_MATHJAX            = NO
-
-# When MathJax is enabled you need to specify the location relative to the
-# HTML output directory using the MATHJAX_RELPATH option. The destination
-# directory should contain the MathJax.js script. For instance, if the mathjax
-# directory is located at the same level as the HTML output directory, then
-# MATHJAX_RELPATH should be ../mathjax. The default value points to
-# the MathJax Content Delivery Network so you can quickly see the result without
-# installing MathJax.  However, it is strongly recommended to install a local
-# copy of MathJax from https://www.mathjax.org before deployment.
-
-MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
-
-# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension
-# names that should be enabled during MathJax rendering.
-
-MATHJAX_EXTENSIONS     =
-
-# When the SEARCHENGINE tag is enabled doxygen will generate a search box
-# for the HTML output. The underlying search engine uses javascript
-# and DHTML and should work on any modern browser. Note that when using
-# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
-# (GENERATE_DOCSET) there is already a search function so this one should
-# typically be disabled. For large projects the javascript based search engine
-# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
-
-SEARCHENGINE           = YES
-
-# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
-# implemented using a PHP enabled web server instead of at the web client
-# using Javascript. Doxygen will generate the search PHP script and index
-# file to put on the web server. The advantage of the server
-# based approach is that it scales better to large projects and allows
-# full text search. The disadvantages are that it is more difficult to setup
-# and does not have live searching capabilities.
-
-SERVER_BASED_SEARCH    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX         = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked. If left blank `latex' will be used as the default command name.
-# Note that when enabling USE_PDFLATEX this option is only used for
-# generating bitmaps for formulas in the HTML output, but not in the
-# Makefile that is written to the output directory.
-
-LATEX_CMD_NAME         = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
-# default command name.
-
-MAKEINDEX_CMD_NAME     = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE             = a4
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES         =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER           =
-
-# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for
-# the generated latex document. The footer should contain everything after
-# the last chapter. If it is left blank doxygen will generate a
-# standard footer. Notice: only use this tag if you know what you are doing!
-
-LATEX_FOOTER           =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS         = YES
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX           = YES
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE        = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-# include the index chapters (such as File Index, Compound Index, etc.)
-# in the output.
-
-LATEX_HIDE_INDICES     = NO
-
-# If LATEX_SOURCE_CODE is set to YES then doxygen will include
-# source code with syntax highlighting in the LaTeX output.
-# Note that which sources are shown also depends on other settings
-# such as SOURCE_BROWSER.
-
-LATEX_SOURCE_CODE      = NO
-
-# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
-# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See
-# https://en.wikipedia.org/wiki/BibTeX for more info.
-
-LATEX_BIB_STYLE        = plain
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimized for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT             = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS         = NO
-
-# Load style sheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assignments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE    =
-
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE    =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT             = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION          = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation.
-
-GENERATE_XML           = NO
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT             = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_SCHEMA             =
-
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_DTD                =
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
-# dump the program listings (including syntax highlighting
-# and cross-referencing information) to the XML output. Note that
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING     = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will
-# generate a Perl module file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_PERLMOD       = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-# nicely formatted so it can be parsed by a human reader.  This is useful
-# if you want to understand what is going on.  On the other hand, if this
-# tag is set to NO the size of the Perl module output will be much smaller
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-# This is useful so different doxyrules.make files included by the same
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING   = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION        = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_DEFINED tags.
-
-EXPAND_ONLY_PREDEF     = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# pointed to by INCLUDE_PATH will be searched when a #include is found.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH           =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS  =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed. To prevent a macro definition from being
-# undefined via #undef or recursively expanded use the := operator
-# instead of the = operator.
-
-PREDEFINED             =
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition that
-# overrules the definition found in the source code.
-
-EXPAND_AS_DEFINED      =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all references to function-like macros
-# that are alone on a line, have an all uppercase name, and do not end with a
-# semicolon, because these will confuse the parser if not removed.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles. For each
-# tag file the location of the external documentation should be added. The
-# format of a tag file without this location is as follows:
-#   TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-#   TAGFILES = file1=loc1 "file2 = loc2" ...
-# where "loc1" and "loc2" can be relative or absolute paths
-# or URLs. Note that each tag file must have a unique name (where the name does
-# NOT include the path). If a tag file is not located in the directory in which
-# doxygen is run, you must also specify the path to the tagfile here.
-
-TAGFILES               =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE       =
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS           = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
-# be listed.
-
-EXTERNAL_GROUPS        = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
-# or super classes. Setting the tag to NO turns the diagrams off. Note that
-# this option also works with HAVE_DOT disabled, but it is recommended to
-# install and use dot, since it yields more powerful graphs.
-
-CLASS_DIAGRAMS         = YES
-
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see
-# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH            =
-
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS   = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT               = YES
-
-# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is
-# allowed to run in parallel. When set to 0 (the default) doxygen will
-# base this on the number of processors available in the system. You can set it
-# explicitly to a value larger than 0 to get control over the balance
-# between CPU load and processing speed.
-
-DOT_NUM_THREADS        = 0
-
-# By default doxygen will use the Helvetica font for all dot files that
-# doxygen generates. When you want a differently looking font you can specify
-# the font name using DOT_FONTNAME. You need to make sure dot is able to find
-# the font, which can be done by putting it in a standard location or by setting
-# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the
-# directory containing the font.
-
-DOT_FONTNAME           = Helvetica
-
-# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
-# The default size is 10pt.
-
-DOT_FONTSIZE           = 10
-
-# By default doxygen will tell dot to use the Helvetica font.
-# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to
-# set the path where dot can find it.
-
-DOT_FONTPATH           =
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH    = YES
-
-# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for groups, showing the direct groups dependencies
-
-GROUP_GRAPHS           = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-
-UML_LOOK               = NO
-
-# If the UML_LOOK tag is enabled, the fields and methods are shown inside
-# the class node. If there are many fields or methods and many nodes the
-# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS
-# threshold limits the number of items for each type to make the size more
-# managable. Set this to 0 for no limit. Note that the threshold may be
-# exceeded by 50% before the limit is enforced.
-
-UML_LIMIT_NUM_FIELDS   = 10
-
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS     = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
-
-INCLUDE_GRAPH          = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the CALL_GRAPH and HAVE_DOT options are set to YES then
-# doxygen will generate a call dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable call graphs
-# for selected functions only using the \callgraph command.
-
-CALL_GRAPH             = NO
-
-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
-# doxygen will generate a caller dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable caller
-# graphs for selected functions only using the \callergraph command.
-
-CALLER_GRAPH           = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will generate a graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES
-# then doxygen will show the dependencies a directory has on other directories
-# in a graphical way. The dependency relations are determined by the #include
-# relations between the files in the directories.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. Possible values are svg, png, jpg, or gif.
-# If left blank png will be used. If you choose svg you need to set
-# HTML_FILE_EXTENSION to xhtml in order to make the SVG files
-# visible in IE 9+ (other browsers do not have this requirement).
-
-DOT_IMAGE_FORMAT       = svg
-
-# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
-# enable generation of interactive SVG images that allow zooming and panning.
-# Note that this requires a modern browser other than Internet Explorer.
-# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you
-# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files
-# visible. Older versions of IE do not have SVG support.
-
-INTERACTIVE_SVG        = YES
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found in the path.
-
-DOT_PATH               =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
-
-DOTFILE_DIRS           =
-
-# The MSCFILE_DIRS tag can be used to specify one or more directories that
-# contain msc files that are included in the documentation (see the
-# \mscfile command).
-
-MSCFILE_DIRS           =
-
-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
-# nodes that will be shown in the graph. If the number of nodes in a graph
-# becomes larger than this value, doxygen will truncate the graph, which is
-# visualized by representing a node as a red box. Note that doxygen if the
-# number of direct children of the root node in a graph is already larger than
-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
-# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-
-DOT_GRAPH_MAX_NODES    = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
-# graphs generated by dot. A depth value of 3 means that only nodes reachable
-# from the root by following a path via at most 3 edges will be shown. Nodes
-# that lay further from the root node will be omitted. Note that setting this
-# option to 1 or 2 may greatly reduce the computation time needed for large
-# code bases. Also note that the size of a graph can be further restricted by
-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-
-MAX_DOT_GRAPH_DEPTH    = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, because dot on Windows does not
-# seem to support this out of the box. Warning: Depending on the platform used,
-# enabling this option may lead to badly anti-aliased labels on the edges of
-# a graph (i.e. they become hard to read).
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10)
-# support this, this feature is disabled by default.
-
-DOT_MULTI_TARGETS      = NO
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermediate dot files that are used to generate
-# the various graphs.
-
-DOT_CLEANUP            = YES
diff -pruN 6.13.0-1/CMakeLists.txt 6.17.0-0ubuntu1/CMakeLists.txt
--- 6.13.0-1/CMakeLists.txt	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/CMakeLists.txt	2025-08-01 10:40:12.000000000 +0000
@@ -1,10 +1,10 @@
 cmake_minimum_required(VERSION 3.16)
 
-set(KF_VERSION "6.13.0") # handled by release scripts
+set(KF_VERSION "6.17.0") # handled by release scripts
 project(NetworkManagerQt VERSION ${KF_VERSION})
 
 include(FeatureSummary)
-find_package(ECM 6.13.0  NO_MODULE)
+find_package(ECM 6.17.0  NO_MODULE)
 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules")
 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES)
 
@@ -22,7 +22,7 @@ include(KDECMakeSettings)
 include(KDEGitCommitHooks)
 include(ECMDeprecationSettings)
 
-set(REQUIRED_QT_VERSION 6.6.0)
+set(REQUIRED_QT_VERSION 6.7.0)
 find_package(Qt6 ${REQUIRED_QT_VERSION} REQUIRED Core DBus Network Qml)
 
 remove_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_FROM_BYTEARRAY)
@@ -30,19 +30,16 @@ remove_definitions(-DQT_NO_CAST_FROM_ASC
 include(ECMGenerateExportHeader)
 include(ECMSetupVersion)
 include(ECMGenerateHeaders)
-include(ECMAddQch)
 include(ECMQtDeclareLoggingCategory)
 include(ECMQmlModule)
-
-option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF)
-add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)")
+include(ECMGenerateQDoc)
 
 ecm_setup_version(PROJECT VARIABLE_PREFIX NETWORKMANAGERQT
                         VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/networkmanagerqt_version.h"
                         PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF6NetworkManagerQtConfigVersion.cmake"
                         SOVERSION 6)
 ecm_set_disabled_deprecation_versions(
-    QT 6.9.0
+    QT 6.10.0
 )
 
 # Enable unit testing
@@ -61,16 +58,6 @@ endif(BUILD_EXAMPLES)
 # create a Config.cmake and a ConfigVersion.cmake file and install them
 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6NetworkManagerQt")
 
-if (BUILD_QCH)
-    ecm_install_qch_export(
-        TARGETS KF6NetworkManagerQt_QCH
-        FILE KF6NetworkManagerQtQchTargets.cmake
-        DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
-        COMPONENT Devel
-    )
-    set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF6NetworkManagerQtQchTargets.cmake\")")
-endif()
-
 include(CMakePackageConfigHelpers)
 
 configure_package_config_file(
diff -pruN 6.13.0-1/KF6NetworkManagerQtConfig.cmake.in 6.17.0-0ubuntu1/KF6NetworkManagerQtConfig.cmake.in
--- 6.13.0-1/KF6NetworkManagerQtConfig.cmake.in	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/KF6NetworkManagerQtConfig.cmake.in	2025-08-01 10:40:12.000000000 +0000
@@ -10,4 +10,3 @@ pkg_search_module(NetworkManager REQUIRE
 pkg_search_module(Gio REQUIRED IMPORTED_TARGET gio-2.0)
 
 include("${CMAKE_CURRENT_LIST_DIR}/KF6NetworkManagerQtTargets.cmake")
-@PACKAGE_INCLUDE_QCHTARGETS@
diff -pruN 6.13.0-1/debian/changelog 6.17.0-0ubuntu1/debian/changelog
--- 6.13.0-1/debian/changelog	2025-04-12 17:33:40.000000000 +0000
+++ 6.17.0-0ubuntu1/debian/changelog	2025-08-08 17:19:05.000000000 +0000
@@ -1,48 +1,71 @@
-kf6-networkmanager-qt (6.13.0-1) unstable; urgency=medium
+kf6-networkmanager-qt (6.17.0-0ubuntu1) questing; urgency=medium
 
-  [ Patrick Franz ]
-  * New upstream release (6.13.0).
-  * Bump Standards-Version to 4.7.2 (No changes needed).
-  * Update build-deps and deps with the info from cmake.
-  * Update symbols from buildlogs.
-  * Update d/copyright.
+  * New upstream release (6.17.0)
 
- -- Patrick Franz <deltaone@debian.org>  Sat, 12 Apr 2025 19:33:40 +0200
+ -- Rik Mills <rikmills@kde.org>  Fri, 08 Aug 2025 18:19:05 +0100
 
-kf6-networkmanager-qt (6.11.0-1) unstable; urgency=medium
+kf6-networkmanager-qt (6.16.0-0ubuntu1) questing; urgency=medium
 
-  [ Aurélien COUDERC ]
-  * New upstream release (6.11.0).
-  * Update build-deps and deps with the info from cmake.
+  * New upstream release (6.16.0)
 
- -- Aurélien COUDERC <coucouf@debian.org>  Sat, 15 Feb 2025 16:59:46 +0100
+ -- Rik Mills <rikmills@kde.org>  Fri, 11 Jul 2025 16:49:22 +0100
 
-kf6-networkmanager-qt (6.10.0-1) unstable; urgency=medium
+kf6-networkmanager-qt (6.15.0-0ubuntu1) questing; urgency=medium
 
-  [ Aurélien COUDERC ]
-  * New upstream release (6.9.0).
-  * Update build-deps and deps with the info from cmake.
-  * New upstream release (6.10.0).
-  * Update build-deps and deps with the info from cmake.
-  * Update symbols from build for 6.10.0.
+  * New upstream release (6.15.0)
+  * Comment out .install for docs packages for now, as the qch docs are
+    currently not buildable in Ubuntu.
 
- -- Aurélien COUDERC <coucouf@debian.org>  Fri, 10 Jan 2025 23:23:44 +0100
+ -- Rik Mills <rikmills@kde.org>  Fri, 13 Jun 2025 16:36:30 +0100
 
-kf6-networkmanager-qt (6.8.0-1) unstable; urgency=medium
+kf6-networkmanager-qt (6.14.0-0ubuntu1) questing; urgency=medium
 
-  [ Aurélien COUDERC ]
-  * New upstream release (6.8.0).
-  * Update build-deps and deps with the info from cmake.
-  * Release to unstable.
+  * New upstream release (6.14.0)
 
- -- Aurélien COUDERC <coucouf@debian.org>  Wed, 04 Dec 2024 12:00:45 +0100
+ -- Rik Mills <rikmills@kde.org>  Sat, 10 May 2025 07:01:37 +0100
 
-kf6-networkmanager-qt (6.7.0-1) experimental; urgency=medium
+kf6-networkmanager-qt (6.12.0-0ubuntu1) plucky; urgency=medium
 
-  * Team upload.
-  * New upstream release.
+  * New upstream release (6.12.0)
+  * Update symbols from build logs.
+
+ -- Rik Mills <rikmills@kde.org>  Tue, 18 Mar 2025 10:55:56 +0000
+
+kf6-networkmanager-qt (6.11.0-0ubuntu1) plucky; urgency=medium
+
+  * New upstream release (6.11.0)
+
+ -- Rik Mills <rikmills@kde.org>  Fri, 14 Feb 2025 16:50:58 +0000
+
+kf6-networkmanager-qt (6.10.0-0ubuntu1) plucky; urgency=medium
+
+  * New upstream release (6.10.0)
+  * Update symbols from build logs.
+  * Disable acc test for now.
+
+ -- Rik Mills <rikmills@kde.org>  Thu, 09 Jan 2025 12:22:16 +0000
 
- -- Simon Quigley <tsimonq2@debian.org>  Sun, 03 Nov 2024 19:29:28 -0600
+kf6-networkmanager-qt (6.9.0-0ubuntu1) plucky; urgency=medium
+
+  * New upstream release (6.9.0)
+
+ -- Rik Mills <rikmills@kde.org>  Fri, 13 Dec 2024 14:50:05 +0000
+
+kf6-networkmanager-qt (6.8.0-0ubuntu2) plucky; urgency=medium
+
+  * Merge changes from 6.6.0-2 in Debian unstable.
+    - Use dh_qmldeps to detect QML dependencies.
+    - Add qml6-module packages to -dev package for QML dependency
+      detection.
+
+ -- Rik Mills <rikmills@kde.org>  Sun, 01 Dec 2024 13:58:55 +0000
+
+kf6-networkmanager-qt (6.8.0-0ubuntu1) plucky; urgency=medium
+
+  * New upstream release (6.7.0)
+  * New upstream release (6.8.0)
+
+ -- Rik Mills <rikmills@kde.org>  Fri, 08 Nov 2024 16:39:36 +0000
 
 kf6-networkmanager-qt (6.6.0-2) unstable; urgency=medium
 
@@ -60,6 +83,12 @@ kf6-networkmanager-qt (6.6.0-1) unstable
 
  -- Aurélien COUDERC <coucouf@debian.org>  Fri, 06 Sep 2024 23:09:09 +0200
 
+kf6-networkmanager-qt (6.6.0-0ubuntu1) oracular; urgency=medium
+
+  * New upstream release (6.6.0)
+
+ -- Scarlett Moore <sgmoore@debian.org>  Fri, 20 Sep 2024 19:08:59 +0100
+
 kf6-networkmanager-qt (6.5.0-2) unstable; urgency=medium
 
   * Team upload.
@@ -79,6 +108,12 @@ kf6-networkmanager-qt (6.5.0-1) unstable
 
  -- Aurélien COUDERC <coucouf@debian.org>  Sat, 10 Aug 2024 23:22:01 +0200
 
+kf6-networkmanager-qt (6.5.0-0ubuntu1) oracular; urgency=medium
+
+  * New upstream release (6.5.0)
+
+ -- Rik Mills <rikmills@kde.org>  Tue, 13 Aug 2024 19:25:18 +0100
+
 kf6-networkmanager-qt (6.4.0-1) experimental; urgency=medium
 
   [ Aurélien COUDERC ]
@@ -87,6 +122,14 @@ kf6-networkmanager-qt (6.4.0-1) experime
 
  -- Aurélien COUDERC <coucouf@debian.org>  Fri, 19 Jul 2024 09:24:16 +0200
 
+kf6-networkmanager-qt (6.4.0-0ubuntu1) oracular; urgency=medium
+
+  * New upstream release (6.4.0)
+  * Pass gcc option -std=c++17 to acc autopkgtests
+  * Remove testsuite autopkgtest
+
+ -- José Manuel Santamaría Lema <panfaust@gmail.com>  Sat, 13 Jul 2024 16:36:35 +0100
+
 kf6-networkmanager-qt (6.3.0-1) experimental; urgency=medium
 
   [ Patrick Franz ]
diff -pruN 6.13.0-1/debian/control 6.17.0-0ubuntu1/debian/control
--- 6.13.0-1/debian/control	2025-04-06 17:32:58.000000000 +0000
+++ 6.17.0-0ubuntu1/debian/control	2025-08-08 17:19:05.000000000 +0000
@@ -1,25 +1,26 @@
 Source: kf6-networkmanager-qt
 Section: libs
 Priority: optional
-Maintainer: Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
+Maintainer: Kubuntu Developers <kubuntu-devel@lists.ubuntu.com>
+XSBC-Original-Maintainer: Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
 Uploaders: Aurélien COUDERC <coucouf@debian.org>,
            Patrick Franz <deltaone@debian.org>,
-Build-Depends: debhelper-compat (= 13),
+Build-Depends: cmake (>= 3.16~),
+               debhelper-compat (= 13),
                dh-sequence-kf6,
                dh-sequence-pkgkde-symbolshelper,
                dh-sequence-qmldeps,
-               cmake (>= 3.16~),
                doxygen,
-               extra-cmake-modules (>= 6.13.0~),
+               extra-cmake-modules (>= 6.17.0~),
                libnm-dev (>= 1.4.0~),
                pkgconf,
-               qt6-base-dev (>= 6.6.0~),
-               qt6-declarative-dev (>= 6.6.0~),
+               qt6-base-dev (>= 6.5.0+dfsg~),
+               qt6-declarative-dev (>= 6.5.0+dfsg~),
                qt6-tools-dev (>= 6.5.0~),
-Standards-Version: 4.7.2
+Standards-Version: 4.7.0
 Homepage: https://invent.kde.org/frameworks/networkmanager-qt
-Vcs-Browser: https://salsa.debian.org/qt-kde-team/kde/kf6-networkmanager-qt
-Vcs-Git: https://salsa.debian.org/qt-kde-team/kde/kf6-networkmanager-qt.git
+Vcs-Browser: https://code.launchpad.net/~kubuntu-packagers/kubuntu-packaging/+git/kf6-networkmanager-qt
+Vcs-Git: https://git.launchpad.net/~kubuntu-packagers/kubuntu-packaging/+git/kf6-networkmanager-qt
 Rules-Requires-Root: no
 
 Package: libkf6networkmanagerqt-dev
@@ -29,7 +30,7 @@ Multi-Arch: same
 Depends: libkf6networkmanagerqt6 (= ${binary:Version}),
          libnm-dev (>= 1.4.0~),
          qml6-module-org-kde-networkmanager (= ${binary:Version}),
-         qt6-base-dev (>= 6.6.0~),
+         qt6-base-dev (>= 6.5.0+dfsg~),
          ${misc:Depends},
 Recommends: libkf6networkmanagerqt-doc (= ${source:Version}),
 Description: Qt wrapper for NetworkManager - devel files
diff -pruN 6.13.0-1/debian/copyright 6.17.0-0ubuntu1/debian/copyright
--- 6.13.0-1/debian/copyright	2025-04-11 19:44:42.000000000 +0000
+++ 6.17.0-0ubuntu1/debian/copyright	2025-08-08 17:19:05.000000000 +0000
@@ -79,7 +79,10 @@ License: LGPL-2.1-or-later
  Lesser General Public License for more details.
  .
  You should have received a copy of the GNU Lesser General Public
- License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301  USA Also add information on how to contact you by
+ electronic and paper mail.
  .
  On Debian systems, the complete text of the GNU Lesser General
  Public License version 2.1 can be found in
diff -pruN 6.13.0-1/debian/libkf6networkmanagerqt-doc.install 6.17.0-0ubuntu1/debian/libkf6networkmanagerqt-doc.install
--- 6.13.0-1/debian/libkf6networkmanagerqt-doc.install	2024-12-08 04:09:21.000000000 +0000
+++ 6.17.0-0ubuntu1/debian/libkf6networkmanagerqt-doc.install	2025-08-08 17:19:05.000000000 +0000
@@ -1,2 +1,2 @@
-usr/share/qt6/doc/KF6NetworkManagerQt.qch
-usr/share/qt6/doc/KF6NetworkManagerQt.tags
+#usr/share/qt6/doc/KF6NetworkManagerQt.qch
+#usr/share/qt6/doc/KF6NetworkManagerQt.tags
diff -pruN 6.13.0-1/debian/libkf6networkmanagerqt6.symbols 6.17.0-0ubuntu1/debian/libkf6networkmanagerqt6.symbols
--- 6.13.0-1/debian/libkf6networkmanagerqt6.symbols	2025-04-06 17:32:58.000000000 +0000
+++ 6.17.0-0ubuntu1/debian/libkf6networkmanagerqt6.symbols	2025-08-08 17:19:05.000000000 +0000
@@ -1,4 +1,4 @@
-# SymbolsHelper-Confirmed: 6.13.0 amd64
+# SymbolsHelper-Confirmed: 6.12.0 amd64 arm64 armhf ppc64el riscv64 s390x
 libKF6NetworkManagerQt.so.6 libkf6networkmanagerqt6 #MINVER#
 * Build-Depends-Package: libkf6networkmanagerqt-dev
  _ZGVZN9QMetaType21registerConverterImplI14QSharedPointerIN14NetworkManager10ConnectionEEP7QObjectEEbSt8functionIFbPKvPvEES_S_E10unregister@Base 6.0.0
@@ -214,7 +214,7 @@ libKF6NetworkManagerQt.so.6 libkf6networ
  _ZN14NetworkManager11AccessPoint15lastSeenChangedEi@Base 6.0.0
  _ZN14NetworkManager11AccessPoint15rsnFlagsChangedE6QFlagsINS0_7WpaFlagEE@Base 6.0.0
  _ZN14NetworkManager11AccessPoint15wpaFlagsChangedE6QFlagsINS0_7WpaFlagEE@Base 6.0.0
- _ZN14NetworkManager11AccessPoint16bandwidthChangedEj@Base 6.13.0
+ _ZN14NetworkManager11AccessPoint16bandwidthChangedEj@Base 6.12.0
  _ZN14NetworkManager11AccessPoint16frequencyChangedEj@Base 6.0.0
  _ZN14NetworkManager11AccessPoint16staticMetaObjectE@Base 6.0.0
  _ZN14NetworkManager11AccessPoint19capabilitiesChangedE6QFlagsINS0_10CapabilityEE@Base 6.0.0
@@ -1474,7 +1474,7 @@ libKF6NetworkManagerQt.so.6 libkf6networ
  _ZNK14NetworkManager11AccessPoint8lastSeenEv@Base 6.0.0
  _ZNK14NetworkManager11AccessPoint8rsnFlagsEv@Base 6.0.0
  _ZNK14NetworkManager11AccessPoint8wpaFlagsEv@Base 6.0.0
- _ZNK14NetworkManager11AccessPoint9bandwidthEv@Base 6.13.0
+ _ZNK14NetworkManager11AccessPoint9bandwidthEv@Base 6.12.0
  _ZNK14NetworkManager11AccessPoint9frequencyEv@Base 6.0.0
  _ZNK14NetworkManager11AdslSetting11needSecretsEb@Base 6.0.0
  _ZNK14NetworkManager11AdslSetting13encapsulationEv@Base 6.0.0
diff -pruN 6.13.0-1/debian/tests/control 6.17.0-0ubuntu1/debian/tests/control
--- 6.13.0-1/debian/tests/control	2024-12-08 04:09:21.000000000 +0000
+++ 6.17.0-0ubuntu1/debian/tests/control	1970-01-01 00:00:00.000000000 +0000
@@ -1,3 +0,0 @@
-Tests: acc
-Depends: dh-acc, exuberant-ctags, @
-Restrictions: allow-stderr
diff -pruN 6.13.0-1/debian/tests/control.disable 6.17.0-0ubuntu1/debian/tests/control.disable
--- 6.13.0-1/debian/tests/control.disable	1970-01-01 00:00:00.000000000 +0000
+++ 6.17.0-0ubuntu1/debian/tests/control.disable	2025-08-08 17:19:05.000000000 +0000
@@ -0,0 +1,3 @@
+Tests: acc
+Depends: dh-acc, exuberant-ctags, @
+Restrictions: allow-stderr
diff -pruN 6.13.0-1/doc/api/Doxyfile.local 6.17.0-0ubuntu1/doc/api/Doxyfile.local
--- 6.13.0-1/doc/api/Doxyfile.local	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/doc/api/Doxyfile.local	1970-01-01 00:00:00.000000000 +0000
@@ -1,12 +0,0 @@
-EXTRACT_ALL = NO
-WARN_NO_PARAMDOC = YES
-WARN_IF_UNDOCUMENTED = YES
-
-## Sort methods to make 'same as above' easier.
-SORT_MEMBER_DOCS = YES
-
-## Predefined macros, to remove all the _EXPORT things
-## from function definitions.
-PREDEFINED = NETWORKMANAGERQT_EXPORT="" \
-    Q_SLOTS="slots" \
-    Q_SIGNALS="signals"
diff -pruN 6.13.0-1/src/CMakeLists.txt 6.17.0-0ubuntu1/src/CMakeLists.txt
--- 6.13.0-1/src/CMakeLists.txt	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/CMakeLists.txt	2025-08-01 10:40:12.000000000 +0000
@@ -266,6 +266,7 @@ ecm_add_qml_module(networkmanagerqtqml U
 target_sources(networkmanagerqtqml PRIVATE qmltypes.h)
 target_link_libraries(networkmanagerqtqml PRIVATE Qt6::Qml KF6NetworkManagerQt)
 ecm_finalize_qml_module(networkmanagerqtqml)
+ecm_generate_qdoc(KF6NetworkManagerQt networkmanager-qt.qdocconf)
 
 install(TARGETS KF6NetworkManagerQt EXPORT KF6NetworkManagerQtTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
 
@@ -287,28 +288,3 @@ ecm_qt_install_logging_categories(
     FILE networkmanagerqt.categories
     DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
 )
-
-if(BUILD_QCH)
-    ecm_add_qch(
-        KF6NetworkManagerQt_QCH
-        NAME NetworkManagerQt
-        BASE_NAME KF6NetworkManagerQt
-        VERSION ${KF_VERSION}
-        ORG_DOMAIN org.kde
-        SOURCES # using only public headers, to cover only public API
-            ${NetworkManagerQt_HEADERS}
-            ${NetworkManagerQt_SETTINGS_HEADERS}
-        MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
-        LINK_QCHS
-            Qt6Core_QCH
-            Qt6Network_QCH
-            Qt6DBus_QCH
-        BLANK_MACROS
-            NETWORKMANAGERQT_EXPORT
-            NETWORKMANAGERQT_DEPRECATED
-            NETWORKMANAGERQT_DEPRECATED_EXPORT
-        TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
-        QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
-        COMPONENT Devel
-    )
-endif()
diff -pruN 6.13.0-1/src/accesspoint.h 6.17.0-0ubuntu1/src/accesspoint.h
--- 6.13.0-1/src/accesspoint.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/accesspoint.h	2025-08-01 10:40:12.000000000 +0000
@@ -21,33 +21,73 @@ namespace NetworkManager
 {
 class AccessPointPrivate;
 
-/**
- * Represents an access point
+/*!
+ * \class NetworkManager::AccessPoint
+ * \inheaderfile NetworkManagerQt/AccessPoint
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents an access point.
  */
 class NETWORKMANAGERQT_EXPORT AccessPoint : public QObject
 {
     Q_OBJECT
 public:
+    /*!
+     * \typedef NetworkManager::AccessPoint::Ptr
+     */
     typedef QSharedPointer<AccessPoint> Ptr;
+    /*!
+     * \typedef NetworkManager::AccessPoint::List
+     */
     typedef QList<Ptr> List;
-    /**
+    /*!
+     *
      * The access point's current operating mode
+     *
+     * \value Unknown
+     *        Not associated with a network
+     * \value Adhoc
+     *        A station in an infrastructure wireless network
+     * \value ApMode
+     *        Access point in an infrastructure network
      */
     enum OperationMode {
-        Unknown = 0, /**< not associated with a network */
-        Adhoc, /**< part of an adhoc network */
-        Infra, /**< a station in an infrastructure wireless network */
-        ApMode, /**< access point in an infrastructure network */
+        Unknown = 0,
+        Adhoc,
+        Infra,
+        ApMode,
     };
-    /**
+    /*!
+     *
      * General capabilities of an access point
+     *
+     * \value None
+     *        Null capability - says nothing about the access point
+     * \value Privacy
+     *        Access point supports privacy measures
      */
     enum Capability {
-        None = 0x0, /**< Null capability - says nothing about the access point */
-        Privacy = 0x1, /**< Access point supports privacy measures */
+        None = 0x0,
+        Privacy = 0x1,
     };
-    /**
+    /*!
+     *
      * Flags describing the access point's capabilities according to WPA (Wifi Protected Access)
+     *
+     * \value PairWep40
+     * \value PairWep104
+     * \value PairTkip
+     * \value PairCcmp
+     * \value GroupWep40
+     * \value GroupWep104
+     * \value GroupTkip
+     * \value GroupCcmp
+     * \value KeyMgmtPsk
+     * \value KeyMgmt8021x
+     * \value KeyMgmtSAE
+     * \value KeyMgmtOWE
+     * \value KeyMgmtOWETM
+     * \value KeyMgmtEapSuiteB192
      */
     enum WpaFlag {
         PairWep40 = 0x1,
@@ -69,136 +109,136 @@ public:
     Q_FLAG(Capabilities)
     Q_DECLARE_FLAGS(WpaFlags, WpaFlag)
     Q_FLAG(WpaFlags)
+    /*!
+     */
     explicit AccessPoint(const QString &path, QObject *parent = nullptr);
     ~AccessPoint() override;
 
-    /**
-     * @return path of the access point
+    /*!
+     * \brief Returns path of the access point.
      */
     QString uni() const;
-    /**
-     * @return capabilities of an access point
+    /*!
+     * \brief Returns capabilities of an access point.
      */
     Capabilities capabilities() const;
-    /**
-     * @return flags describing the access point's capabilities according to WPA (Wifi Protected Access).
-     * @see WpaFlag
+    /*!
+     * \brief Returns flags describing the access point's capabilities according to WPA (Wifi Protected Access).
+     * \sa WpaFlag
      */
     AccessPoint::WpaFlags wpaFlags() const;
-    /**
-     * @return Flags describing the access point's capabilities according to the RSN (Robust Secure Network) protocol.
-     * @see WpaFlag
+    /*!
+     * \brief Returns Flags describing the access point's capabilities according to the RSN (Robust Secure Network) protocol.
+     * \sa WpaFlag
      */
     AccessPoint::WpaFlags rsnFlags() const;
-    /**
-     * @return The Service Set Identifier identifying the access point.
+    /*!
+     * \brief Returns The Service Set Identifier identifying the access point.
      */
     QString ssid() const;
-    /**
-     * @return raw SSID, encoded as a byte array
+    /*!
+     * \brief Returns raw SSID, encoded as a byte array.
      */
     QByteArray rawSsid() const;
-    /**
-     * @return The radio channel frequency in use by the access point, in MHz.
+    /*!
+     * \brief Returns The radio channel frequency in use by the access point, in MHz.
      */
     uint frequency() const;
-    /**
-     * @return The hardware address (BSSID) of the access point.
+    /*!
+     * \brief Returns The hardware address (BSSID) of the access point.
      */
     QString hardwareAddress() const;
-    /**
-     * @return The maximum bitrate this access point is capable of, in kilobits/second (Kb/s).
+    /*!
+     * \brief Returns The maximum bitrate this access point is capable of, in kilobits/second (Kb/s).
      */
     uint maxBitRate() const;
-    /**
-     * @return Describes the operating mode of the access point.
+    /*!
+     * \brief Returns Describes the operating mode of the access point.
      */
     OperationMode mode() const;
-    /**
-     * @return The current signal quality of the access point, in percent.
+    /*!
+     * \brief Returns The current signal quality of the access point, in percent.
      */
     int signalStrength() const;
-    /**
-     * @return The timestamp (in CLOCK_BOOTTIME seconds) for the last time the access point
+    /*!
+     * \brief Returns The timestamp (in CLOCK_BOOTTIME seconds) for the last time the access point
      * was found in scan results. A value of -1 means the access point has never been found in scan results.
-     * @since 5.14.0
+     * \since 5.14.0
      */
     int lastSeen() const;
-    /**
+    /*!
      * The bandwidth announced by the access point in MHz.
-     * @since 6.12.0.
+     * \since 6.12.0.
      */
     uint bandwidth() const;
-    /**
-     * Helper method to convert wire representation of operation @p mode to enum
+    /*!
+     * \brief Helper method to convert wire representation of operation \a mode to enum.
      */
     static OperationMode convertOperationMode(uint mode);
 
 Q_SIGNALS:
-    /**
-     * This signal is emitted when the signal strength of this network has changed.
+    /*!
+     * \brief This signal is emitted when the signal strength of this network has changed.
      *
-     * @param strength the new signal strength value for this network
+     * \a strength the new signal strength value for this network
      */
     void signalStrengthChanged(int strength);
 
-    /**
-     * This signal is emitted when the bitrate of this network has changed.
+    /*!
+     * \brief This signal is emitted when the bitrate of this network has changed.
      *
-     * @param bitrate the new bitrate value for this network
+     * \a bitrate the new bitrate value for this network
      */
     void bitRateChanged(int bitrate);
 
-    /**
-     * This signal is emitted when the capabilities of this network have changed.
+    /*!
+     * \brief This signal is emitted when the capabilities of this network have changed.
      *
-     * @param caps the new capabilities
+     * \a caps the new capabilities
      */
     void capabilitiesChanged(AccessPoint::Capabilities caps);
 
-    /**
-     * This signal is emitted when the WPA flags in use by this access point change
+    /*!
+     * \brief This signal is emitted when the WPA flags in use by this access point change.
      *
-     * @param flags the new flags
+     * \a flags the new flags
      */
     void wpaFlagsChanged(AccessPoint::WpaFlags flags);
 
-    /**
-     * This signal is emitted when the RSN(WPA2) flags in use by this access point change
+    /*!
+     * \brief This signal is emitted when the RSN(WPA2) flags in use by this access point change.
      *
-     * @param flags the new flags
+     * \a flags the new flags
      */
     void rsnFlagsChanged(AccessPoint::WpaFlags flags);
-    /**
-     * This signal is emitted when the ssid of this Access Point changes
+    /*!
+     * \brief This signal is emitted when the ssid of this Access Point changes.
      *
-     * @param ssid the new SSID
+     * \a ssid the new SSID
      */
     void ssidChanged(const QString &ssid);
 
-    /**
-     * This signal is emitted when the frequency used by this Access Point changes
+    /*!
+     * \brief This signal is emitted when the frequency used by this Access Point changes.
      *
-     * @param frequency the new frequency
+     * \a frequency the new frequency
      */
     void frequencyChanged(uint frequency);
 
-    /**
-     * This signal is emitted when the timestamp for the last time the access point was found
-     * in scan results changes
-     *
-     * @param lastSeen the timestamp for the last time the access point was found in scan results.
-     * @since 5.14.0
-     * @see lastSeen
+    /*!
+     * \brief This signal is emitted when the timestamp for the last time the access point was found
+     * in scan results changes.
+     *
+     * \a lastSeen the timestamp for the last time the access point was found in scan results.
+     * \since 5.14.0
      */
     void lastSeenChanged(int lastSeen);
 
-    /**
+    /*!
      * This signal is emitted when bandwidth announced by the access point changes.
      *
-     * @param lastSeen the bandwidth announced by the access point in MHz.
-     * @since 6.12.0
-     * @see bandwidth
+     * \a lastSeen the bandwidth announced by the access point in MHz.
+     * \since 6.12.0
      */
     void bandwidthChanged(uint bandwidth);
 
diff -pruN 6.13.0-1/src/activeconnection.h 6.17.0-0ubuntu1/src/activeconnection.h
--- 6.13.0-1/src/activeconnection.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/activeconnection.h	2025-08-01 10:40:12.000000000 +0000
@@ -22,204 +22,262 @@ namespace NetworkManager
 {
 class ActiveConnectionPrivate;
 
-/**
- * An active connection
+/*!
+ * \class NetworkManager::ActiveConnection
+ * \inheaderfile NetworkManagerQt/ActiveConnection
+ * \inmodule NetworkManagerQt
+ *
+ * \brief An active connection.
  */
 class NETWORKMANAGERQT_EXPORT ActiveConnection : public QObject
 {
     Q_OBJECT
 
 public:
+    /*!
+     * \typedef NetworkManager::ActiveConnection::Ptr
+     */
     typedef QSharedPointer<ActiveConnection> Ptr;
+    /*!
+     * \typedef NetworkManager::ActiveConnection::List
+     */
     typedef QList<Ptr> List;
-    /**
+
+    /*!
+     *
      * Enum describing possible active connection states
+     *
+     * \value Unknown
+     *        The active connection is in an unknown state
+     * \value Activating
+     *        The connection is activating
+     * \value Activated
+     *        The connection is activated
+     * \value Deactivating
+     *        The connection is being torn down and cleaned up
+     * \value Deactivated
+     *        The connection is no longer active
      */
     enum State {
-        Unknown = 0, /**< The active connection is in an unknown state */
-        Activating, /**< The connection is activating */
-        Activated, /**< The connection is activated */
-        Deactivating, /**< The connection is being torn down and cleaned up */
-        Deactivated, /**< The connection is no longer active */
+        Unknown = 0,
+        Activating,
+        Activated,
+        Deactivating,
+        Deactivated,
     };
 
+    /*!
+     *
+     * \value UknownReason
+     *        The reason for the active connection state change is unknown
+     * \value None
+     *        No reason was given for the active connection state change
+     * \value UserDisconnected
+     *        The active connection changed state because the user disconnected it
+     * \value DeviceDisconnected
+     *        The active connection changed state because the device it was using was disconnected
+     * \value ServiceStopped
+     *        The service providing the VPN connection was stopped
+     * \value IpConfigInvalid
+     *        The IP config of the active connection was invalid
+     * \value ConnectTimeout
+     *        The connection attempt to the VPN service timed out
+     * \value ServiceStartTimeout
+     *        A timeout occurred while starting the service providing the VPN connection
+     * \value ServiceStartFailed
+     *        Starting the service providing the VPN connection failed
+     * \value NoSecrets
+     *        Necessary secrets for the connection were not provided
+     * \value LoginFailed
+     *        Authentication to the server failed
+     * \value ConnectionRemoved
+     *        The connection was deleted from settings
+     * \value DependencyFailed
+     *        Master connection of this connection failed to activate
+     * \value DeviceRealizeFailed
+     *        Could not create the software device link
+     * \value DeviceRemoved
+     *        The device this connection depended on disappeared
+     */
     enum Reason {
-        UknownReason = 0, /**< The reason for the active connection state change is unknown */
-        None, /**< No reason was given for the active connection state change */
-        UserDisconnected, /**< The active connection changed state because the user disconnected it */
-        DeviceDisconnected, /**< The active connection changed state because the device it was using was disconnected */
-        ServiceStopped, /**< The service providing the VPN connection was stopped */
-        IpConfigInvalid, /**< The IP config of the active connection was invalid */
-        ConnectTimeout, /**< The connection attempt to the VPN service timed out */
-        ServiceStartTimeout, /**< A timeout occurred while starting the service providing the VPN connection */
-        ServiceStartFailed, /**< Starting the service providing the VPN connection failed */
-        NoSecrets, /**< Necessary secrets for the connection were not provided */
-        LoginFailed, /**< Authentication to the server failed */
-        ConnectionRemoved, /**< The connection was deleted from settings */
-        DependencyFailed, /**< Master connection of this connection failed to activate */
-        DeviceRealizeFailed, /**< Could not create the software device link */
-        DeviceRemoved, /**< The device this connection depended on disappeared */
+        UknownReason = 0,
+        None,
+        UserDisconnected,
+        DeviceDisconnected,
+        ServiceStopped,
+        IpConfigInvalid,
+        ConnectTimeout,
+        ServiceStartTimeout,
+        ServiceStartFailed,
+        NoSecrets,
+        LoginFailed,
+        ConnectionRemoved,
+        DependencyFailed,
+        DeviceRealizeFailed,
+        DeviceRemoved,
     };
 
-    /**
+    /*!
      * Creates a new ActiveConnection object.
      *
-     * @param path the DBus path of the device
+     * \a path the DBus path of the device
      */
     explicit ActiveConnection(const QString &path, QObject *parent = nullptr);
 
-    /**
+    /*!
      * Destroys an ActiveConnection object.
      */
     ~ActiveConnection() override;
 
-    /**
+    /*!
      * Returns true is this object holds a valid connection
      */
     bool isValid() const;
-    /**
+    /*!
      * Return path of the connection object
      */
     QString path() const;
-    /**
+    /*!
      * Returns a valid NetworkManager::Connection object
      */
     Connection::Ptr connection() const;
-    /**
+    /*!
      * Whether this connection has the default IPv4 route
      */
     bool default4() const;
-    /**
+    /*!
      * Whether this connection has the default IPv6 route
      */
     bool default6() const;
-    /**
+    /*!
      * The Ip4Config object describing the configuration of the
      * connection. Only valid when the connection is in the
      * NM_ACTIVE_CONNECTION_STATE_ACTIVATED state
      */
     IpConfig ipV4Config() const;
-    /**
+    /*!
      * The Ip6Config object describing the configuration of the
      * connection. Only valid when the connection is in the
      * NM_ACTIVE_CONNECTION_STATE_ACTIVATED state
      */
     IpConfig ipV6Config() const;
-    /**
+    /*!
      * The Dhcp4Config object describing the DHCP options
      * returned by the DHCP server (assuming the connection used DHCP). Only
      * valid when the connection is in the NM_ACTIVE_CONNECTION_STATE_ACTIVATED
      * state
      */
     Dhcp4Config::Ptr dhcp4Config() const;
-    /**
+    /*!
      * The Dhcp6Config object describing the DHCP options
      * returned by the DHCP server (assuming the connection used DHCP). Only
      * valid when the connection is in the NM_ACTIVE_CONNECTION_STATE_ACTIVATED
      * state
      */
     Dhcp6Config::Ptr dhcp6Config() const;
-    /**
+    /*!
      * The Id of the connection
      */
     QString id() const;
-    /**
+    /*!
      * The type of the connection
      */
     NetworkManager::ConnectionSettings::ConnectionType type() const;
-    /**
+    /*!
      * Returns the uni of master device if the connection is a slave.
      */
     QString master() const;
-    /**
+    /*!
      * The path of the specific object associated with the connection.
      */
     QString specificObject() const;
-    /**
+    /*!
      * The current state of the connection
      */
     NetworkManager::ActiveConnection::State state() const;
-    /**
+    /*!
      * Whether this is a VPN connection
      */
     bool vpn() const;
-    /**
+    /*!
      * The UUID of the connection.
      */
     QString uuid() const;
-    /**
+    /*!
      * List of devices UNIs which are part of this connection.
      */
     QStringList devices() const;
 
 Q_SIGNALS:
-    /**
+    /*!
      * This signal is emitted when the connection path has changed
      */
     void connectionChanged(const NetworkManager::Connection::Ptr &connection);
-    /**
+    /*!
      * The state of the default IPv4 route changed
      */
     void default4Changed(bool isDefault);
-    /**
+    /*!
      * The state of the default IPv6 route changed
      */
     void default6Changed(bool isDefault);
-    /**
+    /*!
      * Emitted when the DHCP configuration for IPv4 of this network has changed.
      */
     void dhcp4ConfigChanged();
-    /**
+    /*!
      * Emitted when the DHCP configuration for IPv6 of this network has changed.
      */
     void dhcp6ConfigChanged();
-    /**
+    /*!
      * Emitted when the IPv4 configuration of this network has changed.
      */
     void ipV4ConfigChanged();
-    /**
+    /*!
      * Emitted when the IPv6 configuration of this network has changed.
      */
     void ipV6ConfigChanged();
-    /**
-     * The @p id changed
+    /*!
+     * The \a id changed
      */
     void idChanged(const QString &id);
-    /**
-     * The @p type changed
+    /*!
+     * The \a type changed
      */
     void typeChanged(NetworkManager::ConnectionSettings::ConnectionType type);
-    /**
+    /*!
      * The master device changed.
      */
     void masterChanged(const QString &uni);
-    /**
-     * The @p path to the specific object changed
+    /*!
+     * The \a path to the specific object changed
      */
     void specificObjectChanged(const QString &path);
-    /**
-     * The @p state changed
+    /*!
+     * The \a state changed
      */
     void stateChanged(NetworkManager::ActiveConnection::State state);
-    /**
-     * The @p state changed because of reason @p reason
+    /*!
+     * The \a state changed because of reason \a reason
      * (never emitted in runtime NM < 1.8.0)
      */
     void stateChangedReason(NetworkManager::ActiveConnection::State state, NetworkManager::ActiveConnection::Reason reason);
-    /**
+    /*!
      * The VPN property changed.
      */
     void vpnChanged(bool isVpn);
-    /**
-     * The @p uuid changed.
+    /*!
+     * The \a uuid changed.
      */
     void uuidChanged(const QString &uuid);
-    /**
+    /*!
      * The list of devices changed.
      */
     void devicesChanged();
 
 protected:
+    /*!
+     */
     NETWORKMANAGERQT_NO_EXPORT explicit ActiveConnection(ActiveConnectionPrivate &dd, QObject *parent = nullptr);
 
     ActiveConnectionPrivate *const d_ptr;
diff -pruN 6.13.0-1/src/adsldevice.h 6.17.0-0ubuntu1/src/adsldevice.h
--- 6.13.0-1/src/adsldevice.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/adsldevice.h	2025-08-01 10:40:12.000000000 +0000
@@ -14,27 +14,42 @@ namespace NetworkManager
 {
 class AdslDevicePrivate;
 
-/**
- * An adsl device interface
+/*!
+ * \class NetworkManager::AdslDevice
+ * \inheaderfile NetworkManagerQt/AdslDevice
+ * \inmodule NetworkManagerQt
+ *
+ * \brief An adsl device interface.
  */
 class NETWORKMANAGERQT_EXPORT AdslDevice : public Device
 {
     Q_OBJECT
+    /*!
+     * \property NetworkManager::AdslDevice::carrier
+     */
     Q_PROPERTY(bool carrier READ carrier NOTIFY carrierChanged)
 public:
+    /*!
+     * \typedef NetworkManager::AdslDevice::Ptr
+     */
     typedef QSharedPointer<AdslDevice> Ptr;
+    /*!
+     * \typedef NetworkManager::AdslDevice::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     explicit AdslDevice(const QString &path, QObject *parent = nullptr);
     ~AdslDevice() override;
 
     Type type() const override;
-    /**
+    /*!
      * Indicates whether the physical carrier is found
      */
     bool carrier() const;
 
 Q_SIGNALS:
-    /**
+    /*!
      * Emitted when the carrier of this device has changed
      */
     void carrierChanged(bool plugged);
diff -pruN 6.13.0-1/src/bluetoothdevice.h 6.17.0-0ubuntu1/src/bluetoothdevice.h
--- 6.13.0-1/src/bluetoothdevice.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/bluetoothdevice.h	2025-08-01 10:40:12.000000000 +0000
@@ -17,64 +17,92 @@ namespace NetworkManager
 {
 class BluetoothDevicePrivate;
 
-/**
- * A bluetooth device interface
+/*!
+ * \class NetworkManager::BluetoothDevice
+ * \inheaderfile NetworkManagerQt/BluetoothDevice
+ * \inmodule NetworkManagerQt
+ *
+ * \brief A bluetooth device interface.
  */
 class NETWORKMANAGERQT_EXPORT BluetoothDevice : public ModemDevice
 {
     Q_OBJECT
 
+    /*!
+     * \property NetworkManager::BluetoothDevice::bluetoothCapabilities
+     */
     Q_PROPERTY(uint bluetoothCapabilities READ bluetoothCapabilities)
+
+    /*!
+     * \property NetworkManager::BluetoothDevice::hardwareAddress
+     */
     Q_PROPERTY(QString hardwareAddress READ hardwareAddress)
+
+    /*!
+     * \property NetworkManager::BluetoothDevice::name
+     */
     Q_PROPERTY(QString name READ name)
 
 public:
+    /*!
+     * \typedef NetworkManager::BluetoothDevice::Ptr
+     */
     typedef QSharedPointer<BluetoothDevice> Ptr;
+    /*!
+     * \typedef NetworkManager::BluetoothDevice::List
+     */
     typedef QList<Ptr> List;
-    /**
+    /*!
+     *
      * Capabilities of the Bluetooth device
+     *
+     * \value NoCapability
+     *        No special capability
+     * \value Dun
+     *        Dial Up Networking profile
+     * \value Pan
+     *        Personal Area Network profile
      */
     enum Capability {
-        NoCapability = 0x0, /**< No special capability */
-        Dun = 0x1, /**< Dial Up Networking profile */
-        Pan = 0x2, /**< Personal Area Network profile */
+        NoCapability = 0x0,
+        Dun = 0x1,
+        Pan = 0x2,
     };
     Q_DECLARE_FLAGS(Capabilities, Capability)
     Q_FLAG(Capabilities)
-    /**
+    /*!
      * Creates a new BluetoothDevice object.
      */
     explicit BluetoothDevice(const QString &path, QObject *parent = nullptr);
-    /**
+    /*!
      * Destroys a BluetoothDevice object.
      */
     ~BluetoothDevice() override;
 
-    /**
+    /*!
      * Retrieves the capabilities supported by this device.
      *
-     * @return the capabilities of the device
-     * @see NetworkManager::BluetoothDevice::Capability
+     * \sa NetworkManager::BluetoothDevice::Capability
      */
     Capabilities bluetoothCapabilities() const;
-    /**
+    /*!
      * The hardware address assigned to the bluetooth interface
      */
     QString hardwareAddress() const;
-    /**
+    /*!
      * Name of the bluetooth interface
      */
     QString name() const;
-    /**
+    /*!
      * The NetworkInterface type.
      *
-     * @return the NetworkManager::Device::Type.  This always returns NetworkManager::Device::Bluetooth
+     * Returns the NetworkManager::Device::Type.  This always returns NetworkManager::Device::Bluetooth
      */
     Type type() const override;
 
 Q_SIGNALS:
-    /**
-     * Emitted when the BT device @p name changes
+    /*!
+     * Emitted when the BT device \a name changes
      */
     void nameChanged(const QString &name);
 
diff -pruN 6.13.0-1/src/bonddevice.h 6.17.0-0ubuntu1/src/bonddevice.h
--- 6.13.0-1/src/bonddevice.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/bonddevice.h	2025-08-01 10:40:12.000000000 +0000
@@ -14,47 +14,71 @@ namespace NetworkManager
 {
 class BondDevicePrivate;
 
-/**
- * A bond device interface
+/*!
+ * \class NetworkManager::BondDevice
+ * \inheaderfile NetworkManagerQt/BondDevice
+ * \inmodule NetworkManagerQt
+ *
+ * \brief A bond device interface.
  */
 class NETWORKMANAGERQT_EXPORT BondDevice : public Device
 {
     Q_OBJECT
+
+    /*!
+     * \property NetworkManager::BondDevice::carrier
+     */
     Q_PROPERTY(bool carrier READ carrier NOTIFY carrierChanged)
+
+    /*!
+     * \property NetworkManager::BondDevice::hwAddress
+     */
     Q_PROPERTY(QString hwAddress READ hwAddress NOTIFY hwAddressChanged)
+
+    /*!
+     * \property NetworkManager::BondDevice::slaves
+     */
     Q_PROPERTY(QStringList slaves READ slaves NOTIFY slavesChanged)
 
 public:
+    /*!
+     * \typedef NetworkManager::BondDevice::Ptr
+     */
     typedef QSharedPointer<BondDevice> Ptr;
+    /*!
+     * \typedef NetworkManager::BondDevice::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     explicit BondDevice(const QString &path, QObject *parent = nullptr);
     ~BondDevice() override;
 
     Type type() const override;
 
-    /**
+    /*!
      * Indicates whether the physical carrier is found
      */
     bool carrier() const;
-    /**
+    /*!
      * Hardware address of the device
      */
     QString hwAddress() const;
-    /**
+    /*!
      * Array of object paths representing devices which are currently slaved to this device
      */
     QStringList slaves() const;
 
 Q_SIGNALS:
-    /**
+    /*!
      * Emitted when the carrier of this device has changed
      */
     void carrierChanged(bool plugged);
-    /**
+    /*!
      * Emitted when the hardware address of this device has changed
      */
     void hwAddressChanged(const QString &address);
-    /**
+    /*!
      * Emitted when the slaves of this device have changed
      */
     void slavesChanged(const QStringList &slaves);
diff -pruN 6.13.0-1/src/bridgedevice.h 6.17.0-0ubuntu1/src/bridgedevice.h
--- 6.13.0-1/src/bridgedevice.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/bridgedevice.h	2025-08-01 10:40:12.000000000 +0000
@@ -14,47 +14,71 @@ namespace NetworkManager
 {
 class BridgeDevicePrivate;
 
-/**
- * A bridge device interface
+/*!
+ * \class NetworkManager::BridgeDevice
+ * \inheaderfile NetworkManagerQt/BridgeDevice
+ * \inmodule NetworkManagerQt
+ *
+ * \brief A bridge device interface.
  */
 class NETWORKMANAGERQT_EXPORT BridgeDevice : public Device
 {
     Q_OBJECT
+
+    /*!
+     * \property NetworkManager::BridgeDevice::carrier
+     */
     Q_PROPERTY(bool carrier READ carrier NOTIFY carrierChanged)
+
+    /*!
+     * \property NetworkManager::BridgeDevice::hwAddress
+     */
     Q_PROPERTY(QString hwAddress READ hwAddress NOTIFY hwAddressChanged)
+
+    /*!
+     * \property NetworkManager::BridgeDevice::slaves
+     */
     Q_PROPERTY(QStringList slaves READ slaves NOTIFY slavesChanged)
 
 public:
+    /*!
+     * \typedef NetworkManager::BridgeDevice::Ptr
+     */
     typedef QSharedPointer<BridgeDevice> Ptr;
+    /*!
+     * \typedef NetworkManager::BridgeDevice::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     explicit BridgeDevice(const QString &path, QObject *parent = nullptr);
     ~BridgeDevice() override;
 
     Type type() const override;
 
-    /**
+    /*!
      * Indicates whether the physical carrier is found
      */
     bool carrier() const;
-    /**
+    /*!
      * Hardware address of the device
      */
     QString hwAddress() const;
-    /**
+    /*!
      * Array of object paths representing devices which are currently slaved to this device
      */
     QStringList slaves() const;
 
 Q_SIGNALS:
-    /**
+    /*!
      * Emitted when the carrier of this device has changed
      */
     void carrierChanged(bool plugged);
-    /**
+    /*!
      * Emitted when the hardware address of this device has changed
      */
     void hwAddressChanged(const QString &address);
-    /**
+    /*!
      * Emitted when the slaves of this device have changed
      */
     void slavesChanged(const QStringList &slaves);
diff -pruN 6.13.0-1/src/connection.h 6.17.0-0ubuntu1/src/connection.h
--- 6.13.0-1/src/connection.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/connection.h	2025-08-01 10:40:12.000000000 +0000
@@ -21,71 +21,81 @@ namespace NetworkManager
 {
 class ConnectionPrivate;
 
-/**
- * This class represents a single network connection configuration.
+/*!
+ * \class NetworkManager::Connection
+ * \inheaderfile NetworkManagerQt/Connection
+ * \inmodule NetworkManagerQt
+ *
+ * \brief This class represents a single network connection configuration.
  */
 class NETWORKMANAGERQT_EXPORT Connection : public QObject
 {
     Q_OBJECT
 public:
+    /*!
+     * \typedef NetworkManager::Connection::Ptr
+     */
     typedef QSharedPointer<Connection> Ptr;
+    /*!
+     * \typedef NetworkManager::Connection::List
+     */
     typedef QList<Ptr> List;
 
-    /**
+    /*!
      * Constructs a connection object for the given path
      */
     explicit Connection(const QString &path, QObject *parent = nullptr);
     ~Connection() override;
 
-    /**
+    /*!
      * Returns if this connection is valid
      */
     bool isValid() const;
 
-    /**
+    /*!
      * Returns the unique identifier of this connection
      */
     QString uuid() const;
 
-    /**
+    /*!
      * Returns the path (DBus) of this connection
      */
     QString path() const;
 
-    /**
+    /*!
      * Returns the name of this connection
      */
     QString name() const;
-    /**
+    /*!
      * If set, indicates that the in-memory state of the
      * connection does not match the on-disk state. This flag
      * will be set when updateUnsaved() is called or when any
      * connection details change, and cleared when the connection
      * is saved to disk via save() or from internal operations.
      *
-     * @since 0.9.9.0
+     * \since 0.9.9.0
      */
     bool isUnsaved() const;
-    /**
+    /*!
      * Returns the settings of this connection
      */
     ConnectionSettings::Ptr settings();
 
-    /**
+    /*!
      * Retrieves this connections's secrets (passwords and / or encryption keys).
      *
-     * @param setting the setting identifier.
+     * \a setting the setting identifier.
      */
     QDBusPendingReply<NMVariantMapMap> secrets(const QString &setting);
 
-    /**
-     * Update the connection with new @p settings and properties, replacing all previous settings and properties.
+    /*!
+     * Update the connection with new \a settings and properties, replacing all previous settings and properties.
      * Secrets may be part of the update request, and will be either stored in persistent storage or given to a Secret Agent for storage,
      * depending on the request.
      */
     QDBusPendingReply<> update(const NMVariantMapMap &settings);
-    /**
-     * Update the connection with new @p settings and properties (replacing
+    /*!
+     * Update the connection with new \a settings and properties (replacing
      * all previous settings and properties) but do not immediately save
      * the connection to disk. Secrets may be part of the update request
      * and may sent to a Secret Agent for storage, depending on the
@@ -96,25 +106,25 @@ public:
      * reloaded from disk (either automatically on file change or
      * due to an explicit reloadConnections() call).
      *
-     * @since 0.9.9.0
+     * \since 0.9.9.0
      */
     QDBusPendingReply<> updateUnsaved(const NMVariantMapMap &settings);
 
-    /**
+    /*!
      * Saves a "dirty" connection (that had previously been
      * updated with updateUnsaved()) to persistent storage.
      *
-     * @since 0.9.9.0
+     * \since 0.9.9.0
      */
     QDBusPendingReply<> save();
 
-    /**
+    /*!
      * Clear the secrets belonging to this network connection profile.
-     * @since 5.8.0
+     * \since 5.8.0
      */
     QDBusPendingReply<> clearSecrets();
 
-    /**
+    /*!
      * Removes the connection from NetworkManager database,
      * this operation does not ask for confirmation but
      * a policykit rule might prevent it from being removed
@@ -123,17 +133,18 @@ public:
     QDBusPendingReply<> remove();
 
 Q_SIGNALS:
-    /**
+    /*!
      * Emitted when the connection settings changes
      */
     void updated();
 
-    /**
+    /*!
      * Emitted when the connection was removed
-     * @param path connections's path.
+     *
+     * \a path connections's path.
      */
     void removed(const QString &path);
-    /**
+    /*!
      * Emitted when the connection unsaved state changes
      */
     void unsavedChanged(bool unsaved);
diff -pruN 6.13.0-1/src/device.h 6.17.0-0ubuntu1/src/device.h
--- 6.13.0-1/src/device.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/device.h	2025-08-01 10:40:12.000000000 +0000
@@ -27,62 +27,241 @@ class DevicePrivate;
 class DeviceStateReason;
 class DeviceStateReasonPrivate;
 
-/**
- * This class represents a common device interface
+/*!
+ * \class NetworkManager::Device
+ * \inheaderfile NetworkManagerQt/Device
+ * \inmodule NetworkManagerQt
+ *
+ * \brief This class represents a common device interface.
  */
 class NETWORKMANAGERQT_EXPORT Device : public QObject
 {
     Q_OBJECT
 
+    /*!
+     * \property NetworkManager::Device::uni
+     */
     Q_PROPERTY(QString uni READ uni)
+
+    /*!
+     * \property NetworkManager::Device::interfaceName
+     */
     Q_PROPERTY(QString interfaceName READ interfaceName)
+
+    /*!
+     * \property NetworkManager::Device::ipInterfaceName
+     */
     Q_PROPERTY(QString ipInterfaceName READ ipInterfaceName)
+
+    /*!
+     * \property NetworkManager::Device::driver
+     */
     Q_PROPERTY(QString driver READ driver)
+
+    /*!
+     * \property NetworkManager::Device::driverVersion
+     */
     Q_PROPERTY(QString driverVersion READ driverVersion)
+
+    /*!
+     * \property NetworkManager::Device::firmwareVersion
+     */
     Q_PROPERTY(QString firmwareVersion READ firmwareVersion)
+
+    /*!
+     * \property NetworkManager::Device::genericCapabilities
+     */
     Q_PROPERTY(QVariant genericCapabilities READ capabilitiesV)
+
+    /*!
+     * \property NetworkManager::Device::ipV4Address
+     */
     Q_PROPERTY(QHostAddress ipV4Address READ ipV4Address)
+
+    /*!
+     * \property NetworkManager::Device::managed
+     */
     Q_PROPERTY(bool managed READ managed)
+
+    /*!
+     * \property NetworkManager::Device::mtu
+     */
     Q_PROPERTY(uint mtu READ mtu)
+
+    /*!
+     * \property NetworkManager::Device::InterfaceFlags
+     */
     Q_PROPERTY(Interfaceflags InterfaceFlags READ interfaceFlags)
+
+    /*!
+     * \property NetworkManager::Device::nmPluginMissing
+     */
     Q_PROPERTY(bool nmPluginMissing READ nmPluginMissing)
+
+    /*!
+     * \property NetworkManager::Device::metered
+     */
     Q_PROPERTY(MeteredStatus metered READ metered)
+
+    /*!
+     * \property NetworkManager::Device::udi
+     */
     Q_PROPERTY(QString udi READ udi)
+
+    /*!
+     * \property NetworkManager::Device::firmwareMissing
+     */
     Q_PROPERTY(bool firmwareMissing READ firmwareMissing)
+
+    /*!
+     * \property NetworkManager::Device::autoconnect
+     */
     Q_PROPERTY(bool autoconnect READ autoconnect WRITE setAutoconnect)
+
+    /*!
+     * \property NetworkManager::Device::stateReason
+     */
     Q_PROPERTY(DeviceStateReason stateReason READ stateReason)
+
+    /*!
+     * \property NetworkManager::Device::state
+     */
     Q_PROPERTY(State state READ state)
+
+    /*!
+     * \property NetworkManager::Device::deviceStatistics
+     */
     Q_PROPERTY(NetworkManager::DeviceStatistics::Ptr deviceStatistics READ deviceStatistics)
 
 public:
+    /*!
+     * \typedef NetworkManager::Device::Ptr
+     */
     typedef QSharedPointer<Device> Ptr;
+    /*!
+     * \typedef NetworkManager::Device::List
+     */
     typedef QList<Ptr> List;
-    /**
+    /*!
+     *
      * Device connection states describe the possible states of a
      * network connection from the user's point of view.  For
      * simplicity, states from several different layers are present -
      * this is a high level view
+     *
+     * \value UnknownState
+     *        The device is in an unknown state
+     * \value Unmanaged
+     *        The device is recognized but not managed by NetworkManager
+     * \value Unavailable
+     *        The device cannot be used (carrier off, rfkill, etc)
+     * \value Disconnected
+     *        The device is not connected
+     * \value Preparing
+     *        The device is preparing to connect
+     * \value ConfiguringHardware
+     *        The device is being configured
+     * \value NeedAuth
+     *        The device is awaiting secrets necessary to continue connection
+     * \value ConfiguringIp
+     *        The IP settings of the device are being requested and configured
+     * \value CheckingIp
+     *        The device's IP connectivity ability is being determined
+     * \value WaitingForSecondaries
+     *        The device is waiting for secondary connections to be activated
+     * \value Activated
+     *        The device is active
+     * \value Deactivating
+     *        The device's network connection is being torn down
+     * \value Failed
+     *        The device is in a failure state following an attempt to activate it
      */
     enum State {
-        UnknownState = 0, /**< The device is in an unknown state */
-        Unmanaged = 10, /**< The device is recognized but not managed by NetworkManager */
-        Unavailable = 20, /**< The device cannot be used (carrier off, rfkill, etc) */
-        Disconnected = 30, /**< The device is not connected */
-        Preparing = 40, /**< The device is preparing to connect */
-        ConfiguringHardware = 50, /**< The device is being configured */
-        NeedAuth = 60, /**< The device is awaiting secrets necessary to continue connection */
-        ConfiguringIp = 70, /**< The IP settings of the device are being requested and configured */
-        CheckingIp = 80, /**< The device's IP connectivity ability is being determined */
-        WaitingForSecondaries = 90, /**< The device is waiting for secondary connections to be activated */
-        Activated = 100, /**< The device is active */
-        Deactivating = 110, /**< The device's network connection is being torn down */
-        Failed = 120, /**< The device is in a failure state following an attempt to activate it */
+        UnknownState = 0,
+        Unmanaged = 10,
+        Unavailable = 20,
+        Disconnected = 30,
+        Preparing = 40,
+        ConfiguringHardware = 50,
+        NeedAuth = 60,
+        ConfiguringIp = 70,
+        CheckingIp = 80,
+        WaitingForSecondaries = 90,
+        Activated = 100,
+        Deactivating = 110,
+        Failed = 120,
     };
     Q_ENUM(State)
 
-    /**
+    /*!
+     *
      * Enums describing the reason for a connection state change
-     * @note StateChangeReasons NewActivation, ParentChanged, ParentManagedChanged are available in runtime NM >= 1.0.4
+     * \note StateChangeReasons NewActivation, ParentChanged, ParentManagedChanged are available in runtime NM >= 1.0.4
+     *
+     * \value UnknownReason
+     * \value NoReason
+     * \value NowManagedReason
+     * \value NowUnmanagedReason
+     * \value ConfigFailedReason
+     * \value ConfigUnavailableReason
+     * \value ConfigExpiredReason
+     * \value NoSecretsReason
+     * \value AuthSupplicantDisconnectReason
+     * \value AuthSupplicantConfigFailedReason
+     * \value AuthSupplicantFailedReason
+     * \value AuthSupplicantTimeoutReason
+     * \value PppStartFailedReason
+     * \value PppDisconnectReason
+     * \value PppFailedReason
+     * \value DhcpStartFailedReason
+     * \value DhcpErrorReason
+     * \value DhcpFailedReason
+     * \value SharedStartFailedReason
+     * \value SharedFailedReason
+     * \value AutoIpStartFailedReason
+     * \value AutoIpErrorReason
+     * \value AutoIpFailedReason
+     * \value ModemBusyReason
+     * \value ModemNoDialToneReason
+     * \value ModemNoCarrierReason
+     * \value ModemDialTimeoutReason
+     * \value ModemDialFailedReason
+     * \value ModemInitFailedReason
+     * \value GsmApnSelectFailedReason
+     * \value GsmNotSearchingReason
+     * \value GsmRegistrationDeniedReason
+     * \value GsmRegistrationTimeoutReason
+     * \value GsmRegistrationFailedReason
+     * \value GsmPinCheckFailedReason
+     * \value FirmwareMissingReason
+     * \value DeviceRemovedReason
+     * \value SleepingReason
+     * \value ConnectionRemovedReason
+     * \value UserRequestedReason
+     * \value CarrierReason
+     * \value ConnectionAssumedReason
+     * \value SupplicantAvailableReason
+     * \value ModemNotFoundReason
+     * \value BluetoothFailedReason
+     * \value GsmSimNotInserted
+     * \value GsmSimPinRequired
+     * \value GsmSimPukRequired
+     * \value GsmSimWrong
+     * \value InfiniBandMode
+     * \value DependencyFailed
+     * \value Br2684Failed
+     * \value ModemManagerUnavailable
+     * \value SsidNotFound
+     * \value SecondaryConnectionFailed
+     * \value DcbFcoeFailed
+     * \value TeamdControlFailed
+     * \value ModemFailed
+     * \value ModemAvailable
+     * \value SimPinIncorrect
+     * \value NewActivation
+     * \value ParentChanged
+     * \value ParentManagedChanged
+     * \value Reserved
      */
     enum StateChangeReason {
         UnknownReason = 0,
@@ -152,302 +331,403 @@ public:
     };
     Q_ENUM(StateChangeReason)
 
+    /*!
+     *
+     * \value UnknownStatus
+     *        The device metered status is unknown.
+     * \value Yes
+     *        The device is metered and the value was statically set.
+     * \value No
+     *        The device is not metered and the value was statically set.
+     * \value GuessYes
+     *        The device is metered and the value was guessed.
+     * \value GuessNo
+     *        The device is not metered and the value was guessed.
+     */
     enum MeteredStatus {
-        UnknownStatus = 0, /**< The device metered status is unknown. */
-        Yes = 1, /**< The device is metered and the value was statically set. */
-        No = 2, /**< The device is not metered and the value was statically set. */
-        GuessYes = 3, /**< The device is metered and the value was guessed. */
-        GuessNo = 4, /**< The device is not metered and the value was guessed. */
+        UnknownStatus = 0,
+        Yes = 1,
+        No = 2,
+        GuessYes = 3,
+        GuessNo = 4,
     };
     Q_ENUM(MeteredStatus)
 
-    /**
+    /*!
+     *
      * Possible device capabilities
+     *
+     * \value IsManageable
+     *        denotes that the device can be controlled by this API
+     * \value SupportsCarrierDetect
+     *        the device informs us when it is plugged in to the medium
      */
     enum Capability {
-        IsManageable = 0x1, /**< denotes that the device can be controlled by this API */
-        SupportsCarrierDetect = 0x2, /**< the device informs us when it is plugged in to the medium */
+        IsManageable = 0x1,
+        SupportsCarrierDetect = 0x2,
     };
     Q_ENUM(Capability)
     Q_DECLARE_FLAGS(Capabilities, Capability)
     Q_FLAG(Capabilities)
 
-    /**
+    /*!
+     *
      * Possible device interfaceflags
+     *
+     * \value None
+     *        no flags set
+     * \value Up
+     *        Corresponds to kernel IFF_UP
+     * \value LowerUp
+     *        Corresponds to kernel IFF_LOWER_UP
+     * \value Carrier
+     *        the interface has carrier
      */
     enum Interfaceflag {
-        None = NM_DEVICE_INTERFACE_FLAG_NONE,                   /**< no flags set */
-        Up = NM_DEVICE_INTERFACE_FLAG_UP,                       /**< Corresponds to kernel IFF_UP */
-        LowerUp = NM_DEVICE_INTERFACE_FLAG_LOWER_UP,            /**< Corresponds to kernel IFF_LOWER_UP */
-        Carrier = NM_DEVICE_INTERFACE_FLAG_CARRIER              /**< the interface has carrier */
+        None = NM_DEVICE_INTERFACE_FLAG_NONE,
+        Up = NM_DEVICE_INTERFACE_FLAG_UP,
+        LowerUp = NM_DEVICE_INTERFACE_FLAG_LOWER_UP,
+        Carrier = NM_DEVICE_INTERFACE_FLAG_CARRIER
     };
     Q_ENUM(Interfaceflag)
     Q_DECLARE_FLAGS(Interfaceflags, Interfaceflag)
     Q_FLAG(Interfaceflags)
 
-    /**
+    /*!
+     *
      * Device type
+     *
+     * \value UnknownType
+     *        Unknown device type
+     * \value Ethernet
+     *        Ieee8023 wired ethernet
+     * \value Wifi
+     *        the Ieee80211 family of wireless networks
+     * \value Unused1
+     *        Currently unused
+     * \value Unused2
+     *        Currently unused
+     * \value Bluetooth
+     *        network bluetooth device (usually a cell phone)
+     * \value OlpcMesh
+     *        OLPC Mesh networking device
+     * \value Wimax
+     *        WiMax WWAN technology
+     * \value Modem
+     *        POTS, GSM, CDMA or LTE modems
+     * \value InfiniBand
+     *        Infiniband network device
+     * \value Bond
+     *        Bond virtual device
+     * \value Vlan
+     *        Vlan virtual device
+     * \value Adsl
+     *        ADSL modem device
+     * \value Bridge
+     *        Bridge virtual device
+     * \value Generic
+     *        Generic device
+     * \value Team
+     *        Team master device
+     * \value Gre
+     *        Gre virtual device. Deprecated, use IpTunnel instead
+     * \value MacVlan
+     *        MacVlan virtual device
+     * \value Tun
+     *        Tun virtual device
+     * \value Veth
+     *        Veth virtual device
+     * \value IpTunnel
+     *        IP Tunneling Device
+     * \value VxLan
+     *        Vxlan Device
+     * \value MacSec
+     *        MacSec Device
+     * \value Dummy
+     *        Dummy Device
+     * \value Ppp
+     *        Ppp Device
+     * \value OvsInterface
+     *        OvsInterface Device
+     * \value OvsPort
+     *        OvsPort Device
+     * \value OvsBridge
+     *        OvsBridge Device
+     * \value Wpan
+     *        Wpan Device
+     * \value Lowpan
+     *        Lowpan Device
+     * \value WireGuard
+     *        WireGuard Device
+     * \value WifiP2P
+     *        WifiP2P Device
+     * \value VRF
+     *        VRF (Virtual Routing and Forwarding) Device
+     * \value Loopback
+     *        Loopback Device
      */
     enum Type {
-        UnknownType = NM_DEVICE_TYPE_UNKNOWN, /**< Unknown device type */
-        Ethernet = NM_DEVICE_TYPE_ETHERNET, /**< Ieee8023 wired ethernet */
-        Wifi = NM_DEVICE_TYPE_WIFI, /**< the Ieee80211 family of wireless networks */
-        Unused1 = NM_DEVICE_TYPE_UNUSED1, /**< Currently unused */
-        Unused2 = NM_DEVICE_TYPE_UNUSED2, /**< Currently unused */
-        Bluetooth = NM_DEVICE_TYPE_BT, /**< network bluetooth device (usually a cell phone) */
-        OlpcMesh = NM_DEVICE_TYPE_OLPC_MESH, /**< OLPC Mesh networking device */
-        Wimax = NM_DEVICE_TYPE_WIMAX, /**< WiMax WWAN technology */
-        Modem = NM_DEVICE_TYPE_MODEM, /**< POTS, GSM, CDMA or LTE modems */
-        InfiniBand = NM_DEVICE_TYPE_INFINIBAND, /**< Infiniband network device */
-        Bond = NM_DEVICE_TYPE_BOND, /**< Bond virtual device */
-        Vlan = NM_DEVICE_TYPE_VLAN, /**< Vlan virtual device */
-        Adsl = NM_DEVICE_TYPE_ADSL, /**< ADSL modem device */
-        Bridge = NM_DEVICE_TYPE_BRIDGE, /**< Bridge virtual device */
-        Generic = NM_DEVICE_TYPE_GENERIC, /**< Generic device @since 1.0.0 */
-        Team = NM_DEVICE_TYPE_TEAM, /**< Team master device @since 1.0.0 */
-        Gre, /**< Gre virtual device @since 1.2.0, @deprecated use IpTunnel instead*/
-        MacVlan, /**< MacVlan virtual device @since 1.2.0 */
-        Tun, /**< Tun virtual device @since 1.2.0 */
-        Veth, /**< Veth virtual device @since 1.2.0 */
-        IpTunnel, /**< IP Tunneling Device @since 1.2.0 */
-        VxLan, /**< Vxlan Device @since 1.2.0 */
-        MacSec, /**< MacSec Device @since 1.6.0 */
-        Dummy, /**< Dummy Device @since 1.8.0 */
-        Ppp, /**< Ppp Device @since 1.10 */
-        OvsInterface, /**< OvsInterface Device @since 1.10 */
-        OvsPort, /**< OvsPort Device @since 1.10 */
-        OvsBridge, /**< OvsBridge Device @since 1.10 */
-        Wpan, /**< Wpan Device @since 1.14 */
-        Lowpan, /**< Lowpan Device @since 1.14 */
-        WireGuard, /**< WireGuard Device @since 1.14 */
-        WifiP2P, /**< WifiP2P Device @since 1.16 */
-        VRF, /**< VRF (Virtual Routing and Forwarding) Device @since: 1.24 */
-        Loopback, /**< Loopback Device @since 1.42 */
+        UnknownType = NM_DEVICE_TYPE_UNKNOWN,
+        Ethernet = NM_DEVICE_TYPE_ETHERNET,
+        Wifi = NM_DEVICE_TYPE_WIFI,
+        Unused1 = NM_DEVICE_TYPE_UNUSED1,
+        Unused2 = NM_DEVICE_TYPE_UNUSED2,
+        Bluetooth = NM_DEVICE_TYPE_BT,
+        OlpcMesh = NM_DEVICE_TYPE_OLPC_MESH,
+        Wimax = NM_DEVICE_TYPE_WIMAX,
+        Modem = NM_DEVICE_TYPE_MODEM,
+        InfiniBand = NM_DEVICE_TYPE_INFINIBAND,
+        Bond = NM_DEVICE_TYPE_BOND,
+        Vlan = NM_DEVICE_TYPE_VLAN,
+        Adsl = NM_DEVICE_TYPE_ADSL,
+        Bridge = NM_DEVICE_TYPE_BRIDGE,
+        Generic = NM_DEVICE_TYPE_GENERIC,
+        Team = NM_DEVICE_TYPE_TEAM,
+        Gre,
+        MacVlan,
+        Tun,
+        Veth,
+        IpTunnel,
+        VxLan,
+        MacSec,
+        Dummy,
+        Ppp,
+        OvsInterface,
+        OvsPort,
+        OvsBridge,
+        Wpan,
+        Lowpan,
+        WireGuard,
+        WifiP2P,
+        VRF,
+        Loopback,
     };
     Q_ENUM(Type)
     Q_DECLARE_FLAGS(Types, Type)
     Q_FLAG(Types)
 
-    /**
+    /*!
      * Creates a new device object.
      *
-     * @param path UNI of the device
+     * \a path UNI of the device
      */
     explicit Device(const QString &path, QObject *parent = nullptr);
-    /**
+    /*!
      * Destroys a device object.
      */
     ~Device() override;
-    /**
+    /*!
      * Retrieves the interface type.  This is a virtual function that will return the
      * proper type of all sub-classes.
      *
-     * @returns the NetworkManager::Device::Type that corresponds to this device.
+     * Returns the NetworkManager::Device::Type that corresponds to this device.
      */
     virtual Type type() const;
-    /**
+    /*!
      * Retrieves the Unique Network Identifier (UNI) of the device.
      * This identifier is unique for each network and network interface in the system.
      *
-     * @returns the Unique Network Identifier of the current device
+     * Returns the Unique Network Identifier of the current device
      */
     QString uni() const;
-    /**
+    /*!
      * The current active connection for this device
      *
-     * @returns A valid ActiveConnection object or NULL if no active connection was found
+     * Returns A valid ActiveConnection object or NULL if no active connection was found
      */
     NetworkManager::ActiveConnection::Ptr activeConnection() const;
-    /**
+    /*!
      * Returns available connections for this device
      *
-     * @returns List of availables connection
+     * Returns List of availables connection
      */
     Connection::List availableConnections();
-    /**
+    /*!
      * The system name for the network device
      */
     QString interfaceName() const;
-    /**
+    /*!
      * The name of the device's data interface when available. This property
      * may not refer to the actual data interface until the device has
      * successfully established a data connection, indicated by the device's
      * state() becoming ACTIVATED.
      */
     QString ipInterfaceName() const;
-    /**
+    /*!
      * Handle for the system driver controlling this network interface
      */
     QString driver() const;
-    /**
+    /*!
      * The driver version.
      */
     QString driverVersion() const;
-    /**
+    /*!
      * The firmware version.
      */
     QString firmwareVersion() const;
-    /**
+    /*!
      * Reapplies connection settings on the interface.
      */
     QDBusPendingReply<> reapplyConnection(const NMVariantMapMap &connection, qulonglong version_id, uint flags);
-    /**
+    /*!
      * Disconnects a device and prevents the device from automatically
      * activating further connections without user intervention.
      */
     QDBusPendingReply<> disconnectInterface();
-    /**
+    /*!
      * Deletes a software device from NetworkManager and removes the interface from the system.
      * The method returns an error when called for a hardware device.
      *
-     * @since 5.8.0
+     * \since 5.8.0
      *
      */
     QDBusPendingReply<> deleteInterface();
-    /**
+    /*!
      * returns the current IPv4 address without the prefix
      * \sa ipV4Config()
      * \sa ipV6Config()
-     * @deprecated
+     * \deprecated
      */
     QHostAddress ipV4Address() const;
-    /**
+    /*!
      * Get the current IPv4 configuration of this device.
      * Only valid when device is Activated.
      */
     IpConfig ipV4Config() const;
-    /**
+    /*!
      * Get the current IPv6 configuration of this device.
      * Only valid when device is Activated.
      */
     IpConfig ipV6Config() const;
 
-    /**
+    /*!
      * Get the DHCP options returned by the DHCP server
      * or a null pointer if the device is not Activated or does not
      * use DHCP configuration.
      */
     Dhcp4Config::Ptr dhcp4Config() const;
 
-    /**
+    /*!
      * Get the DHCP options returned by the DHCP server
      * or a null pointer if the device is not Activated or does not
      * use DHCP configuration.
      */
     Dhcp6Config::Ptr dhcp6Config() const;
 
-    /**
+    /*!
      * Retrieves the activation status of this network interface.
      *
-     * @return true if this network interface is active, false otherwise
+     * Returns true if this network interface is active, false otherwise
      */
     bool isActive() const;
 
-    /**
+    /*!
      * Retrieves the device is valid.
      *
-     * @return true if this device interface is valid, false otherwise
+     * Returns true if this device interface is valid, false otherwise
      */
     bool isValid() const;
 
-    /**
+    /*!
      * Retrieves the current state of the device.
      * This is a high level view of the device. It is user oriented, so
      * actually it provides state coming from different layers.
      *
-     * @return the current connection state
-     * @see Device::State
+     * Returns the current connection state
+     * \sa Device::State
      */
     State state() const;
-    /**
+    /*!
      * Retrieves the maximum speed as reported by the device.
      * Note that this is only a design related piece of information, and that
      * the device might not reach this maximum.
      *
-     * @return the device's maximum speed
+     * Returns the device's maximum speed
      */
     int designSpeed() const;
-    /**
+    /*!
      * Retrieves the capabilities supported by this device.
      *
-     * @return the capabilities of the device
+     * Returns the capabilities of the device
      */
     Capabilities capabilities() const;
+    /*!
+     *
+     */
     QVariant capabilitiesV() const;
-    /**
+    /*!
      * Is the device currently being managed by NetworkManager?
      */
     bool managed() const;
-    /**
-      * The up or down flag for the device
-      */
+    /*!
+     * The up or down flag for the device
+     */
     Interfaceflags interfaceFlags() const;
-    /**
+    /*!
      * Is the firmware needed by the device missing?
      */
     bool firmwareMissing() const;
-    /**
+    /*!
      * If the device is allowed to autoconnect.
      */
     bool autoconnect() const;
-    /**
+    /*!
      * The current state and reason for changing to that state.
      */
     DeviceStateReason stateReason() const;
-    /**
+    /*!
      * Retrieves the Unique Device Identifier (UDI) of the device.
      * This identifier is unique for each device in the system.
      */
     QString udi() const;
 
-    /**
-     * @return If non-empty, an (opaque) indicator of the physical network
+    /*!
+     * Returns If non-empty, an (opaque) indicator of the physical network
      * port associated with the device. This can be used to recognize
      * when two seemingly-separate hardware devices are actually just
      * different virtual interfaces to the same physical port.
      *
-     * @since 0.9.9.0
+     * \since 0.9.9.0
      */
     QString physicalPortId() const;
-    /**
+    /*!
      * The device MTU (maximum transmission unit)
-     * @since 0.9.9.0
-     *
+     * \since 0.9.9.0
      */
     uint mtu() const;
 
-    /**
-     * @return If TRUE, indicates the NetworkManager plugin for the device is likely
+    /*!
+     * Returns If TRUE, indicates the NetworkManager plugin for the device is likely
      * missing or misconfigured.
-     * @since 5.14.0
+     * \since 5.14.0
      */
     bool nmPluginMissing() const;
 
-    /**
-     * @return Whether the amount of traffic flowing through the device is
+    /*!
+     * Returns Whether the amount of traffic flowing through the device is
      * subject to limitations, for example set by service providers.
-     * @since 5.14.0
+     * \since 5.14.0
      */
     MeteredStatus metered() const;
 
-    /**
+    /*!
      * If true, indicates the device is allowed to autoconnect.
      * If false, manual intervention is required before the device
      * will automatically connect to a known network, such as activating
-     * a connection using the device, or setting this property to @p true.
+     * a connection using the device, or setting this property to \a true.
      */
     void setAutoconnect(bool autoconnect);
 
-    /**
+    /*!
      * Returns Device Statistics interface
      */
     DeviceStatistics::Ptr deviceStatistics() const;
 
-    /**
+    /*!
      * Retrieves a specialized interface to interact with the device corresponding
      * to a given device interface.
      *
-     * @returns a pointer to the device interface if it exists, @p 0 otherwise
+     * Returns a pointer to the device interface if it exists, \a 0 otherwise
      */
     template<class DevIface>
     DevIface *as()
@@ -455,11 +735,11 @@ public:
         return qobject_cast<DevIface *>(this);
     }
 
-    /**
+    /*!
      * Retrieves a specialized interface to interact with the device corresponding
      * to a given device interface.
      *
-     * @returns a pointer to the device interface if it exists, 0 otherwise
+     * Returns a pointer to the device interface if it exists, 0 otherwise
      */
     template<class DevIface>
     const DevIface *as() const
@@ -468,153 +748,156 @@ public:
     }
 
 Q_SIGNALS:
-    /**
+    /*!
      * This signal is emitted when the device's link status changed.
      *
-     * @param newstate the new state of the connection
-     * @param oldstate the previous state of the connection
-     * @param reason the reason for the state change, if any.  ReasonNone where the backend
+     * \a newstate the new state of the connection
+     *
+     * \a oldstate the previous state of the connection
+     *
+     * \a reason the reason for the state change, if any.  ReasonNone where the backend
      * provides no reason.
-     * @see Device::State
-     * @see Device::StateChangeReason
+     *
+     * \sa Device::State
+     * \sa Device::StateChangeReason
      */
     void stateChanged(NetworkManager::Device::State newstate, NetworkManager::Device::State oldstate, NetworkManager::Device::StateChangeReason reason);
 
-    /**
+    /*!
      * Emitted when the autoconnect of this network has changed.
      */
     void activeConnectionChanged();
 
-    /**
+    /*!
      * Emitted when the autoconnect of this network has changed.
      */
     void autoconnectChanged();
 
-    /**
+    /*!
      * Emitted when the list of avaiable connections of this network has changed.
      */
     void availableConnectionChanged();
 
-    /**
+    /*!
      * Emitted when a new connection is available
      */
     void availableConnectionAppeared(const QString &connection);
 
-    /**
+    /*!
      * Emitted when the connection is no longer available
      */
     void availableConnectionDisappeared(const QString &connection);
 
-    /**
+    /*!
      * Emitted when the capabilities of this network has changed.
      */
     void capabilitiesChanged();
 
-    /**
+    /*!
      * Emitted when the DHCP configuration for IPv4 of this network has changed.
      */
     void dhcp4ConfigChanged();
 
-    /**
+    /*!
      * Emitted when the DHCP configuration for IPv6 of this network has changed.
      */
     void dhcp6ConfigChanged();
 
-    /**
+    /*!
      * Emitted when the driver of this network has changed.
      */
     void driverChanged();
 
-    /**
+    /*!
      * Emitted when the driver version of this network has changed.
      */
     void driverVersionChanged();
 
-    /**
+    /*!
      * Emitted when the firmware missing state of this network has changed.
      */
     void firmwareMissingChanged();
 
-    /**
+    /*!
      * Emitted when the firmware version of this network has changed.
      */
     void firmwareVersionChanged();
 
-    /**
+    /*!
      * Emitted when the interface name of this network has changed.
      */
     void interfaceNameChanged();
 
-    /**
+    /*!
      * Emitted when the IPv4 address of this network has changed.
      */
     void ipV4AddressChanged();
 
-    /**
+    /*!
      * Emitted when the IPv4 configuration of this network has changed.
      */
     void ipV4ConfigChanged();
 
-    /**
+    /*!
      * Emitted when the IPv6 configuration of this network has changed.
      */
     void ipV6ConfigChanged();
 
-    /**
+    /*!
      * Emitted when the ip interface name of this network has changed.
      */
     void ipInterfaceChanged();
 
-    /**
+    /*!
      * Emitted when the managed state of this network has changed.
      */
     void managedChanged();
 
-    /**
-      * Emitted when the up or down state of the device
-      * @since 1.22
-      * @note will always return NM_DEVICE_INTERFACE_FLAG_NONE when runtime NM < 1.22
-      */
+    /*!
+     * Emitted when the up or down state of the device
+     * \since 1.22
+     * \note will always return NM_DEVICE_INTERFACE_FLAG_NONE when runtime NM < 1.22
+     */
     void interfaceFlagsChanged();
 
-    /**
+    /*!
      * Emitted when the physical port ID changes.
-     * @see physicalPortId()
-     * @since 0.9.9.0
+     * \sa physicalPortId()
+     * \since 0.9.9.0
      */
     void physicalPortIdChanged();
 
-    /**
+    /*!
      * Emitted when the maximum transmission unit has changed
-     * @since 0.9.9.0
+     * \since 0.9.9.0
      */
     void mtuChanged();
 
-    /**
+    /*!
      * Emitted when NmPluginMissing property has changed
-     * @since 5.14.0
-     * @see nmPluginMissing
+     * \since 5.14.0
+     * \sa nmPluginMissing
      */
     void nmPluginMissingChanged(bool nmPluginMissing);
 
-    /**
+    /*!
      * Emitted when metered property has changed
-     * @since 5.14.0
-     * @see metered
+     * \since 5.14.0
+     * \sa metered
      */
     void meteredChanged(MeteredStatus metered);
 
-    /**
+    /*!
      * Emitted when the connection state of this network has changed.
      */
     void connectionStateChanged();
 
-    /**
+    /*!
      * Emitted when the state reason of this network has changed.
      */
     void stateReasonChanged();
 
-    /**
+    /*!
      * Emitted when the Unique Device Identifier of this device has changed.
      */
     void udiChanged();
@@ -632,14 +915,31 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(Device::Ca
 Q_DECLARE_OPERATORS_FOR_FLAGS(Device::Types)
 Q_DECLARE_OPERATORS_FOR_FLAGS(Device::Interfaceflags)
 
+/*!
+ * \class NetworkManager::DeviceStateReason
+ * \inheaderfile NetworkManagerQt/Device
+ * \inmodule NetworkManagerQt
+ */
 class NETWORKMANAGERQT_EXPORT DeviceStateReason
 {
 public:
+    /*!
+     */
     DeviceStateReason(Device::State state, Device::StateChangeReason reason);
+    /*!
+     */
     DeviceStateReason(const DeviceStateReason &);
+    /*!
+     */
     ~DeviceStateReason();
+    /*!
+     */
     Device::State state() const;
+    /*!
+     */
     Device::StateChangeReason reason() const;
+    /*!
+     */
     DeviceStateReason &operator=(const DeviceStateReason &);
 
 private:
diff -pruN 6.13.0-1/src/devicestatistics.h 6.17.0-0ubuntu1/src/devicestatistics.h
--- 6.13.0-1/src/devicestatistics.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/devicestatistics.h	2025-08-01 10:40:12.000000000 +0000
@@ -18,49 +18,75 @@ namespace NetworkManager
 {
 class DeviceStatisticsPrivate;
 
-/**
- * Represents device statistics interface
+/*!
+ * \class NetworkManager::DeviceStatistics
+ * \inheaderfile NetworkManagerQt/DeviceStatistics
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents device statistics interface.
  */
 class NETWORKMANAGERQT_EXPORT DeviceStatistics : public QObject
 {
     Q_OBJECT
+
+    /*!
+     * \property NetworkManager::DeviceStatistics::refreshRateMs
+     */
     Q_PROPERTY(uint refreshRateMs READ refreshRateMs WRITE setRefreshRateMs NOTIFY refreshRateMsChanged)
+
+    /*!
+     * \property NetworkManager::DeviceStatistics::txBytes
+     */
     Q_PROPERTY(qulonglong txBytes READ txBytes NOTIFY txBytesChanged)
+
+    /*!
+     * \property NetworkManager::DeviceStatistics::rxBytes
+     */
     Q_PROPERTY(qulonglong rxBytes READ rxBytes NOTIFY rxBytesChanged)
 
 public:
+    /*!
+     * \typedef NetworkManager::DeviceStatistics::Ptr
+     */
     typedef QSharedPointer<DeviceStatistics> Ptr;
+    /*!
+     * \typedef NetworkManager::DeviceStatistics::List
+     */
     typedef QList<Ptr> List;
 
+    /*!
+     */
     explicit DeviceStatistics(const QString &path, QObject *parent = nullptr);
     ~DeviceStatistics() override;
 
-    /**
+    /*!
      * Refresh rate of the rest of properties of this interface. The properties are guaranteed to be refreshed
      * each RefreshRateMs milliseconds in case the underlying counter has changed too. If zero, there is no guaranteed
      * refresh rate of the properties.
      */
     uint refreshRateMs() const;
+    /*!
+     */
     void setRefreshRateMs(uint refreshRate);
-    /**
+    /*!
      * Number of received bytes
      */
     qulonglong rxBytes() const;
-    /**
+    /*!
      * Number of transmitted bytes
      */
     qulonglong txBytes() const;
 
 Q_SIGNALS:
-    /**
+    /*!
      * Emitted when the refresh rate has changed
      */
     void refreshRateMsChanged(uint refreshRate);
-    /**
+    /*!
      * Emitted when the received bytes has changed
      */
     void rxBytesChanged(qulonglong rxBytes);
-    /**
+    /*!
      * Emitted when the transmitted bytes has changed
      */
     void txBytesChanged(qulonglong txBytes);
diff -pruN 6.13.0-1/src/dhcp4config.h 6.17.0-0ubuntu1/src/dhcp4config.h
--- 6.13.0-1/src/dhcp4config.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/dhcp4config.h	2025-08-01 10:40:12.000000000 +0000
@@ -18,26 +18,46 @@ namespace NetworkManager
 {
 class Dhcp4ConfigPrivate;
 
-/**
- * This class represents dhcp4 configuration
+/*!
+ * \class NetworkManager::Dhcp4Config
+ * \inheaderfile NetworkManagerQt/Dhcp4Config
+ * \inmodule NetworkManagerQt
+ *
+ * \brief This class represents dhcp4 configuration.
  */
 class NETWORKMANAGERQT_EXPORT Dhcp4Config : public QObject
 {
     Q_OBJECT
 public:
+    /*!
+     * \typedef NetworkManager::Dhcp4Config::Ptr
+     */
     typedef QSharedPointer<Dhcp4Config> Ptr;
+    /*!
+     * \typedef NetworkManager::Dhcp4Config::List
+     */
     typedef QList<Ptr> List;
 
+    /*!
+     */
     explicit Dhcp4Config(const QString &path, QObject *owner = nullptr);
     ~Dhcp4Config() override;
 
+    /*!
+     */
     QString path() const;
 
+    /*!
+     */
     QVariantMap options() const;
 
+    /*!
+     */
     QString optionValue(const QString &key) const;
 
 Q_SIGNALS:
+    /*!
+     */
     void optionsChanged(const QVariantMap &);
 
 private:
diff -pruN 6.13.0-1/src/dhcp6config.h 6.17.0-0ubuntu1/src/dhcp6config.h
--- 6.13.0-1/src/dhcp6config.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/dhcp6config.h	2025-08-01 10:40:12.000000000 +0000
@@ -18,26 +18,46 @@ namespace NetworkManager
 {
 class Dhcp6ConfigPrivate;
 
-/**
- * This class represents dhcp4 configuration
+/*!
+ * \class NetworkManager::Dhcp6Config
+ * \inheaderfile NetworkManagerQt/Dhcp6Config
+ * \inmodule NetworkManagerQt
+ *
+ * \brief This class represents dhcp4 configuration.
  */
 class NETWORKMANAGERQT_EXPORT Dhcp6Config : public QObject
 {
     Q_OBJECT
 public:
+    /*!
+     * \typedef NetworkManager::Dhcp6Config::Ptr
+     */
     typedef QSharedPointer<Dhcp6Config> Ptr;
+    /*!
+     * \typedef NetworkManager::Dhcp6Config::List
+     */
     typedef QList<Ptr> List;
 
+    /*!
+     */
     explicit Dhcp6Config(const QString &path, QObject *owner = nullptr);
     ~Dhcp6Config() override;
 
+    /*!
+     */
     QString path() const;
 
+    /*!
+     */
     QVariantMap options() const;
 
+    /*!
+     */
     QString optionValue(const QString &key) const;
 
 Q_SIGNALS:
+    /*!
+     */
     void optionsChanged(const QVariantMap &);
 
 private:
diff -pruN 6.13.0-1/src/dnsconfiguration.h 6.17.0-0ubuntu1/src/dnsconfiguration.h
--- 6.13.0-1/src/dnsconfiguration.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/dnsconfiguration.h	2025-08-01 10:40:12.000000000 +0000
@@ -20,74 +20,78 @@
 
 namespace NetworkManager
 {
-/**
- * This class represents IP configuration
+/*!
+ * \class NetworkManager::DnsConfiguration
+ * \inheaderfile NetworkManagerQt/DnsConfiguration
+ * \inmodule NetworkManagerQt
+ *
+ * \brief This class represents IP configuration.
  */
 class NETWORKMANAGERQT_EXPORT DnsConfiguration
 {
 public:
-    /**
+    /*!
      * Constructs an initialized DnsConfiguration object
      */
     DnsConfiguration(const QStringList &searches, const QStringList &options, const QList<DnsDomain> domains);
 
-    /**
+    /*!
      * Constructs an empty DnsConfiguration object
      */
     DnsConfiguration();
 
-    /**
+    /*!
      * Destroys this DnsConfiguration object.
      */
     ~DnsConfiguration();
 
-    /**
-     * Constructs a DnsConfiguration object that is a copy of the object @p other.
+    /*!
+     * Constructs a DnsConfiguration object that is a copy of the object \a other.
      */
     DnsConfiguration(const DnsConfiguration &other);
 
-    /**
+    /*!
      * Returns the list of search domains
      */
     QStringList searches() const;
 
-    /**
+    /*!
      * Sets the list of search domains
      */
     void setSearches(const QStringList &list);
 
-    /**
+    /*!
      * Returns the list of resolver options
      */
     QStringList options() const;
 
-    /**
+    /*!
      * Sets the list of resolver options
      */
     void setOptions(const QStringList &list);
 
-    /**
+    /*!
      * Returns the list of domains
      */
     QList<DnsDomain> domains() const;
 
-    /**
+    /*!
      * Sets the list of domains
      */
     void setDomains(const QList<DnsDomain> &domains);
 
-    /**
+    /*!
      * Marshall into a map
      */
     QVariantMap toMap() const;
 
-    /**
+    /*!
      * De-marshall from a map
      */
     void fromMap(const QVariantMap &map);
 
-    /**
-     * Makes a copy of the DnsConfiguration object @p other.
+    /*!
+     * Makes a copy of the DnsConfiguration object \a other.
      */
     DnsConfiguration &operator=(const DnsConfiguration &other);
 
diff -pruN 6.13.0-1/src/dnsdomain.h 6.17.0-0ubuntu1/src/dnsdomain.h
--- 6.13.0-1/src/dnsdomain.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/dnsdomain.h	2025-08-01 10:40:12.000000000 +0000
@@ -21,64 +21,68 @@
 
 namespace NetworkManager
 {
-/**
- * This class represents the configuration for a DNS domain
+/*!
+ * \class NetworkManager::DnsDomain
+ * \inheaderfile NetworkManagerQt/DnsDomain
+ * \inmodule NetworkManagerQt
+ *
+ * \brief This class represents the configuration for a DNS domain.
  */
 class NETWORKMANAGERQT_EXPORT DnsDomain
 {
 public:
-    /**
+    /*!
      * Constructs a DnsDomain object with a list of
      */
     DnsDomain(const QString &name, const QList<QHostAddress> &servers, const QStringList &options);
 
-    /**
+    /*!
      * Constructs a DnsDomain object
      */
     DnsDomain();
 
-    /**
+    /*!
      * Destroys this DnsDomain object.
      */
     ~DnsDomain();
 
-    /**
-     * Constructs a DnsDomain object that is a copy of the object @p other.
+    /*!
+     * Constructs a DnsDomain object that is a copy of the object \a other.
      */
     DnsDomain(const DnsDomain &other);
 
-    /**
+    /*!
      * Returns the domain name
      */
     QString name() const;
 
-    /**
+    /*!
      * Sets the domain name
      */
     void setName(const QString &name);
 
-    /**
+    /*!
      * Returns the list of servers
      */
     QList<QHostAddress> servers() const;
 
-    /**
+    /*!
      * Sets the list of servers
      */
     void setServers(const QList<QHostAddress> &list);
 
-    /**
+    /*!
      * Returns the list of resolver options
      */
     QStringList options() const;
 
-    /**
+    /*!
      * Sets the list of resolver options
      */
     void setOptions(const QStringList &list);
 
-    /**
-     * Makes a copy of the DnsDomain object @p other.
+    /*!
+     * Makes a copy of the DnsDomain object \a other.
      */
     DnsDomain &operator=(const DnsDomain &other);
 
diff -pruN 6.13.0-1/src/genericdevice.h 6.17.0-0ubuntu1/src/genericdevice.h
--- 6.13.0-1/src/genericdevice.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/genericdevice.h	2025-08-01 10:40:12.000000000 +0000
@@ -15,39 +15,59 @@ namespace NetworkManager
 {
 class GenericDevicePrivate;
 
-/**
- * A generic device interface
+/*!
+ * \class NetworkManager::GenericDevice
+ * \inheaderfile NetworkManagerQt/GenericDevice
+ * \inmodule NetworkManagerQt
+ *
+ * \brief A generic device interface.
  */
 class NETWORKMANAGERQT_EXPORT GenericDevice : public Device
 {
     Q_OBJECT
+
+    /*!
+     * \property NetworkManager::GenericDevice::hardwareAddress
+     */
     Q_PROPERTY(QString hardwareAddress READ hardwareAddress)
+
+    /*!
+     * \property NetworkManager::GenericDevice::typeDescription
+     */
     Q_PROPERTY(QString typeDescription READ typeDescription)
 
 public:
+    /*!
+     * \typedef NetworkManager::GenericDevice::Ptr
+     */
     typedef QSharedPointer<GenericDevice> Ptr;
+    /*!
+     * \typedef NetworkManager::GenericDevice::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     explicit GenericDevice(const QString &path, QObject *parent = nullptr);
     ~GenericDevice() override;
-    /**
+    /*!
      * Return the type
      */
     Type type() const override;
-    /**
+    /*!
      * Active hardware address of the device
      */
     QString hardwareAddress() const;
-    /**
+    /*!
      * A (non-localized) description of the interface type, if known.
      */
     QString typeDescription() const;
 
 Q_SIGNALS:
-    /**
+    /*!
      * Emitted when the hardware address of this device has changed
      */
     void hardwareAddressChanged(const QString &hwAddress);
-    /**
+    /*!
      * Emitted when the type description this device has changed
      */
     void permanentHardwareAddressChanged(const QString &permHwAddress);
diff -pruN 6.13.0-1/src/gredevice.h 6.17.0-0ubuntu1/src/gredevice.h
--- 6.13.0-1/src/gredevice.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/gredevice.h	2025-08-01 10:40:12.000000000 +0000
@@ -15,53 +15,147 @@ namespace NetworkManager
 {
 class GreDevicePrivate;
 
-/**
- * A gre device interface
- * @deprecated renamed to IpTunnelDevice
+/*!
+ * \class NetworkManager::GreDevice
+ * \inheaderfile NetworkManagerQt/GreDevice
+ * \inmodule NetworkManagerQt
+ *
+ * \brief A gre device interface.
+ * \deprecated renamed to IpTunnelDevice
  */
 class NETWORKMANAGERQT_EXPORT GreDevice : public Device
 {
     Q_OBJECT
+
+    /*!
+     * \property NetworkManager::GreDevice::inputFlags
+     */
     Q_PROPERTY(ushort inputFlags READ inputFlags NOTIFY inputFlagsChanged)
+
+    /*!
+     * \property NetworkManager::GreDevice::outputFlags
+     */
     Q_PROPERTY(ushort outputFlags READ outputFlags NOTIFY outputFlagsChanged)
+
+    /*!
+     * \property NetworkManager::GreDevice::inputKey
+     */
     Q_PROPERTY(uint inputKey READ inputKey NOTIFY inputKeyChanged)
+
+    /*!
+     * \property NetworkManager::GreDevice::outputKey
+     */
     Q_PROPERTY(uint outputKey READ outputKey NOTIFY outputKeyChanged)
+
+    /*!
+     * \property NetworkManager::GreDevice::localEnd
+     */
     Q_PROPERTY(QString localEnd READ localEnd NOTIFY localEndChanged)
+
+    /*!
+     * \property NetworkManager::GreDevice::remoteEnd
+     */
     Q_PROPERTY(QString remoteEnd READ remoteEnd NOTIFY remoteEndChanged)
+
+    /*!
+     * \property NetworkManager::GreDevice::parent
+     */
     Q_PROPERTY(QString parent READ parent NOTIFY parentChanged)
+
+    /*!
+     * \property NetworkManager::GreDevice::pathMtuDiscovery
+     */
     Q_PROPERTY(bool pathMtuDiscovery READ pathMtuDiscovery NOTIFY pathMtuDiscoveryChanged)
+
+    /*!
+     * \property NetworkManager::GreDevice::tos
+     */
     Q_PROPERTY(uchar tos READ tos NOTIFY tosChanged)
+
+    /*!
+     * \property NetworkManager::GreDevice::ttl
+     */
     Q_PROPERTY(uchar ttl READ ttl NOTIFY ttlChanged)
 
 public:
+    /*!
+     * \typedef NetworkManager::GreDevice::Ptr
+     */
     typedef QSharedPointer<GreDevice> Ptr;
+    /*!
+     * \typedef NetworkManager::GreDevice::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     explicit GreDevice(const QString &path, QObject *parent = nullptr);
     ~GreDevice() override;
 
+    /*!
+     */
     Type type() const override;
 
+    /*!
+     */
     ushort inputFlags() const;
+    /*!
+     */
     ushort outputFlags() const;
+    /*!
+     */
     uint inputKey() const;
+    /*!
+     */
     uint outputKey() const;
+    /*!
+     */
     QString localEnd() const;
+    /*!
+     */
     QString remoteEnd() const;
+    /*!
+     */
     QString parent() const;
+    /*!
+     */
     bool pathMtuDiscovery() const;
+    /*!
+     */
     uchar tos() const;
+    /*!
+     */
     uchar ttl() const;
 
 Q_SIGNALS:
+    /*!
+     */
     void inputFlagsChanged(ushort inputflags);
+    /*!
+     */
     void outputFlagsChanged(ushort outputFlags);
+    /*!
+     */
     void inputKeyChanged(uint inputKey);
+    /*!
+     */
     void outputKeyChanged(uint outputKey);
+    /*!
+     */
     void localEndChanged(const QString &localEnd);
+    /*!
+     */
     void remoteEndChanged(const QString &remoteEnd);
+    /*!
+     */
     void parentChanged(const QString &parent);
+    /*!
+     */
     void pathMtuDiscoveryChanged(bool pathMtuDiscovery);
+    /*!
+     */
     void tosChanged(uchar tos);
+    /*!
+     */
     void ttlChanged(uchar ttl);
 
 private:
diff -pruN 6.13.0-1/src/infinibanddevice.h 6.17.0-0ubuntu1/src/infinibanddevice.h
--- 6.13.0-1/src/infinibanddevice.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/infinibanddevice.h	2025-08-01 10:40:12.000000000 +0000
@@ -14,38 +14,58 @@ namespace NetworkManager
 {
 class InfinibandDevicePrivate;
 
-/**
- * An infiniband device interface
+/*!
+ * \class NetworkManager::InfinibandDevice
+ * \inheaderfile NetworkManagerQt/InfinibandDevice
+ * \inmodule NetworkManagerQt
+ *
+ * \brief An infiniband device interface.
  */
 class NETWORKMANAGERQT_EXPORT InfinibandDevice : public Device
 {
     Q_OBJECT
+
+    /*!
+     * \property NetworkManager::InfinibandDevice::carrier
+     */
     Q_PROPERTY(bool carrier READ carrier NOTIFY carrierChanged)
+
+    /*!
+     * \property NetworkManager::InfinibandDevice::hwAddress
+     */
     Q_PROPERTY(QString hwAddress READ hwAddress NOTIFY hwAddressChanged)
 
 public:
+    /*!
+     * \typedef NetworkManager::InfinibandDevice::Ptr
+     */
     typedef QSharedPointer<InfinibandDevice> Ptr;
+    /*!
+     * \typedef NetworkManager::InfinibandDevice::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     explicit InfinibandDevice(const QString &path, QObject *parent = nullptr);
     ~InfinibandDevice() override;
 
     Type type() const override;
 
-    /**
+    /*!
      * Indicates whether the physical carrier is found
      */
     bool carrier() const;
-    /**
+    /*!
      * Hardware address of the device
      */
     QString hwAddress() const;
 
 Q_SIGNALS:
-    /**
+    /*!
      * Emitted when the carrier of this device has changed
      */
     void carrierChanged(bool plugged);
-    /**
+    /*!
      * Emitted when the hardware address of this device has changed
      */
     void hwAddressChanged(const QString &address);
diff -pruN 6.13.0-1/src/ipaddress.h 6.17.0-0ubuntu1/src/ipaddress.h
--- 6.13.0-1/src/ipaddress.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/ipaddress.h	2025-08-01 10:40:12.000000000 +0000
@@ -14,44 +14,48 @@
 
 namespace NetworkManager
 {
-/**
- * This class represents IP address
+/*!
+ * \class NetworkManager::IpAddress
+ * \inheaderfile NetworkManagerQt/IpAddress
+ * \inmodule NetworkManagerQt
+ *
+ * \brief This class represents IP address.
  */
 class NETWORKMANAGERQT_EXPORT IpAddress : public QNetworkAddressEntry
 {
 public:
-    /**
+    /*!
      * Constructs an empty IpAddress object.
      */
     IpAddress();
 
-    /**
+    /*!
      * Constructs an IpAddress object that is a copy of the object other.
      */
     IpAddress(const IpAddress &other);
 
-    /**
+    /*!
      * Destroys this IpAddress object.
      */
     ~IpAddress();
 
-    /**
+    /*!
      * Return if the IP address is defined.
      */
     bool isValid() const;
 
-    /**
-     * Defines the default @p gateway of this object.
+    /*!
+     * Defines the default \a gateway of this object.
      */
     void setGateway(const QHostAddress &gateway);
 
-    /**
+    /*!
      * Returns the default gateway of this object.
      */
     QHostAddress gateway() const;
 
-    /**
-     * Makes a copy of the IpAddress object @p other.
+    /*!
+     * Makes a copy of the IpAddress object \a other.
      */
     IpAddress &operator=(const IpAddress &other);
 
@@ -59,6 +63,9 @@ private:
     class Private;
     Private *const d;
 };
+/*!
+ * \typedef NetworkManager::IpAddresses
+ */
 typedef QList<IpAddress> IpAddresses;
 
 } // namespace NetworkManager
diff -pruN 6.13.0-1/src/ipconfig.h 6.17.0-0ubuntu1/src/ipconfig.h
--- 6.13.0-1/src/ipconfig.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/ipconfig.h	2025-08-01 10:40:12.000000000 +0000
@@ -21,91 +21,95 @@
 
 namespace NetworkManager
 {
-/**
- * This class represents IP configuration
+/*!
+ * \class NetworkManager::IpConfig
+ * \inheaderfile NetworkManagerQt/IpConfig
+ * \inmodule NetworkManagerQt
+ *
+ * \brief This class represents IP configuration.
  */
 class NETWORKMANAGERQT_EXPORT IpConfig
 {
 public:
-    /**
-     * Constructs an IP config object with a list of @p addresses, @p nameservers, @p domains and @p routes.
+    /*!
+     * Constructs an IP config object with a list of \a addresses, \a nameservers, \a domains and \a routes.
      */
     IpConfig(const IpAddresses &addresses, const QList<QHostAddress> &nameservers, const QStringList &domains, const IpRoutes &routes);
 
-    /**
+    /*!
      * Constructs an empty IpConfig object.
      */
     IpConfig();
 
-    /**
+    /*!
      * Destroys this IpConfig object.
      */
     ~IpConfig();
 
-    /**
-     * Constructs an IpConfig object that is a copy of the object @p other.
+    /*!
+     * Constructs an IpConfig object that is a copy of the object \a other.
      */
     IpConfig(const IpConfig &other);
 
-    /**
-     * Configure this class using the information on the following @p path
+    /*!
+     * Configure this class using the information on the following \a path
      */
     void setIPv4Path(const QString &path);
 
-    /**
-     * Configure this class using the information on the following @p path
+    /*!
+     * Configure this class using the information on the following \a path
      */
     void setIPv6Path(const QString &path);
 
-    /**
+    /*!
      * Returns a list of IP addresses and gateway related to this configuration.
      * Use IpAddress::ip() to access the IP address and IpAddress::gateway()
      * to access the gateway address.
      */
     NetworkManager::IpAddresses addresses() const;
 
-    /**
+    /*!
      * Returns a list of domains related to this configuration.
      */
     QStringList domains() const;
 
-    /**
+    /*!
      * Returns the gateway in use
      *
-     * @since 0.9.9.0
+     * \since 0.9.9.0
      */
     QString gateway() const;
 
-    /**
+    /*!
      * Returns a list of nameservers related to this configuration.
      */
     QList<QHostAddress> nameservers() const;
 
-    /**
+    /*!
      * Returns a list of static routes (not the default gateway) related to this configuration.
-     * Use @ref addresses() to retrieve the default gateway.
+     * Use \ addresses() to retrieve the default gateway.
      */
     IpRoutes routes() const;
 
-    /**
+    /*!
      * Returns a list of DNS searches.
      *
-     * @since 0.9.9.0
+     * \since 0.9.9.0
      */
     QStringList searches() const;
 
-    /**
+    /*!
      * Returns a list of DNS options that modify the behaviour of the DNS resolver.
-     * @since 5.14.0
+     * \since 5.14.0
      */
     QStringList dnsOptions() const;
 
-    /**
-     * Makes a copy of the IpConfig object @p other.
+    /*!
+     * Makes a copy of the IpConfig object \a other.
      */
     IpConfig &operator=(const IpConfig &other);
 
-    /**
+    /*!
      * Returns false if the list of IP addresses is empty
      */
     bool isValid() const;
diff -pruN 6.13.0-1/src/iproute.h 6.17.0-0ubuntu1/src/iproute.h
--- 6.13.0-1/src/iproute.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/iproute.h	2025-08-01 10:40:12.000000000 +0000
@@ -15,55 +15,59 @@
 
 namespace NetworkManager
 {
-/**
- * This class represents IP route
+/*!
+ * \class NetworkManager::IpRoute
+ * \inheaderfile NetworkManagerQt/IpRoute
+ * \inmodule NetworkManagerQt
+ *
+ * \brief This class represents IP route.
  */
 class NETWORKMANAGERQT_EXPORT IpRoute : public QNetworkAddressEntry
 {
 public:
-    /**
+    /*!
      * Constructs an empty IpRoute object.
      */
     IpRoute();
 
-    /**
-     * Constructs an IpRoute object that is a copy of the object @p other.
+    /*!
+     * Constructs an IpRoute object that is a copy of the object \a other.
      */
     IpRoute(const IpRoute &other);
 
-    /**
+    /*!
      * Destroys this IpRoute object.
      */
     ~IpRoute();
 
-    /**
+    /*!
      * Returns true if the route IP is defined.
      */
     bool isValid() const;
 
-    /**
+    /*!
      * Defines the next hop of the given route.
      */
     void setNextHop(const QHostAddress &nextHop) const;
 
-    /**
+    /*!
      * Returns the next hop of the given route.
      */
     QHostAddress nextHop() const;
 
-    /**
-     * Defines the @p metric of the given route,
+    /*!
+     * Defines the \a metric of the given route,
      * lower values have higher priority.
      */
     void setMetric(quint32 metric);
 
-    /**
+    /*!
      * Returns the route metric number of the given route.
      */
     quint32 metric() const;
 
-    /**
-     * Makes a copy of the IpRoute object @p other.
+    /*!
+     * Makes a copy of the IpRoute object \a other.
      */
     IpRoute &operator=(const IpRoute &other);
 
@@ -71,6 +75,9 @@ private:
     class Private;
     Private *const d;
 };
+/*!
+ * \typedef NetworkManager::IpRoutes
+ */
 typedef QList<IpRoute> IpRoutes;
 
 } // namespace NetworkManager
diff -pruN 6.13.0-1/src/iptunneldevice.h 6.17.0-0ubuntu1/src/iptunneldevice.h
--- 6.13.0-1/src/iptunneldevice.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/iptunneldevice.h	2025-08-01 10:40:12.000000000 +0000
@@ -14,120 +14,176 @@ namespace NetworkManager
 {
 class IpTunnelDevicePrivate;
 
-/**
- * A Ip Tunnel device interface
+/*!
+ * \class NetworkManager::IpTunnelDevice
+ * \inheaderfile NetworkManagerQt/IpTunnelDevice
+ * \inmodule NetworkManagerQt
+ *
+ * \brief A Ip Tunnel device interface.
  */
 class NETWORKMANAGERQT_EXPORT IpTunnelDevice : public Device
 {
     Q_OBJECT
+
+    /*!
+     * \property NetworkManager::IpTunnelDevice::encapsulationLimit
+     */
     Q_PROPERTY(uchar encapsulationLimit READ encapsulationLimit NOTIFY encapsulationLimitChanged)
+
+    /*!
+     * \property NetworkManager::IpTunnelDevice::flowLabel
+     */
     Q_PROPERTY(uint flowLabel READ flowLabel NOTIFY flowLabelChanged)
+
+    /*!
+     * \property NetworkManager::IpTunnelDevice::inputKey
+     */
     Q_PROPERTY(QString inputKey READ inputKey NOTIFY inputKeyChanged)
+
+    /*!
+     * \property NetworkManager::IpTunnelDevice::local
+     */
     Q_PROPERTY(QString local READ local NOTIFY localChanged)
+
+    /*!
+     * \property NetworkManager::IpTunnelDevice::mode
+     */
     Q_PROPERTY(uint mode READ mode NOTIFY modeChanged)
+
+    /*!
+     * \property NetworkManager::IpTunnelDevice::outputKey
+     */
     Q_PROPERTY(QString outputKey READ outputKey NOTIFY outputKeyChanged)
+
+    /*!
+     * \property NetworkManager::IpTunnelDevice::parent
+     */
     Q_PROPERTY(NetworkManager::Device::Ptr parent READ parent NOTIFY parentChanged)
+
+    /*!
+     * \property NetworkManager::IpTunnelDevice::pathMtuDiscovery
+     */
     Q_PROPERTY(bool pathMtuDiscovery READ pathMtuDiscovery NOTIFY pathMtuDiscoveryChanged)
+
+    /*!
+     * \property NetworkManager::IpTunnelDevice::remote
+     */
     Q_PROPERTY(QString remote READ remote NOTIFY remoteChanged)
+
+    /*!
+     * \property NetworkManager::IpTunnelDevice::tos
+     */
     Q_PROPERTY(uchar tos READ tos NOTIFY tosChanged)
+
+    /*!
+     * \property NetworkManager::IpTunnelDevice::ttl
+     */
     Q_PROPERTY(uchar ttl READ ttl NOTIFY ttlChanged)
 
 public:
+    /*!
+     * \typedef NetworkManager::IpTunnelDevice::Ptr
+     */
     typedef QSharedPointer<IpTunnelDevice> Ptr;
+    /*!
+     * \typedef NetworkManager::IpTunnelDevice::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     explicit IpTunnelDevice(const QString &path, QObject *parent = nullptr);
     ~IpTunnelDevice() override;
 
     Type type() const override;
 
-    /**
+    /*!
      * How many additional levels of encapsulation are permitted to be prepended to packets.
      * This property applies only to IPv6 tunnels.
      */
     uchar encapsulationLimit() const;
-    /**
+    /*!
      * The flow label to assign to tunnel packets. This property applies only to IPv6 tunnels.
      */
     uint flowLabel() const;
-    /**
+    /*!
      * The key used for incoming packets.
      */
     QString inputKey() const;
-    /**
+    /*!
      * The local endpoint of the tunnel.
      */
     QString local() const;
-    /**
+    /*!
      * The tunneling mode.
      */
     uint mode() const;
-    /**
+    /*!
      * The key used for outgoing packets.
      */
     QString outputKey() const;
-    /**
+    /*!
      * The object path of the parent device.
      */
     NetworkManager::Device::Ptr parent() const;
-    /**
+    /*!
      * Whether path MTU discovery is enabled on this tunnel.
      */
     bool pathMtuDiscovery() const;
-    /**
+    /*!
      * The remote endpoint of the tunnel.
      */
     QString remote() const;
-    /**
+    /*!
      * The type of service (IPv4) or traffic class (IPv6) assigned to tunneled packets.
      */
     uchar tos() const;
-    /**
+    /*!
      * The TTL assigned to tunneled packets. 0 is a special value meaning that packets inherit the TTL value
      */
     uchar ttl() const;
 
 Q_SIGNALS:
-    /**
+    /*!
      * Emitted when the encapsulation limit has changed
      */
     void encapsulationLimitChanged(uchar limit);
-    /**
+    /*!
      * Emitted when the flow label has changed
      */
     void flowLabelChanged(uint flowLabel);
-    /**
+    /*!
      * Emitted when the key used for incoming packets has changed
      */
     void inputKeyChanged(const QString &inputKey);
-    /**
+    /*!
      * Emitted when the local endpoint of the tunnel has changed
      */
     void localChanged(const QString &local);
-    /**
+    /*!
      * Emitted when the tunneling mode has changed
      */
     void modeChanged(uint mode);
-    /**
+    /*!
      * Emitted when the key used for outgoing packets has changed
      */
     void outputKeyChanged(const QString &outputKey);
-    /**
+    /*!
      * Emitted when the parent of this device has changed
      */
     void parentChanged(const QString &parent);
-    /**
+    /*!
      * Emitted when the path MTU discovery enablemened has changed
      */
     void pathMtuDiscoveryChanged(bool pathMtuDiscovery);
-    /**
+    /*!
      * Emitted when the remote endpoint of the tunnel has changed
      */
     void remoteChanged(const QString &remote);
-    /**
+    /*!
      * Emitted when the type of service or traffic class assigned to tunneled packets has changed
      */
     void tosChanged(uchar tos);
-    /**
+    /*!
      * Emitted when the TTL assigned to tunneled packets has changed
      */
     void ttlChanged(uchar ttl);
diff -pruN 6.13.0-1/src/macvlandevice.h 6.17.0-0ubuntu1/src/macvlandevice.h
--- 6.13.0-1/src/macvlandevice.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/macvlandevice.h	2025-08-01 10:40:12.000000000 +0000
@@ -14,31 +14,67 @@ namespace NetworkManager
 {
 class MacVlanDevicePrivate;
 
-/**
- * A macvlan device interface
+/*!
+ * \class NetworkManager::MacVlanDevice
+ * \inheaderfile NetworkManagerQt/MacVlanDevice
+ * \inmodule NetworkManagerQt
+ *
+ * \brief A macvlan device interface.
  */
 class NETWORKMANAGERQT_EXPORT MacVlanDevice : public Device
 {
     Q_OBJECT
+
+    /*!
+     * \property NetworkManager::MacVlanDevice::mode
+     */
     Q_PROPERTY(QString mode READ mode NOTIFY modeChanged)
+
+    /*!
+     * \property NetworkManager::MacVlanDevice::noPromisc
+     */
     Q_PROPERTY(bool noPromisc READ noPromisc NOTIFY noPromiscChanged)
+
+    /*!
+     * \property NetworkManager::MacVlanDevice::parent
+     */
     Q_PROPERTY(QString parent READ parent NOTIFY parentChanged)
 
 public:
+    /*!
+     * \typedef NetworkManager::MacVlanDevice::Ptr
+     */
     typedef QSharedPointer<MacVlanDevice> Ptr;
+    /*!
+     * \typedef NetworkManager::MacVlanDevice::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     explicit MacVlanDevice(const QString &path, QObject *parent = nullptr);
     ~MacVlanDevice() override;
 
     Type type() const override;
 
+    /*!
+     */
     QString mode() const;
+    /*!
+     */
     bool noPromisc() const;
+    /*!
+     */
     QString parent() const;
 
 Q_SIGNALS:
+    /*!
+     */
     void modeChanged(const QString &mode);
+    /*!
+     */
     void noPromiscChanged(bool noPromisc);
+    /*!
+     */
     void parentChanged(const QString &parent);
 
 private:
diff -pruN 6.13.0-1/src/manager.h 6.17.0-0ubuntu1/src/manager.h
--- 6.13.0-1/src/manager.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/manager.h	2025-08-01 10:40:12.000000000 +0000
@@ -15,7 +15,10 @@
 #include "device.h"
 #include "dnsconfiguration.h"
 
-/**
+/*!
+ * \namespace NetworkManager
+ * \inmodule NetworkManagerQt
+ *
  * This class allows querying the underlying system to discover the available
  * network interfaces and reachable networks. It has also the
  * responsibility to notify when a network interface appears or disappears.
@@ -29,26 +32,99 @@ namespace NetworkManager
 {
 Q_NAMESPACE_EXPORT(NETWORKMANAGERQT_EXPORT)
 
+/*!
+ *
+ * Possible device interfaceflags
+ *
+ * \value Unknown
+ *        the networking system is not active or unable to report its status - proceed with caution
+ * \value Asleep
+ *        networking is inactive and all devices are disabled
+ * \value Disconnected
+ *        the system is not connected to any network
+ * \value Disconnecting
+ *        the system is breaking the connection
+ * \value Connecting
+ *        the system is not connected to any network
+ * \value ConnectedLinkLocal
+ *        a network device is connected, but there is only link-local connectivity
+ * \value ConnectedSiteOnly
+ *        a network device is connected, but there is only site-local connectivity
+ * \value Connected
+ *        the system is currently connected to a network
+ */
 enum Status {
-    Unknown, /**< the networking system is not active or unable to report its status - proceed with caution */
-    Asleep, /**< networking is inactive and all devices are disabled */
-    Disconnected, /**< the system is not connected to any network */
-    Disconnecting, /**< the system is breaking the connection */
-    Connecting, /**< the system is not connected to any network */
-    ConnectedLinkLocal, /**< a network device is connected, but there is only link-local connectivity */
-    ConnectedSiteOnly, /**< a network device is connected, but there is only site-local connectivity */
-    Connected, /**< the system is currently connected to a network */
+    Unknown,
+    Asleep,
+    Disconnected,
+    Disconnecting,
+    Connecting,
+    ConnectedLinkLocal,
+    ConnectedSiteOnly,
+    Connected,
 };
 Q_ENUM_NS(Status)
 
+/*!
+ *
+ * \value Error
+ * \value Warning
+ * \value Info
+ * \value Debug
+ * \value Trace
+ *        = Debug in runtime NM < 0.9.10
+ */
 enum LogLevel {
     Error,
     Warning,
     Info,
     Debug,
-    Trace, /**< = Debug in runtime NM < 0.9.10*/
+    Trace,
 };
 
+/*!
+ *
+ * \value NoChange
+ * \value None
+ * \value Hardware
+ * \value RFKill
+ * \value Ethernet
+ * \value WiFi
+ * \value Bluetooth
+ * \value MobileBroadBand
+ * \value DHCP4
+ * \value DHCP6
+ * \value PPP
+ * \value WiFiScan
+ * \value IPv4
+ * \value IPv6
+ * \value AutoIPv4
+ * \value DNS
+ * \value VPN
+ * \value Sharing
+ * \value Supplicant
+ * \value UserSet
+ * \value SysSet
+ * \value Suspend
+ * \value Core
+ * \value Devices
+ * \value OLPC
+ * \value Wimax
+ *        TODO: mark it deprecated somehow?
+ * \value Infiniband
+ * \value Firewall
+ * \value Adsl
+ * \value Bond
+ * \value Vlan
+ * \value Agents
+ * \value Settings
+ * \value Bridge
+ * \value DbusProps
+ * \value Team
+ * \value ConCheck
+ * \value Dcb
+ * \value Dispatch
+ */
 enum LogDomain {
     NoChange,
     None,
@@ -93,288 +169,306 @@ enum LogDomain {
 Q_DECLARE_FLAGS(LogDomains, LogDomain)
 Q_FLAGS(LogDomain)
 
-/**
+/*!
+ *
  * Describes the network connectivity state.
- * @since 0.9.9.0
+ *
+ * \since 0.9.9.0
+ *
+ * \value UnknownConnectivity
+ *        Network connectivity is unknown.
+ * \value NoConnectivity
+ *        The host is not connected to any network.
+ * \value Portal
+ *        The host is behind a captive portal and cannot reach the full Internet.
+ * \value Limited
+ *        The host is connected to a network, but does not appear to be able to reach the full Internet.
+ * \value Full
+ *        The host is connected to a network, and appears to be able to reach the full Internet.
  */
 enum Connectivity {
-    UnknownConnectivity = 0, /**< Network connectivity is unknown. */
-    NoConnectivity = 1, /**< The host is not connected to any network. */
-    Portal = 2, /**< The host is behind a captive portal and cannot reach the full Internet. */
-    Limited = 3, /**< The host is connected to a network, but does not appear to be able to reach the full Internet. */
-    Full = 4, /**< The host is connected to a network, and appears to be able to reach the full Internet. */
+    UnknownConnectivity = 0,
+    NoConnectivity = 1,
+    Portal = 2,
+    Limited = 3,
+    Full = 4,
 };
 Q_ENUM_NS(Connectivity)
 
+/*!
+ * \class NetworkManager::Notifier
+ *
+ * \inmodule NetworkManagerQt
+ */
 class NETWORKMANAGERQT_EXPORT Notifier : public QObject
 {
     Q_OBJECT
 Q_SIGNALS:
-    /**
+    /*!
      * This signal is emitted when the system's connection state changes
      */
     void statusChanged(NetworkManager::Status status);
-    /**
+    /*!
      * This signal is emitted when a new network interface is available.
      *
-     * @param uni the network interface identifier
+     * \a uni the network interface identifier
      */
     void deviceAdded(const QString &uni);
-    /**
+    /*!
      * This signal is emitted when a network interface is not available anymore.
      *
-     * @param uni the network interface identifier
+     * \a uni the network interface identifier
      */
     void deviceRemoved(const QString &uni);
-    /**
+    /*!
      * This signal is emitted when the status of the wireless changed
      */
     void wirelessEnabledChanged(bool);
-    /**
+    /*!
      * This signal is emitted when the status of the wireless changed
      */
     void wwanEnabledChanged(bool);
-    /**
+    /*!
      * This signal is emitted when the status of the wimax changed
      *
-     * @deprecated Wimax support was removed from NetworkManager 1.2
+     * \deprecated Wimax support was removed from NetworkManager 1.2
      * (never emitted in runtime NM >= 1.2.0).
      */
     void wimaxEnabledChanged(bool);
-    /**
+    /*!
      * This signal is emitted when the status of the wireless changed
      */
     void wirelessHardwareEnabledChanged(bool);
-    /**
+    /*!
      * This signal is emitted when the status of the wireless changed
      */
     void wwanHardwareEnabledChanged(bool);
-    /**
+    /*!
      * This signal is emitted when the status of the wimax hardware changed
      *
-     * @deprecated Wimax support was removed from NetworkManager 1.2
+     * \deprecated Wimax support was removed from NetworkManager 1.2
      * (never emitted in runtime NM >= 1.2.0).
      */
     void wimaxHardwareEnabledChanged(bool);
-    /**
+    /*!
      * This signal is emitted when the status of overall networking changed
      */
     void networkingEnabledChanged(bool);
-    /**
+    /*!
      * This signal is emitted when a new connection was made active
      *
-     * @param path the path of the new connection
+     * \a path the path of the new connection
      */
     void activeConnectionAdded(const QString &path);
-    /**
+    /*!
      * This signal is emitted when an active connection is no longer active
      *
-     * @param path the path of the removed connection
+     * \a path the path of the removed connection
      */
     void activeConnectionRemoved(const QString &path);
-    /**
+    /*!
      * This signal is emitted when the set of active connections changes
      */
     void activeConnectionsChanged();
-    /**
+    /*!
      * This signal is emitted when the NetworkManager DBus service goes away
      */
     void serviceDisappeared();
-    /**
+    /*!
      * This signal is emitted when the NetworkManager DBus service appears
      */
     void serviceAppeared();
-    /**
+    /*!
      * Emitted when the global connectivity changes.
-     * @since 0.9.9.0
+     * \since 0.9.9.0
      */
     void connectivityChanged(NetworkManager::Connectivity connectivity);
-    /**
+    /*!
      * Emitted when the primary connection changes.
-     * @param uni path of the new primary connection
-     * @since 0.9.9.0
+     * \a uni path of the new primary connection
+     * \since 0.9.9.0
      */
     void primaryConnectionChanged(const QString &uni);
-    /**
+    /*!
      * Emitted when the activating connection changes.
-     * @param uni path of the new activating connection
-     * @since 0.9.9.0
+     * \a uni path of the new activating connection
+     * \since 0.9.9.0
      */
     void activatingConnectionChanged(const QString &uni);
-    /**
+    /*!
      * Emitted when the primary connection type changes.
-     * @param connection type of the new primary connection
-     * @since 5.8.0
+     * \a connection type of the new primary connection
+     * \since 5.8.0
      */
     void primaryConnectionTypeChanged(NetworkManager::ConnectionSettings::ConnectionType type);
 
-    /**
+    /*!
      * Emitted when NM has started/finished its startup sequence
-     * @since 0.9.9.0
+     * \since 0.9.9.0
      */
     void isStartingUpChanged();
 
-    /**
+    /*!
      * Emitted when metered property has changed
-     * @since 5.14.0
-     * @see metered
+     * \since 5.14.0
+     * \sa metered
      */
     void meteredChanged(NetworkManager::Device::MeteredStatus metered);
 
-    /**
+    /*!
      * Emitted when the global DNS configuration has changed
-     * @since 5.45.0
-     * @see globalDnsConfiguration
+     * \since 5.45.0
+     * \sa globalDnsConfiguration
      */
     void globalDnsConfigurationChanged(const NetworkManager::DnsConfiguration &configuration);
 
-    /**
+    /*!
      * Emitted when the connectivity check availability has changed
      * @since 6.10.0
      */
     void isConnectivityCheckAvailableChanged(bool);
 
-    /**
+    /*!
      * Emitted when the connectivity check statu has changed
      * @since 6.10.0
      */
     void isConnectivityCheckEnabledChanged(bool);
 
-    /**
+    /*!
      * Emitted when the connectivity check URI has changed
      * @since 6.10.0
      */
     void connectivityCheckUriChanged(QString);
 };
 
-/**
+/*!
  * Get the NetworkManager version
  */
 NETWORKMANAGERQT_EXPORT QString version();
-/**
+/*!
  * Compares NetworkManager's version to the parameter version.
  * returns 1, -1 or 0 if NetworkManager's version is greater, less or equal to parameter.
  */
 NETWORKMANAGERQT_EXPORT int compareVersion(const QString &version);
-/**
+/*!
  * Compares NetworkManager version to x.y.z.
  * returns 1, -1 or 0 if NetworkManager's version is greater, less or equal to x.y.z.
  */
 NETWORKMANAGERQT_EXPORT int compareVersion(const int x, const int y, const int z);
-/**
+/*!
  * Checks if NetworkManager version is at least x.y.z
- * @return true if NetworkManager's version is greater or equal, false otherwise
+ * Returns true if NetworkManager's version is greater or equal, false otherwise
  **/
 NETWORKMANAGERQT_EXPORT bool checkVersion(const int x, const int y, const int z);
-/**
+/*!
  * Get the manager connection state
  */
 NETWORKMANAGERQT_EXPORT NetworkManager::Status status();
-/**
+/*!
  * Retrieves the list of all the network interfaces in the system.
  * It includes both hardware and virtual devices.
  *
- * @return the list of network interfaces available in this system
+ * Returns the list of network interfaces available in this system
  */
 NETWORKMANAGERQT_EXPORT Device::List networkInterfaces();
-/**
+/*!
  * Find a new NetworkInterface object given its UNI.  This pointer is owned by the Solid
  * infrastructure.
  *
- * @param uni the identifier of the network interface to find
- * @return a valid NetworkInterface object if there's a device having the given UNI, an invalid one otherwise
+ * \a uni the identifier of the network interface to find
+ * Returns a valid NetworkInterface object if there's a device having the given UNI, an invalid one otherwise
  */
 NETWORKMANAGERQT_EXPORT Device::Ptr findNetworkInterface(const QString &uni);
-/**
+/*!
  * Return the network device referenced by its IP interface name.
  * This is not system independent so programs that will use this method will not be portable.
  */
 NETWORKMANAGERQT_EXPORT Device::Ptr findDeviceByIpFace(const QString &iface);
-/**
+/*!
  * Retrieves the status of networking (as a whole) in the system.
  * This is distinct from whether the system's networking is online or offline.
- * To check that, see @ref status().
+ * To check that, see \ status().
  *
- * @return true if this networking is enabled, false otherwise
+ * Returns true if this networking is enabled, false otherwise
  */
 NETWORKMANAGERQT_EXPORT bool isNetworkingEnabled();
-/**
+/*!
  * Retrieves the activation status of wireless networking in the system.
  *
- * @return true if this wireless networking is enabled, false otherwise
+ * Returns true if this wireless networking is enabled, false otherwise
  */
 NETWORKMANAGERQT_EXPORT bool isWirelessEnabled();
-/**
+/*!
  * Retrieves the status of wireless hardware in the system. This is typically
  * controlled by a physical switch so there is no way to set this in software.
  *
- * @return true if this wireless networking is enabled, false otherwise
+ * Returns true if this wireless networking is enabled, false otherwise
  */
 NETWORKMANAGERQT_EXPORT bool isWirelessHardwareEnabled();
-/**
+/*!
  * Retrieves the status of wireless broadband (Wireless WAN) in the system.
  *
- * @return true if this type of wireless networking is enabled, false otherwise
+ * Returns true if this type of wireless networking is enabled, false otherwise
  */
 NETWORKMANAGERQT_EXPORT bool isWwanEnabled();
-/**
+/*!
  * Retrieves the status of wireless broadband (Wireless WAN) hardware in the system. This is typically
  * controlled by a physical switch so there is no way to set this in software.
  *
- * @return true if this broddband hardware is enabled, false otherwise
+ * Returns true if this broddband hardware is enabled, false otherwise
  */
 NETWORKMANAGERQT_EXPORT bool isWwanHardwareEnabled();
 
-/**
+/*!
  * Retrieves the activation status of wimax networking in the system.
  *
- * @return true if this wimax networking is enabled, false otherwise
+ * Returns true if this wimax networking is enabled, false otherwise
  *
- * @deprecated Wimax support was removed from NetworkManager 1.2
+ * \deprecated Wimax support was removed from NetworkManager 1.2
  * (always returns false in runtime NM >= 1.2.0).
  */
 NETWORKMANAGERQT_EXPORT bool isWimaxEnabled();
-/**
+/*!
  * Retrieves the status of wimax hardware in the system. This is typically
  * controlled by a physical switch so there is no way to set this in software.
  *
- * @return true if wimax HW networking is enabled, false otherwise
+ * Returns true if wimax HW networking is enabled, false otherwise
  *
- * @deprecated Wimax support was removed from NetworkManager 1.2
+ * \deprecated Wimax support was removed from NetworkManager 1.2
  * (always returns false in runtime NM >= 1.2.0).
  */
 NETWORKMANAGERQT_EXPORT bool isWimaxHardwareEnabled();
 
-/**
+/*!
  * Activate a connection using the supplied device.
  *
- * @param connectionUni unique identifier for the connection to be activated
- * @param interfaceUni unique identifier of the network interface to be activated
- * @param connectionParameter can be used to specify extra parameters not specific to the NetworkInterface or the connection, eg which AP to use when several
+ * \a connectionUni unique identifier for the connection to be activated
+ * \a interfaceUni unique identifier of the network interface to be activated
+ * \a connectionParameter can be used to specify extra parameters not specific to the NetworkInterface or the connection, eg which AP to use when several
  * present with same ESSID in range (because ESSID does not guarantee that the AP is part of the network you want to join!)
  */
 NETWORKMANAGERQT_EXPORT QDBusPendingReply<QDBusObjectPath>
 activateConnection(const QString &connectionUni, const QString &interfaceUni, const QString &connectionParameter);
-/**
+/*!
  * Adds a new connection using the given details (if any) as a template (automatically filling in missing settings with the capabilities of the given device and
  * specific object), then activate the new connection. Cannot be used for VPN connections at this time.
  *
- * @param connection connection definition to be added and activated
- * @param interfaceUni unique identifier of the network interface to be activated
- * @param connectionParameter can be used to specify extra parameters not specific to the NetworkInterface or the connection, eg which AP to use when several
+ * \a connection connection definition to be added and activated
+ * \a interfaceUni unique identifier of the network interface to be activated
+ * \a connectionParameter can be used to specify extra parameters not specific to the NetworkInterface or the connection, eg which AP to use when several
  * present with same ESSID in range (because ESSID does not guarantee that the AP is part of the network you want to join!)
  */
 NETWORKMANAGERQT_EXPORT QDBusPendingReply<QDBusObjectPath, QDBusObjectPath>
 addAndActivateConnection(const NMVariantMapMap &connection, const QString &interfaceUni, const QString &connectionParameter);
-/**
+/*!
  * Adds a new connection using the given details (if any) as a template (automatically filling in missing settings with the capabilities of the given device and
  * specific object), then activate the new connection. Cannot be used for VPN connections at this time.
  *
- * @param connection connection definition to be added and activated
- * @param interfaceUni unique identifier of the network interface to be activated
- * @param connectionParameter can be used to specify extra parameters not specific to the NetworkInterface or the connection, eg which AP to use when several
+ * \a connection connection definition to be added and activated
+ * \a interfaceUni unique identifier of the network interface to be activated
+ * \a connectionParameter can be used to specify extra parameters not specific to the NetworkInterface or the connection, eg which AP to use when several
  * present with same ESSID in range (because ESSID does not guarantee that the AP is part of the network you want to join!)
- * @param options further options for the method call.
+ * \a options further options for the method call.
  *
  * This method extends AddAndActivateConnection to allow passing further
  * parameters. At this time the following options are supported:
@@ -384,143 +478,158 @@ addAndActivateConnection(const NMVariant
  *        * bind-activation: Bind the activation lifetime. Set to "dbus-name" to automatically disconnect when the requesting process disappears from the bus.
  * The default of "none" means the connection is kept activated normally.
  *
- * NOTE: will call AddAndActivateConnection(connection, interfaceUni, connectionParameter) instead when NetworkManager is older than 1.16, which means that the
+ * \
+ote will call AddAndActivateConnection(connection, interfaceUni, connectionParameter) instead when NetworkManager is older than 1.16, which means that the
  * options property is ignored
  */
 NETWORKMANAGERQT_EXPORT QDBusPendingReply<QDBusObjectPath, QDBusObjectPath, QVariantMap>
 addAndActivateConnection2(const NMVariantMapMap &connection, const QString &interfaceUni, const QString &connectionParameter, const QVariantMap &options);
-/**
+/*!
  * Deactivate this network interface, if active
  *
- * @param activeConnection identifier of the connection to deactivate
+ * \a activeConnection identifier of the connection to deactivate
  */
 NETWORKMANAGERQT_EXPORT QDBusPendingReply<> deactivateConnection(const QString &activeConnection);
-/**
+/*!
  * Access the list of any active connections
  *
- * @return a list of valid ActiveConnection objects
+ * Returns a list of valid ActiveConnection objects
  */
 NETWORKMANAGERQT_EXPORT ActiveConnection::List activeConnections();
-/**
+/*!
  * Access the list of any active connections paths
  *
- * @return a list of valid ActiveConnection paths
+ * Returns a list of valid ActiveConnection paths
  */
 NETWORKMANAGERQT_EXPORT QStringList activeConnectionsPaths();
-/**
+/*!
  * Get current logging verbosity level and operations domains
  */
 NETWORKMANAGERQT_EXPORT QDBusPendingReply<QString, QString> getLogging();
 
-/**
- * @return the network connectivity state
- * @since 0.9.9.0
+/*!
+ * Returns the network connectivity state
+ * \since 0.9.9.0
  */
 NETWORKMANAGERQT_EXPORT Connectivity connectivity();
 
-/**
+/*!
  * Re-check the network connectivity state.
- * @see connectivity()
- * @since 0.9.9.0
+ * \sa connectivity()
+ * \since 0.9.9.0
  */
 NETWORKMANAGERQT_EXPORT QDBusPendingReply<uint> checkConnectivity();
 
-/**
- * @return the "primary" active connection being used
+/*!
+ * Returns the "primary" active connection being used
  * to access the network. In particular, if there is no VPN
  * active, or the VPN does not have the default route, then this
  * indicates the connection that has the default route. If there
  * is a VPN active with the default route, then this indicates
  * the connection that contains the route to the VPN endpoint.
- * @since 0.9.9.0
+ * \since 0.9.9.0
  */
 NETWORKMANAGERQT_EXPORT ActiveConnection::Ptr primaryConnection();
 
-/**
- * @return an active connection that is currently
+/*!
+ * Returns an active connection that is currently
  * being activated and which is expected to become the new
  * primaryConnection() when it finishes activating.
- * @since 0.9.9.0
+ * \since 0.9.9.0
  */
 NETWORKMANAGERQT_EXPORT ActiveConnection::Ptr activatingConnection();
 
-/**
- * @return The connection type of the "primary" active connection being
+/*!
+ * Returns The connection type of the "primary" active connection being
  * used to access the network. This is the same as the Type
  * property on the object indicated by PrimaryConnection.
- * @since 5.8.0
+ * \since 5.8.0
  */
 NETWORKMANAGERQT_EXPORT NetworkManager::ConnectionSettings::ConnectionType primaryConnectionType();
 
-/**
- * Indicates whether NM is still starting up; this becomes @p false
+/*!
+ * Indicates whether NM is still starting up; this becomes \a false
  * when NM has finished attempting to activate every connection
  * that it might be able to activate at startup.
- * @since 0.9.9.0
+ * \since 0.9.9.0
  */
 NETWORKMANAGERQT_EXPORT bool isStartingUp();
 
-/**
- * @return Indicates whether the connectivity is metered.
- * @since 5.14.0
+/*!
+ * Returns Indicates whether the connectivity is metered.
+ * \since 5.14.0
  */
 NETWORKMANAGERQT_EXPORT NetworkManager::Device::MeteredStatus metered();
 
-/**
- * @return Gets the global DNS configuration.
- * @since 5.45.0
+/*!
+ * Returns Gets the global DNS configuration.
+ * \since 5.45.0
  */
 NETWORKMANAGERQT_EXPORT NetworkManager::DnsConfiguration globalDnsConfiguration();
 
-/**
- * @return Sets the global DNS configuration.
- * @since 5.45.0
+/*!
+ * Returns Sets the global DNS configuration.
+ * \since 5.45.0
  */
 NETWORKMANAGERQT_EXPORT void setGlobalDnsConfiguration(const NetworkManager::DnsConfiguration &configuration);
 
-/**
- * @return Whether the connectivity check is available
- * @since 6.10.0
+/*!
+ * Returns whether the connectivity check is available
+ * \since 6.10.0
  */
 NETWORKMANAGERQT_EXPORT bool isConnectivityCheckAvailable();
 
-/**
- * @return Whether the connectivity check is enabled
- * @since 6.10.0
+/*!
+ * Returns whether the connectivity check is enabled
+ * \since 6.10.0
  */
 NETWORKMANAGERQT_EXPORT bool isConnectivityCheckEnabled();
 
-/**
- * @return The URI used for connectivity check
- * @since 6.10.0
+/*!
+ * Returns the URI used for connectivity check
+ * \since 6.10.0
  */
 NETWORKMANAGERQT_EXPORT QString connectivityCheckUri();
 
-/**
+/*!
  * Find an ActiveConnection object for an active connection id
  *
- * @param uni the id of the ActiveConnection
- * @return a valid ActiveConnection object
+ * \a uni the id of the ActiveConnection
+ * Returns a valid ActiveConnection object
  */
 NETWORKMANAGERQT_EXPORT ActiveConnection::Ptr findActiveConnection(const QString &uni);
-/**
+/*!
  * Retrieves the interface types supported by this network manager.
  *
- * @return the interface types supported by the network manager
+ * Returns the interface types supported by the network manager
  */
 NETWORKMANAGERQT_EXPORT Device::Types supportedInterfaceTypes();
+/*!
+ */
 NETWORKMANAGERQT_EXPORT void setNetworkingEnabled(bool enabled);
 // implemented in Notifier
+/*!
+ */
 NETWORKMANAGERQT_EXPORT void setWirelessEnabled(bool enabled);
+/*!
+ */
 NETWORKMANAGERQT_EXPORT void setWwanEnabled(bool enabled);
-/**
- * @deprecated Wimax support was removed from NetworkManager 1.2
+/*!
+ * \deprecated Wimax support was removed from NetworkManager 1.2
  * (it is a noop in runtime NM >= 1.2.0).
  */
 NETWORKMANAGERQT_EXPORT void setWimaxEnabled(bool enabled);
+/*!
+ */
 NETWORKMANAGERQT_EXPORT void sleep(bool sleep);
+/*!
+ */
 NETWORKMANAGERQT_EXPORT void setLogging(LogLevel, LogDomains);
+/*!
+ */
 NETWORKMANAGERQT_EXPORT NMStringMap permissions();
+/*!
+ */
 NETWORKMANAGERQT_EXPORT Notifier *notifier();
 
 }
diff -pruN 6.13.0-1/src/modemdevice.cpp 6.17.0-0ubuntu1/src/modemdevice.cpp
--- 6.13.0-1/src/modemdevice.cpp	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/modemdevice.cpp	2025-08-01 10:40:12.000000000 +0000
@@ -43,13 +43,6 @@ NetworkManager::ModemDevice::ModemDevice
     : Device(dd, parent)
 {
     Q_D(ModemDevice);
-
-    QDBusConnection::systemBus().connect(NetworkManagerPrivate::DBUS_SERVICE,
-                                         d->uni,
-                                         NetworkManagerPrivate::FDO_DBUS_PROPERTIES,
-                                         QLatin1String("PropertiesChanged"),
-                                         d,
-                                         SLOT(dbusPropertiesChanged(QString, QVariantMap, QStringList)));
 }
 
 NetworkManager::ModemDevice::~ModemDevice()
diff -pruN 6.13.0-1/src/modemdevice.h 6.17.0-0ubuntu1/src/modemdevice.h
--- 6.13.0-1/src/modemdevice.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/modemdevice.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,16 +16,35 @@ namespace NetworkManager
 {
 class ModemDevicePrivate;
 
-/**
- * Represents a generic modem device, generally defined by the modemCapabilities() it exposes and at
+/*!
+ * \class NetworkManager::ModemDevice
+ * \inheaderfile NetworkManagerQt/ModemDevice
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents a generic modem device, generally defined by the modemCapabilities() it exposes and at
  * the current point in time by the currentCapabilities().
  */
 class NETWORKMANAGERQT_EXPORT ModemDevice : public Device
 {
     Q_OBJECT
 public:
+    /*!
+     * \typedef NetworkManager::ModemDevice::Ptr
+     */
     typedef QSharedPointer<ModemDevice> Ptr;
+    /*!
+     * \typedef NetworkManager::ModemDevice::List
+     */
     typedef QList<Ptr> List;
+
+    /*!
+     *
+     * \value NoCapability
+     * \value Pots
+     * \value CdmaEvdo
+     * \value GsmUmts
+     * \value Lte
+     */
     enum Capability {
         NoCapability = 0x0,
         Pots = 0x1,
@@ -34,31 +53,35 @@ public:
         Lte = 0x8,
     };
     Q_DECLARE_FLAGS(Capabilities, Capability)
+    /*!
+     */
     explicit ModemDevice(const QString &path, QObject *parent = nullptr);
     ~ModemDevice() override;
-    /**
+    /*!
      * Return the type
      */
     Type type() const override;
-    /**
+    /*!
      * The generic family of access technologies the modem supports. Not all capabilities are
      * available at the same time however; some modems require a firmware reload or other
      * reinitialization to switch between eg CDMA/EVDO and GSM/UMTS.
      */
     Capabilities modemCapabilities() const;
-    /**
+    /*!
      * The generic family of access technologies the modem currently supports without a firmware
      * reload or reinitialization.
      */
     Capabilities currentCapabilities() const;
 
 Q_SIGNALS:
-    /**
+    /*!
      * This signal is emitted when the capabilities of the device change
      */
     void currentCapabilitiesChanged(Capabilities);
 
 protected:
+    /*!
+     */
     NETWORKMANAGERQT_NO_EXPORT explicit ModemDevice(ModemDevicePrivate &dd, QObject *parent = nullptr);
 
 private:
diff -pruN 6.13.0-1/src/networkmanager-qt-index.qdoc 6.17.0-0ubuntu1/src/networkmanager-qt-index.qdoc
--- 6.13.0-1/src/networkmanager-qt-index.qdoc	1970-01-01 00:00:00.000000000 +0000
+++ 6.17.0-0ubuntu1/src/networkmanager-qt-index.qdoc	2025-08-01 10:40:12.000000000 +0000
@@ -0,0 +1,20 @@
+/*!
+    \page networkmanager-qt-index.html
+    \title NetworkManagerQt
+
+    NetworkManagerQt is a Qt wrapper for NetworkManager API.
+
+    \section1 Using the Module
+
+    \include {module-use.qdocinc} {using the c++ api}
+
+    \section2 Building with CMake
+
+    \include {module-use.qdocinc} {building with cmake} {KF6} {NetworkManagerQt} {KF6::NetworkManagerQt}
+
+    \section1 API Reference
+
+    \list
+        \li \l{NetworkManagerQt C++ Classes}
+    \endlist
+*/
diff -pruN 6.13.0-1/src/networkmanager-qt.qdoc 6.17.0-0ubuntu1/src/networkmanager-qt.qdoc
--- 6.13.0-1/src/networkmanager-qt.qdoc	1970-01-01 00:00:00.000000000 +0000
+++ 6.17.0-0ubuntu1/src/networkmanager-qt.qdoc	2025-08-01 10:40:12.000000000 +0000
@@ -0,0 +1,8 @@
+/*!
+    \module NetworkManagerQt
+    \title NetworkManagerQt C++ Classes
+    \ingroup modules
+    \cmakepackage KF6
+    \cmakecomponent NetworkManagerQt
+    \brief Qt wrapper for NetworkManager API.
+*/
diff -pruN 6.13.0-1/src/networkmanager-qt.qdocconf 6.17.0-0ubuntu1/src/networkmanager-qt.qdocconf
--- 6.13.0-1/src/networkmanager-qt.qdocconf	1970-01-01 00:00:00.000000000 +0000
+++ 6.17.0-0ubuntu1/src/networkmanager-qt.qdocconf	2025-08-01 10:40:12.000000000 +0000
@@ -0,0 +1,33 @@
+include($KDE_DOCS/global/qt-module-defaults.qdocconf)
+
+project = NetworkManagerQt
+description = Qt wrapper for NetworkManager API
+
+documentationinheaders = true
+
+headerdirs += .
+sourcedirs += .
+
+excludedirs += fakenetwork dbus
+
+outputformats = HTML
+
+navigation.landingpage = "NetworkManagerQt"
+
+depends += kde qtcore qtnetwork qtdbus qtqml
+
+qhp.projects            = NetworkManagerQt
+
+qhp.NetworkManagerQt.file                = networkmanager-qt.qhp
+qhp.NetworkManagerQt.namespace           = org.kde.networkmanager-qt.$QT_VERSION_TAG
+qhp.NetworkManagerQt.virtualFolder       = networkmanager-qt
+qhp.NetworkManagerQt.indexTitle          = NetworkManagerQt
+qhp.NetworkManagerQt.indexRoot           =
+
+qhp.NetworkManagerQt.subprojects         = classes
+qhp.NetworkManagerQt.subprojects.classes.title = C++ Classes
+qhp.NetworkManagerQt.subprojects.classes.indexTitle = NetworkManagerQt C++ Classes
+qhp.NetworkManagerQt.subprojects.classes.selectors = class fake:headerfile
+qhp.NetworkManagerQt.subprojects.classes.sortPages = true
+
+tagfile = networkmanagerqt.tags
diff -pruN 6.13.0-1/src/olpcmeshdevice.h 6.17.0-0ubuntu1/src/olpcmeshdevice.h
--- 6.13.0-1/src/olpcmeshdevice.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/olpcmeshdevice.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,53 +16,63 @@ namespace NetworkManager
 {
 class OlpcMeshDevicePrivate;
 
-/**
- * A OLPC mesh interface
+/*!
+ * \class NetworkManager::OlpcMeshDevice
+ * \inheaderfile NetworkManagerQt/OlpcMeshDevice
+ * \inmodule NetworkManagerQt
+ *
+ * \brief A OLPC mesh interface.
  */
 class NETWORKMANAGERQT_EXPORT OlpcMeshDevice : public Device
 {
     Q_OBJECT
 
 public:
+    /*!
+     * \typedef NetworkManager::OlpcMeshDevice::Ptr
+     */
     typedef QSharedPointer<OlpcMeshDevice> Ptr;
+    /*!
+     * \typedef NetworkManager::OlpcMeshDevice::List
+     */
     typedef QList<Ptr> List;
-    /**
+    /*!
      * Creates a new OlpcMeshDevice object.
      *
-     * @param path the DBus path of the device
+     * \a path the DBus path of the device
      */
     explicit OlpcMeshDevice(const QString &path, QObject *parent = nullptr);
-    /**
+    /*!
      * Destroys a OlpcMeshDevice object.
      */
     ~OlpcMeshDevice() override;
-    /**
+    /*!
      * Return the type
      */
     Type type() const override;
-    /**
+    /*!
      * Currently active channel.
      */
     uint activeChannel() const;
-    /**
+    /*!
      * The hardware address currently used by the network interface
      */
     QString hardwareAddress() const;
-    /**
+    /*!
      * The current companion device.
      */
     Device::Ptr companionDevice() const;
 
 Q_SIGNALS:
-    /**
+    /*!
      * The active channel changed.
      */
     void activeChannelChanged(uint);
-    /**
+    /*!
      * The companion changed.
      */
     void companionChanged(const Device::Ptr &device);
-    /**
+    /*!
      * The device changed its hardware address
      */
     void hardwareAddressChanged(const QString &);
diff -pruN 6.13.0-1/src/secretagent.h 6.17.0-0ubuntu1/src/secretagent.h
--- 6.13.0-1/src/secretagent.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/secretagent.h	2025-08-01 10:40:12.000000000 +0000
@@ -20,8 +20,13 @@ namespace NetworkManager
 {
 class SecretAgentPrivate;
 
-/**
- * Implementation of a private D-Bus interface used by secret agents that store and provide secrets to NetworkManager.
+/*!
+ * \class NetworkManager::SecretAgent
+ * \inheaderfile NetworkManagerQt/SecretAgent
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Implementation of a private D-Bus interface used by secret agents that store and provide secrets to NetworkManager.
+ *
  * If an agent provides secrets to NetworkManager as part of connection creation, and the some of those secrets are "agent owned"
  * the agent should store those secrets itself and should not expect its SaveSecrets() method to be called.
  * SaveSecrets() will be called eg if some program other than the agent itself (like a connection editor) changes the secrets out of band.
@@ -30,6 +35,15 @@ class NETWORKMANAGERQT_EXPORT SecretAgen
 {
     Q_OBJECT
 public:
+    /*!
+     *
+     * \value NotAuthorized
+     * \value InvalidConnection
+     * \value UserCanceled
+     * \value AgentCanceled
+     * \value InternalError
+     * \value NoSecrets
+     */
     enum Error {
         NotAuthorized,
         InvalidConnection,
@@ -39,62 +53,82 @@ public:
         NoSecrets,
     };
 
-    /**
+    /*!
+     *
      * Flags modifying the behavior of GetSecrets request.
+     *
+     * \value None
+     *        No special behavior; by default no user interaction is allowed and requests for secrets are fulfilled from persistent storage, or if no secrets
+     * are available an error is returned.
+     * \value AllowInteraction Allows the request to interact with the user, possibly prompting via UI for secrets if any
+     * are required, or if none are found in persistent storage.
+     * \value RequestNew Explicitly prompt for new secrets from the user. This flag signals that
+     * NetworkManager thinks any existing secrets are invalid or wrong. This flag implies that interaction is allowed.
+     * \value UserRequested Set if the request
+     * was initiated by user-requested action via the D-Bus interface, as opposed to automatically initiated by NetworkManager in response to (for example) scan
+     * results or carrier changes.
      */
     enum GetSecretsFlag {
-        None = 0, /**<  No special behavior; by default no user interaction is allowed and requests for secrets are fulfilled from persistent storage, or if no
-                     secrets are available an error is returned. */
-        AllowInteraction = 0x01, /**< Allows the request to interact with the user, possibly prompting via UI for secrets if any are required, or if none are
-                                    found in persistent storage. */
-        RequestNew = 0x02, /**< Explicitly prompt for new secrets from the user. This flag signals that NetworkManager thinks any existing secrets are invalid
-                              or wrong. This flag implies that interaction is allowed. */
-        UserRequested = 0x04, /**< Set if the request was initiated by user-requested action via the D-Bus interface, as opposed to automatically initiated by
-                                 NetworkManager in response to (for example) scan results or carrier changes. */
+        None = 0,
+        AllowInteraction = 0x01,
+        RequestNew = 0x02,
+        UserRequested = 0x04,
     };
     Q_DECLARE_FLAGS(GetSecretsFlags, GetSecretsFlag)
 
-    /**
+    /*!
+     *
      * Capabilities to pass to secret agents
+     *
+     * \value NoCapability
+     *        No capability
+     * \value VpnHints
+     *        Pass hints to secret agent
      */
     enum Capability {
-        NoCapability = 0, /**< No capability */
-        VpnHints = 0x01, /**< Pass hints to secret agent */
+        NoCapability = 0,
+        VpnHints = 0x01,
     };
     Q_DECLARE_FLAGS(Capabilities, Capability)
 
-    /**
-     * Registers a SecretAgent with the \p id on NetworkManager
+    /*!
+     * Registers a SecretAgent with the \a id on NetworkManager
      * Optionally add a capabilities argument
      */
     explicit SecretAgent(const QString &id, QObject *parent = nullptr);
+    /*!
+     */
     explicit SecretAgent(const QString &id, NetworkManager::SecretAgent::Capabilities capabilities, QObject *parent = nullptr);
     ~SecretAgent() override;
 
-    /**
-     * Send to NetworkManager the \p error the subclass has
-     * found, the \p explanation is useful for debugging purposes,
-     * and the \p callMessage is ONLY needed if \ref setDelayedReply()
-     * was set to @p true when the method was called.
+    /*!
+     * Send to NetworkManager the \a error the subclass has
+     * found, the \a explanation is useful for debugging purposes,
+     * and the \a callMessage is ONLY needed if setDelayedReply()
+     * was set to \a true when the method was called.
      */
     void sendError(Error error, const QString &explanation, const QDBusMessage &callMessage = QDBusMessage()) const;
 
 public Q_SLOTS:
-    /**
+    /*!
      * Called when the subclass should retrieve and return secrets.
      * If the request is canceled, called function should call
-     * \ref sendError(), in this case the return value is ignored.
+     * sendError(), in this case the return value is ignored.
      *
-     * @param connection Nested settings maps containing the connection for which secrets are being requested.
+     * \a connection Nested settings maps containing the connection for which secrets are being requested.
      *        This may contain system-owned secrets if the agent has successfully authenticated to modify system network settings
      *        and the GetSecrets request flags allow user interaction.
-     * @param connection_path Object path of the connection for which secrets are being requested.
-     * @param setting_name Setting name for which secrets are being requested.
-     * @param hints Array of strings of key names in the requested setting for which NetworkManager thinks a secrets may be required,
+     *
+     * \a connection_path Object path of the connection for which secrets are being requested.
+     *
+     * \a setting_name Setting name for which secrets are being requested.
+     *
+     * \a hints Array of strings of key names in the requested setting for which NetworkManager thinks a secrets may be required,
      *        and/or well-known identifiers and data that may be useful to the client in processing the secrets request. Note that it's not
      *        always possible to determine which secret is required, so in some cases no hints may be given. The Agent should return any
      *        secrets it has, or that it thinks are required, regardless of what hints NetworkManager sends in this request.
-     * @param flags Flags which modify the behavior of the secrets request (see @ref GetSecretsFlag)
+     *
+     * \a flags Flags which modify the behavior of the secrets request (see \ GetSecretsFlag)
      */
     virtual NMVariantMapMap GetSecrets(const NMVariantMapMap &connection,
                                        const QDBusObjectPath &connection_path,
@@ -102,36 +136,39 @@ public Q_SLOTS:
                                        const QStringList &hints,
                                        uint flags) = 0;
 
-    /**
+    /*!
      * Called when the subclass should cancel an outstanding request to
      * get secrets for a given connection.
-     * Cancelling the request MUST \ref sendError() with the original
-     * DBus message using \ref AgentCanceled param as the error type.
+     * Cancelling the request MUST sendError() with the original
+     * DBus message using AgentCanceled param as the error type.
      *
-     * @param connection_path Object path of the connection for which, if secrets for the given 'setting_name' are being requested, the request should be
+     * \a connection_path Object path of the connection for which, if secrets for the given 'setting_name' are being requested, the request should be
      * canceled.
-     * @param setting_name Setting name for which secrets for this connection were originally being requested.
+     *
+     * \a setting_name Setting name for which secrets for this connection were originally being requested.
      */
     virtual void CancelGetSecrets(const QDBusObjectPath &connection_path, const QString &setting_name) = 0;
 
-    /**
+    /*!
      * Called when the subclass should save the secrets contained in the
      * connection to backing storage.
      *
-     * @param connection Nested settings maps containing the connection for which secrets are being saved.
+     * \a connection Nested settings maps containing the connection for which secrets are being saved.
      *        This may contain system-owned secrets if the agent has successfully authenticated to modify system network settings
      *        and the GetSecrets request flags allow user interaction.
-     * @param connection_path Object path of the connection for which the agent should save secrets to backing storage.
+     *
+     * \a connection_path Object path of the connection for which the agent should save secrets to backing storage.
      */
     virtual void SaveSecrets(const NMVariantMapMap &connection, const QDBusObjectPath &connection_path) = 0;
 
-    /**
+    /*!
      * Called when the subclass should delete the secrets contained in the
      * connection from backing storage.
      *
-     * @param connection Nested settings maps containing the connection properties (sans secrets),
+     * \a connection Nested settings maps containing the connection properties (sans secrets),
      *        for which the agent should delete the secrets from backing storage.
-     * @param connection_path Object path of the connection for which the agent should delete secrets from backing storage.
+     *
+     * \a connection_path Object path of the connection for which the agent should delete secrets from backing storage.
      */
     virtual void DeleteSecrets(const NMVariantMapMap &connection, const QDBusObjectPath &connection_path) = 0;
 
diff -pruN 6.13.0-1/src/settings/adslsetting.h 6.17.0-0ubuntu1/src/settings/adslsetting.h
--- 6.13.0-1/src/settings/adslsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/adslsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,51 +16,106 @@ namespace NetworkManager
 {
 class AdslSettingPrivate;
 
-/**
- * Represents adsl setting
+/*!
+ * \class NetworkManager::AdslSetting
+ * \inheaderfile NetworkManagerQt/AdslSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents adsl setting.
  */
 class NETWORKMANAGERQT_EXPORT AdslSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::AdslSetting::Ptr
+     */
     typedef QSharedPointer<AdslSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::AdslSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     *
+     * \value UnknownProtocol
+     * \value Pppoa
+     * \value Pppoe
+     * \value Ipoatm
+     */
     enum Protocol {
         UnknownProtocol = 0,
         Pppoa,
         Pppoe,
         Ipoatm,
     };
+    /*!
+     *
+     * \value UnknownEncapsulation
+     * \value Vcmux
+     * \value Llc
+     */
     enum Encapsulation {
         UnknownEncapsulation = 0,
         Vcmux,
         Llc,
     };
 
+    /*!
+     */
     AdslSetting();
+    /*!
+     */
     explicit AdslSetting(const Ptr &other);
     ~AdslSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setUsername(const QString &username);
+    /*!
+     */
     QString username() const;
 
+    /*!
+     */
     void setPassword(const QString &password);
+    /*!
+     */
     QString password() const;
 
+    /*!
+     */
     void setPasswordFlags(SecretFlags flags);
+    /*!
+     */
     SecretFlags passwordFlags() const;
 
+    /*!
+     */
     void setProtocol(Protocol protocol);
+    /*!
+     */
     Protocol protocol() const;
 
+    /*!
+     */
     void setEncapsulation(Encapsulation encapsulation);
+    /*!
+     */
     Encapsulation encapsulation() const;
 
+    /*!
+     */
     void setVpi(quint32 vpi);
+    /*!
+     */
     quint32 vpi() const;
 
+    /*!
+     */
     void setVci(quint32 vci);
+    /*!
+     */
     quint32 vci() const;
 
     QStringList needSecrets(bool requestNew = false) const override;
@@ -70,6 +125,8 @@ public:
     QVariantMap toMap() const override;
 
 protected:
+    /*!
+     */
     AdslSettingPrivate *d_ptr;
 
 private:
diff -pruN 6.13.0-1/src/settings/bluetoothsetting.h 6.17.0-0ubuntu1/src/settings/bluetoothsetting.h
--- 6.13.0-1/src/settings/bluetoothsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/bluetoothsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,30 +16,58 @@ namespace NetworkManager
 {
 class BluetoothSettingPrivate;
 
-/**
- * Represents bluetooth setting
+/*!
+ * \class NetworkManager::BluetoothSetting
+ * \inheaderfile NetworkManagerQt/BluetoothSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents bluetooth setting.
  */
 class NETWORKMANAGERQT_EXPORT BluetoothSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::BluetoothSetting::Ptr
+     */
     typedef QSharedPointer<BluetoothSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::BluetoothSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     *
+     * \value Unknown
+     * \value Dun
+     * \value Panu
+     */
     enum ProfileType {
         Unknown = 0,
         Dun,
         Panu,
     };
 
+    /*!
+     */
     BluetoothSetting();
+    /*!
+     */
     explicit BluetoothSetting(const Ptr &other);
     ~BluetoothSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setBluetoothAddress(const QByteArray &address);
+    /*!
+     */
     QByteArray bluetoothAddress() const;
 
+    /*!
+     */
     void setProfileType(ProfileType type);
+    /*!
+     */
     ProfileType profileType() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/bondsetting.h 6.17.0-0ubuntu1/src/settings/bondsetting.h
--- 6.13.0-1/src/settings/bondsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/bondsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,26 +16,51 @@ namespace NetworkManager
 {
 class BondSettingPrivate;
 
-/**
- * Represents bond setting
+/*!
+ * \class NetworkManager::BondSetting
+ * \inheaderfile NetworkManagerQt/BondSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents bond setting.
  */
 class NETWORKMANAGERQT_EXPORT BondSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::BondSetting::Ptr
+     */
     typedef QSharedPointer<BondSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::BondSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     BondSetting();
+    /*!
+     */
     explicit BondSetting(const Ptr &other);
     ~BondSetting() override;
 
     QString name() const override;
 
-    /// @deprecated in favor of connection.interface-name in NM 1.0.0
+    /*!
+     * \deprecated
+     * Deprecated in favor of connection.interface-name in NM 1.0.0
+     */
     void setInterfaceName(const QString &name);
+    /*!
+     */
     QString interfaceName() const;
 
+    /*!
+     */
     void addOption(const QString &option, const QString &value);
+    /*!
+     */
     void setOptions(const NMStringMap &options);
+    /*!
+     */
     NMStringMap options() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/bridgeportsetting.h 6.17.0-0ubuntu1/src/settings/bridgeportsetting.h
--- 6.13.0-1/src/settings/bridgeportsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/bridgeportsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,27 +16,53 @@ namespace NetworkManager
 {
 class BridgePortSettingPrivate;
 
-/**
- * Represents bridge port setting
+/*!
+ * \class NetworkManager::BridgePortSetting
+ * \inheaderfile NetworkManagerQt/BridgePortSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents bridge port setting.
  */
 class NETWORKMANAGERQT_EXPORT BridgePortSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::BridgePortSetting::Ptr
+     */
     typedef QSharedPointer<BridgePortSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::BridgePortSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     BridgePortSetting();
+    /*!
+     */
     explicit BridgePortSetting(const Ptr &other);
     ~BridgePortSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setPriority(quint32 priority);
+    /*!
+     */
     quint32 priority() const;
 
+    /*!
+     */
     void setPathCost(quint32 cost);
+    /*!
+     */
     quint32 pathCost() const;
 
+    /*!
+     */
     void setHairpinMode(bool enable);
+    /*!
+     */
     bool hairpinMode() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/bridgesetting.h 6.17.0-0ubuntu1/src/settings/bridgesetting.h
--- 6.13.0-1/src/settings/bridgesetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/bridgesetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,46 +16,96 @@ namespace NetworkManager
 {
 class BridgeSettingPrivate;
 
-/**
- * Represents bridge setting
+/*!
+ * \class NetworkManager::BridgeSetting
+ * \inheaderfile NetworkManagerQt/BridgeSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents bridge setting.
  */
 class NETWORKMANAGERQT_EXPORT BridgeSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::BridgeSetting::Ptr
+     */
     typedef QSharedPointer<BridgeSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::BridgeSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     BridgeSetting();
+    /*!
+     */
     explicit BridgeSetting(const Ptr &other);
     ~BridgeSetting() override;
 
     QString name() const override;
 
     // Deprecated in favor of connection.interface-name in NM 1.0.0
+    /*!
+     */
     void setInterfaceName(const QString &name);
+    /*!
+     */
     QString interfaceName() const;
 
+    /*!
+     */
     void setStp(bool enabled);
+    /*!
+     */
     bool stp() const;
 
+    /*!
+     */
     void setPriority(quint32 priority);
+    /*!
+     */
     quint32 priority() const;
 
+    /*!
+     */
     void setForwardDelay(quint32 delay);
+    /*!
+     */
     quint32 forwardDelay() const;
 
+    /*!
+     */
     void setHelloTime(quint32 time);
+    /*!
+     */
     quint32 helloTime() const;
 
+    /*!
+     */
     void setMaxAge(quint32 age);
+    /*!
+     */
     quint32 maxAge() const;
 
+    /*!
+     */
     void setAgingTime(quint32 time);
+    /*!
+     */
     quint32 agingTime() const;
 
+    /*!
+     */
     void setMulticastSnooping(bool snooping);
+    /*!
+     */
     bool multicastSnooping() const;
 
+    /*!
+     */
     void setMacAddress(const QByteArray &address);
+    /*!
+     */
     QByteArray macAddress() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/cdmasetting.h 6.17.0-0ubuntu1/src/settings/cdmasetting.h
--- 6.13.0-1/src/settings/cdmasetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/cdmasetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,30 +16,60 @@ namespace NetworkManager
 {
 class CdmaSettingPrivate;
 
-/**
- * Represents cdma setting
+/*!
+ * \class NetworkManager::CdmaSetting
+ * \inheaderfile NetworkManagerQt/CdmaSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents cdma setting.
  */
 class NETWORKMANAGERQT_EXPORT CdmaSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::CdmaSetting::Ptr
+     */
     typedef QSharedPointer<CdmaSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::CdmaSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     CdmaSetting();
+    /*!
+     */
     explicit CdmaSetting(const Ptr &other);
     ~CdmaSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setNumber(const QString &number);
+    /*!
+     */
     QString number() const;
 
+    /*!
+     */
     void setUsername(const QString &username);
+    /*!
+     */
     QString username() const;
 
+    /*!
+     */
     void setPassword(const QString &password);
+    /*!
+     */
     QString password() const;
 
+    /*!
+     */
     void setPasswordFlags(SecretFlags flags);
+    /*!
+     */
     SecretFlags passwordFlags() const;
 
     QStringList needSecrets(bool requestNew = false) const override;
diff -pruN 6.13.0-1/src/settings/connectionsettings.h 6.17.0-0ubuntu1/src/settings/connectionsettings.h
--- 6.13.0-1/src/settings/connectionsettings.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/connectionsettings.h	2025-08-01 10:40:12.000000000 +0000
@@ -23,15 +23,49 @@ namespace NetworkManager
 {
 class ConnectionSettingsPrivate;
 
-/**
- * Represents collection of all connection settings
+/*!
+ * \class NetworkManager::ConnectionSettings
+ * \inheaderfile NetworkManagerQt/ConnectionSettings
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents collection of all connection settings.
  */
 class NETWORKMANAGERQT_EXPORT ConnectionSettings
 {
     Q_ENUMS(ConnectionType)
 public:
+    /*!
+     * \typedef NetworkManager::ConnectionSettings::Ptr
+     */
     typedef QSharedPointer<ConnectionSettings> Ptr;
+    /*!
+     * \typedef NetworkManager::ConnectionSettings::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     *
+     * \value Unknown
+     * \value Adsl
+     * \value Bluetooth
+     * \value Bond
+     * \value Bridge
+     * \value Cdma
+     * \value Gsm
+     * \value Infiniband
+     * \value OLPCMesh
+     * \value Pppoe
+     * \value Vlan
+     * \value Vpn
+     * \value Wimax
+     * \value Wired
+     * \value Wireless
+     * \value Team
+     * \value Generic
+     * \value Tun
+     * \value IpTunnel
+     * \value WireGuard
+     * \value Loopback
+     */
     enum ConnectionType {
         Unknown = 0,
         Adsl,
@@ -56,20 +90,41 @@ public:
         Loopback,
     };
 
+    /*!
+     *
+     * \value SlavesDefault
+     * \value DoNotConnectSlaves
+     * \value ConnectAllSlaves
+     */
     enum AutoconnectSlaves {
         SlavesDefault = -1,
         DoNotConnectSlaves = 0,
         ConnectAllSlaves = 1,
     };
 
+    /*!
+     *
+     * \value LldpDefault
+     * \value LldpDisable
+     * \value LldpEnableRx
+     */
     enum Lldp {
         LldpDefault = -1,
         LldpDisable = 0,
         LldpEnableRx = 1,
     };
 
-    // FIXME same enum as in device.h, unfortunately it's not possible to use that one
-    // maybe in future move all enums into one header so they can be used across all classes
+    /*!
+     *
+     * FIXME same enum as in device.h, unfortunately it's not possible to use that one
+     * maybe in future move all enums into one header so they can be used across all classes
+     *
+     * \value MeteredUnknown
+     * \value MeteredYes
+     * \value MeteredNo
+     * \value MeteredGuessYes
+     * \value MeteredGuessNo
+     */
     enum Metered {
         MeteredUnknown = 0,
         MeteredYes = 1,
@@ -78,6 +133,13 @@ public:
         MeteredGuessNo = 4,
     };
 
+    /*!
+     *
+     * \value MdnsDefault
+     * \value MdnsNo
+     * \value MdnsResolve
+     * \value MdnsResolveAndRespond
+     */
     enum Mdns {
         MdnsDefault = -1,
         MdnsNo = 0,
@@ -85,89 +147,203 @@ public:
         MdnsResolveAndRespond = 2
     };
 
+    /*!
+     */
     static ConnectionType typeFromString(const QString &typeString);
+    /*!
+     */
     static QString typeAsString(const ConnectionType type);
+    /*!
+     */
     static QString createNewUuid();
 
+    /*!
+     */
     ConnectionSettings();
+    /*!
+     */
     explicit ConnectionSettings(ConnectionType type, NMBluetoothCapabilities bt_cap = NM_BT_CAPABILITY_DUN);
+    /*!
+     */
     explicit ConnectionSettings(const ConnectionSettings::Ptr &other);
+    /*!
+     */
     explicit ConnectionSettings(const NMVariantMapMap &map);
+    /*!
+     */
     virtual ~ConnectionSettings();
 
+    /*!
+     */
     QString name() const;
 
+    /*!
+     */
     void fromMap(const NMVariantMapMap &map);
+    /*!
+     */
     void fromMeCard(const QVariantMap &map);
 
+    /*!
+     */
     NMVariantMapMap toMap() const;
 
+    /*!
+     */
     void setId(const QString &id);
+    /*!
+     */
     QString id() const;
 
+    /*!
+     */
     void setUuid(const QString &uuid);
+    /*!
+     */
     QString uuid() const;
 
+    /*!
+     */
     void setInterfaceName(const QString &interfaceName);
+    /*!
+     */
     QString interfaceName() const;
 
+    /*!
+     */
     void setConnectionType(ConnectionType type, NMBluetoothCapabilities bt_cap = NM_BT_CAPABILITY_DUN);
+    /*!
+     */
     ConnectionType connectionType() const;
 
+    /*!
+     */
     void addToPermissions(const QString &user, const QString &type);
+    /*!
+     */
     void setPermissions(const QHash<QString, QString> &perm);
+    /*!
+     */
     QHash<QString, QString> permissions() const;
 
+    /*!
+     */
     void setAutoconnect(bool autoconnect);
+    /*!
+     */
     bool autoconnect() const;
 
+    /*!
+     */
     void setAutoconnectPriority(int priority);
+    /*!
+     */
     int autoconnectPriority() const;
 
+    /*!
+     */
     void setTimestamp(const QDateTime &timestamp);
+    /*!
+     */
     QDateTime timestamp() const;
 
+    /*!
+     */
     void setReadOnly(bool readonly);
+    /*!
+     */
     bool readOnly() const;
 
+    /*!
+     */
     void setZone(const QString &zone);
+    /*!
+     */
     QString zone() const;
 
+    /*!
+     */
     bool isSlave() const;
 
+    /*!
+     */
     void setMaster(const QString &master);
+    /*!
+     */
     QString master() const;
 
+    /*!
+     */
     void setSlaveType(const QString &type);
+    /*!
+     */
     QString slaveType() const;
 
+    /*!
+     */
     void setSecondaries(const QStringList &secondaries);
+    /*!
+     */
     QStringList secondaries() const;
 
+    /*!
+     */
     void setGatewayPingTimeout(quint32 timeout);
+    /*!
+     */
     quint32 gatewayPingTimeout() const;
 
+    /*!
+     */
     void setAutoconnectRetries(int retries);
+    /*!
+     */
     int autoconnectRetries() const;
 
+    /*!
+     */
     void setAutoconnectSlaves(AutoconnectSlaves autoconnectSlaves);
+    /*!
+     */
     AutoconnectSlaves autoconnectSlaves() const;
 
+    /*!
+     */
     void setLldp(Lldp lldp);
+    /*!
+     */
     Lldp lldp() const;
 
+    /*!
+     */
     void setMetered(Metered metered);
+    /*!
+     */
     Metered metered() const;
 
+    /*!
+     */
     void setMdns(Mdns mdns);
+    /*!
+     */
     Mdns mdns() const;
 
+    /*!
+     */
     void setStableId(const QString &stableId);
+    /*!
+     */
     QString stableId() const;
 
+    /*!
+     */
     Setting::Ptr setting(Setting::SettingType type) const;
+    /*!
+     */
     Setting::Ptr setting(const QString &type) const;
 
+    /*!
+     */
     Setting::List settings() const;
 
 protected:
diff -pruN 6.13.0-1/src/settings/dcbsetting.h 6.17.0-0ubuntu1/src/settings/dcbsetting.h
--- 6.13.0-1/src/settings/dcbsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/dcbsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,15 +16,32 @@ namespace NetworkManager
 {
 class DcbSettingPrivate;
 
-/**
- * Represents Dcb setting
+/*!
+ * \class NetworkManager::DcbSetting
+ * \inheaderfile NetworkManagerQt/DcbSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents Dcb setting.
  */
 class NETWORKMANAGERQT_EXPORT DcbSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::DcbSetting::Ptr
+     */
     typedef QSharedPointer<DcbSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::DcbSetting::List
+     */
     typedef QList<Ptr> List;
 
+    /*!
+     *
+     * \value None
+     * \value Enable
+     * \value Advertise
+     * \value Willing
+     */
     enum DcbFlagType {
         None = 0,
         Enable = 0x01,
@@ -33,67 +50,155 @@ public:
     };
     Q_DECLARE_FLAGS(DcbFlags, DcbFlagType)
 
+    /*!
+     */
     DcbSetting();
+    /*!
+     */
     explicit DcbSetting(const Ptr &other);
     ~DcbSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setAppFcoeMode(const QString &mode);
+    /*!
+     */
     QString appFcoeMode() const;
 
+    /*!
+     */
     void setAppFcoePriority(qint32 priority);
+    /*!
+     */
     qint32 appFcoePriority() const;
 
+    /*!
+     */
     void setAppFipPriority(qint32 priority);
+    /*!
+     */
     qint32 appFipPriority() const;
 
+    /*!
+     */
     void setAppIscsiPriority(qint32 priority);
+    /*!
+     */
     qint32 appIscsiPriority() const;
 
+    /*!
+     */
     void setAppFcoeFlags(DcbFlags flags);
+    /*!
+     */
     DcbFlags appFcoeFlags() const;
 
+    /*!
+     */
     void setAppFipFlags(DcbFlags flags);
+    /*!
+     */
     DcbFlags appFipFlags() const;
 
+    /*!
+     */
     void setAppIscsiFlags(DcbFlags flags);
+    /*!
+     */
     DcbFlags appIscsiFlags() const;
 
+    /*!
+     */
     void setPriorityGroupFlags(DcbFlags flags);
+    /*!
+     */
     DcbFlags priorityGroupFlags() const;
 
+    /*!
+     */
     void setPriorityFlowControlFlags(DcbFlags flags);
+    /*!
+     */
     DcbFlags priorityFlowControlFlags() const;
 
+    /*!
+     */
     void setPriorityFlowControl(quint32 userPriority, bool enabled);
+    /*!
+     */
     bool priorityFlowControl(quint32 userPriority) const;
+    /*!
+     */
     void setPriorityFlowControl(const UIntList &list);
+    /*!
+     */
     UIntList priorityFlowControl() const;
 
+    /*!
+     */
     void setPriorityBandwidth(quint32 userPriority, quint32 bandwidthPercent);
+    /*!
+     */
     quint32 priorityBandwidth(quint32 userPriority) const;
+    /*!
+     */
     void setPriorityBandwidth(const UIntList &list);
+    /*!
+     */
     UIntList priorityBandwidth() const;
 
+    /*!
+     */
     void setPriorityGroupBandwidth(quint32 groupId, quint32 bandwidthPercent);
+    /*!
+     */
     quint32 priorityGroupBandwidth(quint32 groupId) const;
+    /*!
+     */
     void setPriorityGroupBandwidth(const UIntList &list);
+    /*!
+     */
     UIntList priorityGroupBandwidth() const;
 
+    /*!
+     */
     void setPriorityGroupId(quint32 userPriority, quint32 groupId);
+    /*!
+     */
     quint32 priorityGroupId(quint32 userPriority) const;
+    /*!
+     */
     void setPriorityGroupId(const UIntList &list);
+    /*!
+     */
     UIntList priorityGroupId() const;
 
+    /*!
+     */
     void setPriorityStrictBandwidth(quint32 userPriority, bool strict);
+    /*!
+     */
     bool priorityStrictBandwidth(quint32 userPriority) const;
+    /*!
+     */
     void setPriorityStrictBandwidth(const UIntList &list);
+    /*!
+     */
     UIntList priorityStrictBandwidth() const;
 
+    /*!
+     */
     void setPriorityTrafficClass(quint32 userPriority, quint32 trafficClass);
+    /*!
+     */
     quint32 priorityTrafficClass(quint32 userPriority) const;
+    /*!
+     */
     void setPriorityTrafficClass(const UIntList &list);
+    /*!
+     */
     UIntList priorityTrafficClass() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/genericsetting.h 6.17.0-0ubuntu1/src/settings/genericsetting.h
--- 6.13.0-1/src/settings/genericsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/genericsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,15 +16,29 @@ namespace NetworkManager
 {
 class GenericSettingPrivate;
 
-/**
- * Represents generic setting
+/*!
+ * \class NetworkManager::GenericSetting
+ * \inheaderfile NetworkManagerQt/GenericSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents generic setting.
  */
 class NETWORKMANAGERQT_EXPORT GenericSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::GenericSetting::Ptr
+     */
     typedef QSharedPointer<GenericSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::GenericSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     GenericSetting();
+    /*!
+     */
     explicit GenericSetting(const Ptr &other);
     ~GenericSetting() override;
 
diff -pruN 6.13.0-1/src/settings/gsmsetting.h 6.17.0-0ubuntu1/src/settings/gsmsetting.h
--- 6.13.0-1/src/settings/gsmsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/gsmsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,14 +16,33 @@ namespace NetworkManager
 {
 class GsmSettingPrivate;
 
-/**
- * Represents gsm setting
+/*!
+ * \class NetworkManager::GsmSetting
+ * \inheaderfile NetworkManagerQt/GsmSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents gsm setting.
  */
 class NETWORKMANAGERQT_EXPORT GsmSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::GsmSetting::Ptr
+     */
     typedef QSharedPointer<GsmSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::GsmSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     * \value Any
+     * \value Only3G
+     * \value GprsEdgeOnly
+     * \value Prefer3G
+     * \value Prefer2G
+     * \value Prefer4GLte
+     * \value Only4GLte
+     */
     enum NetworkType {
         Any = -1,
         Only3G,
@@ -34,54 +53,110 @@ public:
         Only4GLte,
     };
 
+    /*!
+     */
     GsmSetting();
+    /*!
+     */
     explicit GsmSetting(const Ptr &other);
     ~GsmSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setNumber(const QString &number);
+    /*!
+     */
     QString number() const;
 
+    /*!
+     */
     void setUsername(const QString &username);
+    /*!
+     */
     QString username() const;
 
+    /*!
+     */
     void setPassword(const QString &password);
+    /*!
+     */
     QString password() const;
 
+    /*!
+     */
     void setPasswordFlags(SecretFlags flags);
+    /*!
+     */
     SecretFlags passwordFlags() const;
 
+    /*!
+     */
     void setApn(const QString &apn);
+    /*!
+     */
     QString apn() const;
 
+    /*!
+     */
     void setNetworkId(const QString &id);
+    /*!
+     */
     QString networkId() const;
 
-    /// @deprecated since NM 1.0.0
+    /*! \deprecated NM 1.0.0 */
     void setNetworkType(NetworkType type);
+    /*!
+     */
     NetworkType networkType() const;
 
+    /*!
+     */
     void setPin(const QString &pin);
+    /*!
+     */
     QString pin() const;
 
+    /*!
+     */
     void setPinFlags(SecretFlags flags);
+    /*!
+     */
     SecretFlags pinFlags() const;
 
-    /// @deprecated since NM 1.0.0
+    /*! \deprecated NM 1.0.0 */
     void setAllowedBand(quint32 band);
+    /*!
+     */
     quint32 allowedBand() const;
 
+    /*!
+     */
     void setHomeOnly(bool homeOnly);
+    /*!
+     */
     bool homeOnly() const;
 
+    /*!
+     */
     void setDeviceId(const QString &id);
+    /*!
+     */
     QString deviceId() const;
 
+    /*!
+     */
     void setSimId(const QString &id);
+    /*!
+     */
     QString simId() const;
 
+    /*!
+     */
     void setSimOperatorId(const QString &id);
+    /*!
+     */
     QString simOperatorId() const;
 
     void secretsFromMap(const QVariantMap &secrets) override;
diff -pruN 6.13.0-1/src/settings/infinibandsetting.h 6.17.0-0ubuntu1/src/settings/infinibandsetting.h
--- 6.13.0-1/src/settings/infinibandsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/infinibandsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,39 +16,79 @@ namespace NetworkManager
 {
 class InfinibandSettingPrivate;
 
-/**
- * Represents infiniband setting
+/*!
+ * \class NetworkManager::InfinibandSetting
+ * \inheaderfile NetworkManagerQt/InfinibandSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents infiniband setting.
  */
 class NETWORKMANAGERQT_EXPORT InfinibandSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::InfinibandSetting::Ptr
+     */
     typedef QSharedPointer<InfinibandSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::InfinibandSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     *
+     * \value Unknown
+     * \value Datagram
+     * \value Connected
+     */
     enum TransportMode {
         Unknown = 0,
         Datagram,
         Connected,
     };
 
+    /*!
+     */
     InfinibandSetting();
+    /*!
+     */
     explicit InfinibandSetting(const Ptr &other);
     ~InfinibandSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setMacAddress(const QByteArray &address);
+    /*!
+     */
     QByteArray macAddress() const;
 
+    /*!
+     */
     void setMtu(quint32 mtu);
+    /*!
+     */
     quint32 mtu() const;
 
+    /*!
+     */
     void setTransportMode(TransportMode mode);
+    /*!
+     */
     TransportMode transportMode() const;
 
+    /*!
+     */
     void setPKey(qint32 key);
+    /*!
+     */
     qint32 pKey() const;
 
+    /*!
+     */
     void setParent(const QString &parent);
+    /*!
+     */
     QString parent() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/iptunnelsetting.h 6.17.0-0ubuntu1/src/settings/iptunnelsetting.h
--- 6.13.0-1/src/settings/iptunnelsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/iptunnelsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -14,14 +14,37 @@ namespace NetworkManager
 {
 class IpTunnelSettingPrivate;
 
-/**
- * Represents IpTunnel setting
+/*!
+ * \class NetworkManager::IpTunnelSetting
+ * \inheaderfile NetworkManagerQt/IpTunnelSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents IpTunnel setting.
  */
 class NETWORKMANAGERQT_EXPORT IpTunnelSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::IpTunnelSetting::Ptr
+     */
     typedef QSharedPointer<IpTunnelSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::IpTunnelSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     *
+     * \value Unknown
+     * \value Ipip
+     * \value Gre
+     * \value Sit
+     * \value Isatap
+     * \value Vti
+     * \value Ip6ip6
+     * \value Ipip6
+     * \value Ip6gre
+     * \value Vti6
+     */
     enum Mode {
         Unknown = NM_IP_TUNNEL_MODE_UNKNOWN,
         Ipip = NM_IP_TUNNEL_MODE_IPIP,
@@ -32,9 +55,19 @@ public:
         Ip6ip6 = NM_IP_TUNNEL_MODE_IP6IP6,
         Ipip6 = NM_IP_TUNNEL_MODE_IPIP6,
         Ip6gre = NM_IP_TUNNEL_MODE_IP6GRE,
-        Vti6 = NM_IP_TUNNEL_MODE_VTI,
+        Vti6 = NM_IP_TUNNEL_MODE_VTI6,
     };
 
+    /*!
+     *
+     * \value None
+     * \value Ip6IgnEncapLimit
+     * \value Ip6UseOrigTclass
+     * \value Ip6UseOrigFlowlabel
+     * \value Ip6Mip6Dev
+     * \value Ip6RcvDscpCopy
+     * \value Ip6UseOrigFwmark
+     */
     enum Flag {
         None = 0x0,
         Ip6IgnEncapLimit = 0x1,
@@ -46,49 +79,105 @@ public:
     };
     Q_DECLARE_FLAGS(Flags, Flag)
 
+    /*!
+     */
     IpTunnelSetting();
+    /*!
+     */
     explicit IpTunnelSetting(const Ptr &other);
     ~IpTunnelSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setMode(Mode mode);
+    /*!
+     */
     Mode mode() const;
 
+    /*!
+     */
     void setPathMtuDiscovery(bool discovery);
+    /*!
+     */
     bool pathMtuDiscovery() const;
 
+    /*!
+     */
     void setEncapsulationLimit(quint32 limit);
+    /*!
+     */
     quint32 encapsulationLimit() const;
 
+    /*!
+     */
     void setFlags(Flags flags);
+    /*!
+     */
     Flags flags() const;
 
+    /*!
+     */
     void setFlowLabel(quint32 label);
+    /*!
+     */
     quint32 flowLabel() const;
 
+    /*!
+     */
     void setMtu(quint32 mtu);
+    /*!
+     */
     quint32 mtu() const;
 
+    /*!
+     */
     void setTos(quint32 tos);
+    /*!
+     */
     quint32 tos() const;
 
+    /*!
+     */
     void setTtl(quint32 ttl);
+    /*!
+     */
     quint32 ttl() const;
 
+    /*!
+     */
     void setInputKey(const QString &key);
+    /*!
+     */
     QString inputKey() const;
 
+    /*!
+     */
     void setLocal(const QString &local);
+    /*!
+     */
     QString local() const;
 
+    /*!
+     */
     void setParent(const QString &parent);
+    /*!
+     */
     QString parent() const;
 
+    /*!
+     */
     void setOutputKey(const QString &key);
+    /*!
+     */
     QString outputKey() const;
 
+    /*!
+     */
     void setRemote(const QString &remote);
+    /*!
+     */
     QString remote() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/ipv4setting.h 6.17.0-0ubuntu1/src/settings/ipv4setting.h
--- 6.13.0-1/src/settings/ipv4setting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/ipv4setting.h	2025-08-01 10:40:12.000000000 +0000
@@ -46,14 +46,32 @@ namespace NetworkManager
 {
 class Ipv4SettingPrivate;
 
-/**
- * Represents ipv4 setting
+/*!
+ * \class NetworkManager::Ipv4Setting
+ * \inheaderfile NetworkManagerQt/Ipv4Setting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents ipv4 setting.
  */
 class NETWORKMANAGERQT_EXPORT Ipv4Setting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::Ipv4Setting::Ptr
+     */
     typedef QSharedPointer<Ipv4Setting> Ptr;
+    /*!
+     * \typedef NetworkManager::Ipv4Setting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     *
+     * \value Automatic
+     * \value LinkLocal
+     * \value Manual
+     * \value Shared
+     * \value Disabled
+     */
     enum ConfigMethod {
         Automatic,
         LinkLocal,
@@ -62,70 +80,154 @@ public:
         Disabled,
     };
 
+    /*!
+     */
     Ipv4Setting();
+    /*!
+     */
     explicit Ipv4Setting(const Ptr &other);
     ~Ipv4Setting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setMethod(ConfigMethod method);
+    /*!
+     */
     ConfigMethod method() const;
 
+    /*!
+     */
     void setDns(const QList<QHostAddress> &dns);
+    /*!
+     */
     QList<QHostAddress> dns() const;
 
+    /*!
+     */
     void setDnsSearch(const QStringList &domains);
+    /*!
+     */
     QStringList dnsSearch() const;
 
+    /*!
+     */
     void setAddresses(const QList<NetworkManager::IpAddress> &ipv4addresses);
+    /*!
+     */
     QList<NetworkManager::IpAddress> addresses() const;
 
+    /*!
+     */
     void setRoutes(const QList<NetworkManager::IpRoute> &ipv4routes);
+    /*!
+     */
     QList<NetworkManager::IpRoute> routes() const;
 
+    /*!
+     */
     void setRouteMetric(int metric);
+    /*!
+     */
     int routeMetric() const;
 
+    /*!
+     */
     void setIgnoreAutoRoutes(bool ignore);
+    /*!
+     */
     bool ignoreAutoRoutes() const;
 
+    /*!
+     */
     void setIgnoreAutoDns(bool ignore);
+    /*!
+     */
     bool ignoreAutoDns() const;
 
+    /*!
+     */
     void setDhcpClientId(const QString &id);
+    /*!
+     */
     QString dhcpClientId() const;
 
+    /*!
+     */
     void setDhcpSendHostname(bool send);
+    /*!
+     */
     bool dhcpSendHostname() const;
 
+    /*!
+     */
     void setDhcpHostname(const QString &hostname);
+    /*!
+     */
     QString dhcpHostname() const;
 
+    /*!
+     */
     void setNeverDefault(bool neverDefault);
+    /*!
+     */
     bool neverDefault() const;
 
+    /*!
+     */
     void setMayFail(bool mayFail);
+    /*!
+     */
     bool mayFail() const;
 
+    /*!
+     */
     void setDadTimeout(qint32 timeout);
+    /*!
+     */
     qint32 dadTimeout() const;
 
+    /*!
+     */
     void setDhcpFqdn(const QString &fqdn);
+    /*!
+     */
     QString dhcpFqdn() const;
 
+    /*!
+     */
     void setDnsOptions(const QStringList &options);
+    /*!
+     */
     QStringList dnsOptions() const;
 
+    /*!
+     */
     void setDnsPriority(qint32 priority);
+    /*!
+     */
     qint32 dnsPriority() const;
 
+    /*!
+     */
     void setGateway(const QString &gateway);
+    /*!
+     */
     QString gateway() const;
 
+    /*!
+     */
     void setAddressData(const NMVariantMapList &addressData);
+    /*!
+     */
     NMVariantMapList addressData() const;
 
+    /*!
+     */
     void setRouteData(const NMVariantMapList &routeData);
+    /*!
+     */
     NMVariantMapList routeData() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/ipv6setting.h 6.17.0-0ubuntu1/src/settings/ipv6setting.h
--- 6.13.0-1/src/settings/ipv6setting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/ipv6setting.h	2025-08-01 10:40:12.000000000 +0000
@@ -64,104 +64,224 @@ namespace NetworkManager
 {
 class Ipv6SettingPrivate;
 
-/**
- * Represents ipv6 setting
+/*!
+ * \class NetworkManager::Ipv6Setting
+ * \inheaderfile NetworkManagerQt/Ipv6Setting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents ipv6 setting.
  */
 class NETWORKMANAGERQT_EXPORT Ipv6Setting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::Ipv6Setting::Ptr
+     */
     typedef QSharedPointer<Ipv6Setting> Ptr;
+    /*!
+     * \typedef NetworkManager::Ipv6Setting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     *
+     * \value Automatic
+     * \value Dhcp
+     * \value LinkLocal
+     * \value Manual
+     * \value Ignored
+     * \value ConfigDisabled
+     *        FIXME KF6: fix enum naming (possibly move to enum class)
+     */
     enum ConfigMethod {
         Automatic,
         Dhcp,
         LinkLocal,
         Manual,
         Ignored,
-        ConfigDisabled // FIXME KF6: fix enum naming (possibly move to enum class)
+        ConfigDisabled
     };
+    /*!
+     *
+     * \value Unknown
+     * \value Disabled
+     * \value PreferPublic
+     * \value PreferTemporary
+     */
     enum IPv6Privacy {
         Unknown = -1,
         Disabled,
         PreferPublic,
         PreferTemporary,
     };
+    /*!
+     *
+     * \value Eui64
+     * \value StablePrivacy
+     */
     enum IPv6AddressGenMode {
         Eui64,
         StablePrivacy,
     };
 
+    /*!
+     */
     Ipv6Setting();
+    /*!
+     */
     explicit Ipv6Setting(const Ptr &other);
     ~Ipv6Setting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setMethod(ConfigMethod method);
+    /*!
+     */
     ConfigMethod method() const;
 
+    /*!
+     */
     void setDns(const QList<QHostAddress> &dns);
+    /*!
+     */
     QList<QHostAddress> dns() const;
 
+    /*!
+     */
     void setDnsSearch(const QStringList &domains);
+    /*!
+     */
     QStringList dnsSearch() const;
 
+    /*!
+     */
     void setAddresses(const QList<NetworkManager::IpAddress> ipv6addresses);
+    /*!
+     */
     QList<NetworkManager::IpAddress> addresses() const;
 
+    /*!
+     */
     void setRoutes(const QList<NetworkManager::IpRoute> ipv6routes);
+    /*!
+     */
     QList<NetworkManager::IpRoute> routes() const;
 
+    /*!
+     */
     void setRouteMetric(int metric);
+    /*!
+     */
     int routeMetric() const;
 
+    /*!
+     */
     void setIgnoreAutoRoutes(bool ignore);
+    /*!
+     */
     bool ignoreAutoRoutes() const;
 
+    /*!
+     */
     void setIgnoreAutoDns(bool ignore);
+    /*!
+     */
     bool ignoreAutoDns() const;
 
+    /*!
+     */
     void setNeverDefault(bool neverDefault);
+    /*!
+     */
     bool neverDefault() const;
 
+    /*!
+     */
     void setMayFail(bool mayFail);
+    /*!
+     */
     bool mayFail() const;
 
+    /*!
+     */
     void setPrivacy(IPv6Privacy privacy);
+    /*!
+     */
     IPv6Privacy privacy() const;
 
     void fromMap(const QVariantMap &setting) override;
 
     QVariantMap toMap() const override;
 
+    /*!
+     */
     void setDadTimeout(qint32 timeout);
+    /*!
+     */
     qint32 dadTimeout() const;
 
+    /*!
+     */
     void setAddressGenMode(IPv6AddressGenMode mode);
+    /*!
+     */
     IPv6AddressGenMode addressGenMode() const;
 
+    /*!
+     */
     void setDhcpTimeout(qint32 timeout);
+    /*!
+     */
     qint32 dhcpTimeout() const;
 
+    /*!
+     */
     void setDhcpHostname(const QString &hostname);
+    /*!
+     */
     QString dhcpHostname() const;
 
+    /*!
+     */
     void setDhcpDuid(const QString &duid);
+    /*!
+     */
     QString dhcpDuid() const;
 
+    /*!
+     */
     void setToken(const QString &token);
+    /*!
+     */
     QString token() const;
 
+    /*!
+     */
     void setDnsOptions(const QStringList &options);
+    /*!
+     */
     QStringList dnsOptions() const;
 
+    /*!
+     */
     void setAddressData(const NMVariantMapList &addressData);
+    /*!
+     */
     NMVariantMapList addressData() const;
 
+    /*!
+     */
     void setRouteData(const NMVariantMapList &routeData);
+    /*!
+     */
     NMVariantMapList routeData() const;
 
+    /*!
+     */
     void setRouteTable(quint32 routeTable);
+    /*!
+     */
     quint32 routeTable() const;
 
 protected:
diff -pruN 6.13.0-1/src/settings/macsecsetting.h 6.17.0-0ubuntu1/src/settings/macsecsetting.h
--- 6.13.0-1/src/settings/macsecsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/macsecsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -14,57 +14,118 @@ namespace NetworkManager
 {
 class MacsecSettingPrivate;
 
-/**
- * Represents Macsec setting
+/*!
+ * \class NetworkManager::MacsecSetting
+ * \inheaderfile NetworkManagerQt/MacsecSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents Macsec setting.
  */
 class NETWORKMANAGERQT_EXPORT MacsecSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::MacsecSetting::Ptr
+     */
     typedef QSharedPointer<MacsecSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::MacsecSetting::List
+     */
     typedef QList<Ptr> List;
 
+    /*!
+     *
+     * \value Psk
+     * \value Eap
+     */
     enum Mode {
         Psk,
         Eap,
     };
 
+    /*!
+     *
+     * \value Disable
+     * \value Check
+     * \value Strict
+     */
     enum Validation {
         Disable,
         Check,
         Strict,
     };
 
+    /*!
+     */
     MacsecSetting();
+    /*!
+     */
     explicit MacsecSetting(const Ptr &other);
     ~MacsecSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setEncrypt(bool encrypt);
+    /*!
+     */
     bool encrypt() const;
 
+    /*!
+     */
     void setMkaCak(const QString &mkaCak);
+    /*!
+     */
     QString mkaCak() const;
 
+    /*!
+     */
     void setMkaCkn(const QString &mkaCkn);
+    /*!
+     */
     QString mkaCkn() const;
 
+    /*!
+     */
     void setMode(Mode mode);
+    /*!
+     */
     Mode mode() const;
 
+    /*!
+     */
     void setParent(const QString &parent);
+    /*!
+     */
     QString parent() const;
 
+    /*!
+     */
     void setPort(qint32 port);
+    /*!
+     */
     qint32 port() const;
 
+    /*!
+     */
     void setSendSci(bool sendSci);
+    /*!
+     */
     bool sendSci() const;
 
+    /*!
+     */
     void setValidation(Validation validation);
+    /*!
+     */
     Validation validation() const;
 
+    /*!
+     */
     void setMkaCakFlags(Setting::SecretFlags flags);
+    /*!
+     */
     Setting::SecretFlags mkaCakFlags() const;
 
     QStringList needSecrets(bool requestNew = false) const override;
diff -pruN 6.13.0-1/src/settings/matchsetting.h 6.17.0-0ubuntu1/src/settings/matchsetting.h
--- 6.13.0-1/src/settings/matchsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/matchsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -14,21 +14,37 @@ namespace NetworkManager
 {
 class MatchSettingPrivate;
 
-/**
- * Represents Match setting
+/*!
+ * \class NetworkManager::MatchSetting
+ * \inheaderfile NetworkManagerQt/MatchSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents Match setting.
  */
 class NETWORKMANAGERQT_EXPORT MatchSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::MatchSetting::Ptr
+     */
     typedef QSharedPointer<MatchSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::MatchSetting::List
+     */
     typedef QList<Ptr> List;
 
+    /*!
+     */
     MatchSetting();
+    /*!
+     */
     explicit MatchSetting(const Ptr &other);
     ~MatchSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setInterfaceName(const QStringList &name);
     QStringList interfaceName() const;
 
diff -pruN 6.13.0-1/src/settings/olpcmeshsetting.h 6.17.0-0ubuntu1/src/settings/olpcmeshsetting.h
--- 6.13.0-1/src/settings/olpcmeshsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/olpcmeshsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,27 +16,53 @@ namespace NetworkManager
 {
 class OlpcMeshSettingPrivate;
 
-/**
- * Represents olpc mesh setting
+/*!
+ * \class NetworkManager::OlpcMeshSetting
+ * \inheaderfile NetworkManagerQt/OlpcMeshSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents olpc mesh setting.
  */
 class NETWORKMANAGERQT_EXPORT OlpcMeshSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::OlpcMeshSetting::Ptr
+     */
     typedef QSharedPointer<OlpcMeshSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::OlpcMeshSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     OlpcMeshSetting();
+    /*!
+     */
     explicit OlpcMeshSetting(const Ptr &other);
     ~OlpcMeshSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setSsid(const QByteArray &ssid);
+    /*!
+     */
     QByteArray ssid() const;
 
+    /*!
+     */
     void setChannel(quint32 channel);
+    /*!
+     */
     quint32 channel() const;
 
+    /*!
+     */
     void setDhcpAnycastAddress(const QByteArray &address);
+    /*!
+     */
     QByteArray dhcpAnycastAddress() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/ovsbridgesetting.h 6.17.0-0ubuntu1/src/settings/ovsbridgesetting.h
--- 6.13.0-1/src/settings/ovsbridgesetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/ovsbridgesetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,31 +16,61 @@ namespace NetworkManager
 {
 class OvsBridgeSettingPrivate;
 
-/**
- * Represents ovs-bridge setting
+/*!
+ * \class NetworkManager::OvsBridgeSetting
+ * \inheaderfile NetworkManagerQt/OvsBridgeSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents ovs-bridge setting.
  */
 class NETWORKMANAGERQT_EXPORT OvsBridgeSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::OvsBridgeSetting::Ptr
+     */
     typedef QSharedPointer<OvsBridgeSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::OvsBridgeSetting::List
+     */
     typedef QList<Ptr> List;
 
+    /*!
+     */
     OvsBridgeSetting();
+    /*!
+     */
     explicit OvsBridgeSetting(const Ptr &other);
     ~OvsBridgeSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setMcastSnoopingEnable(bool mcastSnoopingEnable);
+    /*!
+     */
     bool mcastSnoopingEnable() const;
 
+    /*!
+     */
     void setRstpEnable(bool rstpEnable);
+    /*!
+     */
     bool rstpEnable() const;
 
+    /*!
+     */
     void setStpEnable(bool stpEnable);
+    /*!
+     */
     bool stpEnable() const;
 
+    /*!
+     */
     void setFailMode(const QString &mode);
+    /*!
+     */
     QString failMode() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/ovsinterfacesetting.h 6.17.0-0ubuntu1/src/settings/ovsinterfacesetting.h
--- 6.13.0-1/src/settings/ovsinterfacesetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/ovsinterfacesetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,22 +16,40 @@ namespace NetworkManager
 {
 class OvsInterfaceSettingPrivate;
 
-/**
- * Represents ovs-interface setting
+/*!
+ * \class NetworkManager::OvsInterfaceSetting
+ * \inheaderfile NetworkManagerQt/OvsInterfaceSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents ovs-interface setting.
  */
 class NETWORKMANAGERQT_EXPORT OvsInterfaceSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::OvsInterfaceSetting::Ptr
+     */
     typedef QSharedPointer<OvsInterfaceSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::OvsInterfaceSetting::List
+     */
     typedef QList<Ptr> List;
 
+    /*!
+     */
     OvsInterfaceSetting();
+    /*!
+     */
     explicit OvsInterfaceSetting(const Ptr &other);
     ~OvsInterfaceSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setInterfaceType(const QString &type);
+    /*!
+     */
     QString interfaceType() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/ovspatchsetting.h 6.17.0-0ubuntu1/src/settings/ovspatchsetting.h
--- 6.13.0-1/src/settings/ovspatchsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/ovspatchsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,22 +16,40 @@ namespace NetworkManager
 {
 class OvsPatchSettingPrivate;
 
-/**
- * Represents OvsPatch setting
+/*!
+ * \class NetworkManager::OvsPatchSetting
+ * \inheaderfile NetworkManagerQt/OvsPatchSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents OvsPatch setting.
  */
 class NETWORKMANAGERQT_EXPORT OvsPatchSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::OvsPatchSetting::Ptr
+     */
     typedef QSharedPointer<OvsPatchSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::OvsPatchSetting::List
+     */
     typedef QList<Ptr> List;
 
+    /*!
+     */
     OvsPatchSetting();
+    /*!
+     */
     explicit OvsPatchSetting(const Ptr &other);
     ~OvsPatchSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setPeer(const QString &peer);
+    /*!
+     */
     QString peer() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/ovsportsetting.h 6.17.0-0ubuntu1/src/settings/ovsportsetting.h
--- 6.13.0-1/src/settings/ovsportsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/ovsportsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -14,37 +14,75 @@ namespace NetworkManager
 {
 class OvsPortSettingPrivate;
 
-/**
- * Represents OvsPort setting
+/*!
+ * \class NetworkManager::OvsPortSetting
+ * \inheaderfile NetworkManagerQt/OvsPortSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents o setting.
  */
 class NETWORKMANAGERQT_EXPORT OvsPortSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::OvsPortSetting::Ptr
+     */
     typedef QSharedPointer<OvsPortSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::OvsPortSetting::List
+     */
     typedef QList<Ptr> List;
 
+    /*!
+     */
     OvsPortSetting();
+    /*!
+     */
     explicit OvsPortSetting(const Ptr &other);
     ~OvsPortSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setBondDowndelay(quint32 delay);
+    /*!
+     */
     quint32 bondDowndelay() const;
 
+    /*!
+     */
     void setBondUpdelay(quint32 delay);
+    /*!
+     */
     quint32 bondUpdelay() const;
 
+    /*!
+     */
     void setTag(quint32 tag);
+    /*!
+     */
     quint32 tag() const;
 
+    /*!
+     */
     void setBondMode(const QString &mode);
+    /*!
+     */
     QString bondMode() const;
 
+    /*!
+     */
     void setLacp(const QString &lacp);
+    /*!
+     */
     QString lacp() const;
 
+    /*!
+     */
     void setVlanMode(const QString &mode);
+    /*!
+     */
     QString vlanMode() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/pppoesetting.h 6.17.0-0ubuntu1/src/settings/pppoesetting.h
--- 6.13.0-1/src/settings/pppoesetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/pppoesetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,33 +16,67 @@ namespace NetworkManager
 {
 class PppoeSettingPrivate;
 
-/**
- * Represents pppoe setting
+/*!
+ * \class NetworkManager::PppoeSetting
+ * \inheaderfile NetworkManagerQt/PppoeSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents pppoe setting.
  */
 class NETWORKMANAGERQT_EXPORT PppoeSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::PppoeSetting::Ptr
+     */
     typedef QSharedPointer<PppoeSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::PppoeSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     PppoeSetting();
+    /*!
+     */
     explicit PppoeSetting(const Ptr &other);
     ~PppoeSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setService(const QString &service);
+    /*!
+     */
     QString service() const;
 
+    /*!
+     */
     void setParent(const QString &parent);
+    /*!
+     */
     QString parent() const;
 
+    /*!
+     */
     void setUsername(const QString &username);
+    /*!
+     */
     QString username() const;
 
+    /*!
+     */
     void setPassword(const QString &password);
+    /*!
+     */
     QString password() const;
 
+    /*!
+     */
     void setPasswordFlags(Setting::SecretFlags flags);
+    /*!
+     */
     Setting::SecretFlags passwordFlags() const;
 
     QStringList needSecrets(bool requestNew = false) const override;
diff -pruN 6.13.0-1/src/settings/pppsetting.h 6.17.0-0ubuntu1/src/settings/pppsetting.h
--- 6.13.0-1/src/settings/pppsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/pppsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,72 +16,158 @@ namespace NetworkManager
 {
 class PppSettingPrivate;
 
-/**
- * Represents ppp setting
+/*!
+ * \class NetworkManager::PppSetting
+ * \inheaderfile NetworkManagerQt/PppSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents ppp setting.
  */
 class NETWORKMANAGERQT_EXPORT PppSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::PppSetting::Ptr
+     */
     typedef QSharedPointer<PppSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::PppSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     PppSetting();
+    /*!
+     */
     explicit PppSetting(const Ptr &other);
     ~PppSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setNoAuth(bool require);
+    /*!
+     */
     bool noAuth() const;
 
+    /*!
+     */
     void setRefuseEap(bool refuse);
+    /*!
+     */
     bool refuseEap() const;
 
+    /*!
+     */
     void setRefusePap(bool refuse);
+    /*!
+     */
     bool refusePap() const;
 
+    /*!
+     */
     void setRefuseChap(bool refuse);
+    /*!
+     */
     bool refuseChap() const;
 
+    /*!
+     */
     void setRefuseMschap(bool refuse);
+    /*!
+     */
     bool refuseMschap() const;
 
+    /*!
+     */
     void setRefuseMschapv2(bool refuse);
+    /*!
+     */
     bool refuseMschapv2() const;
 
+    /*!
+     */
     void setNoBsdComp(bool require);
+    /*!
+     */
     bool noBsdComp() const;
 
+    /*!
+     */
     void setNoDeflate(bool require);
+    /*!
+     */
     bool noDeflate() const;
 
+    /*!
+     */
     void setNoVjComp(bool require);
+    /*!
+     */
     bool noVjComp() const;
 
+    /*!
+     */
     void setRequireMppe(bool require);
+    /*!
+     */
     bool requireMppe() const;
 
+    /*!
+     */
     void setRequireMppe128(bool require);
+    /*!
+     */
     bool requireMppe128() const;
 
+    /*!
+     */
     void setMppeStateful(bool used);
+    /*!
+     */
     bool mppeStateful() const;
 
+    /*!
+     */
     void setCRtsCts(bool control);
+    /*!
+     */
     bool cRtsCts() const;
 
+    /*!
+     */
     void setBaud(quint32 baud);
+    /*!
+     */
     quint32 baud() const;
 
+    /*!
+     */
     void setMru(quint32 mru);
+    /*!
+     */
     quint32 mru() const;
 
+    /*!
+     */
     void setMtu(quint32 mtu);
+    /*!
+     */
     quint32 mtu() const;
 
+    /*!
+     */
     void setLcpEchoFailure(quint32 number);
+    /*!
+     */
     quint32 lcpEchoFailure() const;
 
+    /*!
+     */
     void setLcpEchoInterval(quint32 interval);
+    /*!
+     */
     quint32 lcpEchoInterval() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/proxysetting.h 6.17.0-0ubuntu1/src/settings/proxysetting.h
--- 6.13.0-1/src/settings/proxysetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/proxysetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,35 +16,70 @@ namespace NetworkManager
 {
 class ProxySettingPrivate;
 
-/**
- * Represents proxy setting
+/*!
+ * \class NetworkManager::ProxySetting
+ * \inheaderfile NetworkManagerQt/ProxySetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents proxy setting.
  */
 class NETWORKMANAGERQT_EXPORT ProxySetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::ProxySetting::Ptr
+     */
     typedef QSharedPointer<ProxySetting> Ptr;
+    /*!
+     * \typedef NetworkManager::ProxySetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     *
+     * \value None
+     * \value Auto
+     */
     enum Mode {
         None = 0,
         Auto = 1,
     };
 
+    /*!
+     */
     ProxySetting();
+    /*!
+     */
     explicit ProxySetting(const Ptr &other);
     ~ProxySetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setBrowserOnly(bool browserOnly);
+    /*!
+     */
     bool browserOnly() const;
 
+    /*!
+     */
     void setMethod(Mode method);
+    /*!
+     */
     Mode method() const;
 
+    /*!
+     */
     void setPacScript(const QString &script);
+    /*!
+     */
     QString pacScript() const;
 
+    /*!
+     */
     void setPacUrl(const QString &url);
+    /*!
+     */
     QString pacUrl() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/security8021xsetting.h 6.17.0-0ubuntu1/src/settings/security8021xsetting.h
--- 6.13.0-1/src/settings/security8021xsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/security8021xsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -14,14 +14,36 @@ namespace NetworkManager
 {
 class Security8021xSettingPrivate;
 
-/**
- * Represents 802.1x wireless security setting
+/*!
+ * \class NetworkManager::Security8021xSetting
+ * \inheaderfile NetworkManagerQt/Security8021xSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents 802.1x wireless security setting.
  */
 class NETWORKMANAGERQT_EXPORT Security8021xSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::Security8021xSetting::Ptr
+     */
     typedef QSharedPointer<Security8021xSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::Security8021xSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     *
+     * \value EapMethodUnknown
+     * \value EapMethodLeap
+     * \value EapMethodMd5
+     * \value EapMethodTls
+     * \value EapMethodPeap
+     * \value EapMethodTtls
+     * \value EapMethodSim
+     * \value EapMethodFast
+     * \value EapMethodPwd
+     */
     enum EapMethod {
         EapMethodUnknown = 0,
         EapMethodLeap,
@@ -33,15 +55,34 @@ public:
         EapMethodFast,
         EapMethodPwd,
     };
+    /*!
+     *
+     * \value PeapVersionUnknown
+     * \value PeapVersionZero
+     * \value PeapVersionOne
+     */
     enum PeapVersion {
         PeapVersionUnknown = -1,
         PeapVersionZero,
         PeapVersionOne,
     };
+    /*!
+     *
+     * \value PeapLabelUnknown
+     * \value PeapLabelForce
+     */
     enum PeapLabel {
         PeapLabelUnknown = 0,
         PeapLabelForce,
     };
+    /*!
+     *
+     * \value FastProvisioningUnknown
+     * \value FastProvisioningDisabled
+     * \value FastProvisioningAllowUnauthenticated
+     * \value FastProvisioningAllowAuthenticated
+     * \value FastProvisioningAllowBoth
+     */
     enum FastProvisioning {
         FastProvisioningUnknown = -1,
         FastProvisioningDisabled,
@@ -49,6 +90,18 @@ public:
         FastProvisioningAllowAuthenticated,
         FastProvisioningAllowBoth,
     };
+    /*!
+     *
+     * \value AuthMethodUnknown
+     * \value AuthMethodPap
+     * \value AuthMethodChap
+     * \value AuthMethodMschap
+     * \value AuthMethodMschapv2
+     * \value AuthMethodGtc
+     * \value AuthMethodOtp
+     * \value AuthMethodMd5
+     * \value AuthMethodTls
+     */
     enum AuthMethod {
         AuthMethodUnknown = 0,
         AuthMethodPap,
@@ -60,6 +113,15 @@ public:
         AuthMethodMd5,
         AuthMethodTls,
     };
+    /*!
+     *
+     * \value AuthEapMethodUnknown
+     * \value AuthEapMethodMd5
+     * \value AuthEapMethodMschapv2
+     * \value AuthEapMethodOtp
+     * \value AuthEapMethodGtc
+     * \value AuthEapMethodTls
+     */
     enum AuthEapMethod {
         AuthEapMethodUnknown = 0,
         AuthEapMethodMd5,
@@ -69,33 +131,55 @@ public:
         AuthEapMethodTls,
     };
 
+    /*!
+     */
     Security8021xSetting();
+    /*!
+     */
     explicit Security8021xSetting(const Ptr &other);
     ~Security8021xSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setEapMethods(const QList<EapMethod> &methods);
+    /*!
+     */
     QList<EapMethod> eapMethods() const;
 
+    /*!
+     */
     void setIdentity(const QString &identity);
+    /*!
+     */
     QString identity() const;
 
+    /*!
+     */
     void setAnonymousIdentity(const QString &identity);
+    /*!
+     */
     QString anonymousIdentity() const;
 
+    /*!
+     */
     void setDomainSuffixMatch(const QString &domainSuffixMatch);
+    /*!
+     */
     QString domainSuffixMatch() const;
 
-    /**
+    /*!
      * Set UTF-8 encoded file path containing PAC for EAP-FAST.
      *
      * \param filePath file path to be set.
      */
     void setPacFile(const QString &filePath);
+    /*!
+     */
     QString pacFile() const;
 
-    /**
+    /*!
      * Set certificate authority (ca)'s certificate for this setting.
      *
      * \param certificate certificate's file path encoded into a byte array.
@@ -103,18 +187,32 @@ public:
      * \warning certificate have to be null terminated or NetworkManager will refuse it.
      */
     void setCaCertificate(const QByteArray &certificate);
+    /*!
+     */
     QByteArray caCertificate() const;
 
+    /*!
+     */
     void setCaPath(const QString &path);
+    /*!
+     */
     QString caPath() const;
 
+    /*!
+     */
     void setSubjectMatch(const QString &substring);
+    /*!
+     */
     QString subjectMatch() const;
 
+    /*!
+     */
     void setAltSubjectMatches(const QStringList &strings);
+    /*!
+     */
     QStringList altSubjectMatches() const;
 
-    /**
+    /*!
      * Set client certificate for this setting.
      *
      * \param certificate certificate's file path encoded into a byte array.
@@ -122,24 +220,46 @@ public:
      * \warning certificate have to be null terminated or NetworkManager will refuse it.
      */
     void setClientCertificate(const QByteArray &certificate);
+    /*!
+     */
     QByteArray clientCertificate() const;
 
+    /*!
+     */
     void setPhase1PeapVersion(PeapVersion version);
+    /*!
+     */
     PeapVersion phase1PeapVersion() const;
 
+    /*!
+     */
     void setPhase1PeapLabel(PeapLabel label);
+    /*!
+     */
     PeapLabel phase1PeapLabel() const;
 
+    /*!
+     */
     void setPhase1FastProvisioning(FastProvisioning provisioning);
+    /*!
+     */
     FastProvisioning phase1FastProvisioning() const;
 
+    /*!
+     */
     void setPhase2AuthMethod(AuthMethod method);
+    /*!
+     */
     AuthMethod phase2AuthMethod() const;
 
+    /*!
+     */
     void setPhase2AuthEapMethod(AuthEapMethod method);
+    /*!
+     */
     AuthEapMethod phase2AuthEapMethod() const;
 
-    /**
+    /*!
      * Contains the CA certificate if used by the EAP method specified in the
      * phase2AuthMethod() or phase2AuthEapMethod() properties.
      *
@@ -148,33 +268,67 @@ public:
      * \warning certificate have to be null terminated or NetworkManager will refuse it.
      */
     void setPhase2CaCertificate(const QByteArray &certificate);
+    /*!
+     */
     QByteArray phase2CaCertificate() const;
 
+    /*!
+     */
     void setPhase2CaPath(const QString &path);
+    /*!
+     */
     QString phase2CaPath() const;
 
+    /*!
+     */
     void setPhase2SubjectMatch(const QString &substring);
+    /*!
+     */
     QString phase2SubjectMatch() const;
 
+    /*!
+     */
     void setPhase2AltSubjectMatches(const QStringList &strings);
+    /*!
+     */
     QStringList phase2AltSubjectMatches() const;
 
+    /*!
+     */
     void setPhase2ClientCertificate(const QByteArray &certificate);
+    /*!
+     */
     QByteArray phase2ClientCertificate() const;
 
+    /*!
+     */
     void setPassword(const QString &password);
+    /*!
+     */
     QString password() const;
 
+    /*!
+     */
     void setPasswordFlags(Setting::SecretFlags flags);
+    /*!
+     */
     Setting::SecretFlags passwordFlags() const;
 
+    /*!
+     */
     void setPasswordRaw(const QByteArray &password);
+    /*!
+     */
     QByteArray passwordRaw() const;
 
+    /*!
+     */
     void setPasswordRawFlags(Setting::SecretFlags flags);
+    /*!
+     */
     Setting::SecretFlags passwordRawFlags() const;
 
-    /**
+    /*!
      * Set private key for this setting.
      *
      * \param key the key to be set.
@@ -182,30 +336,64 @@ public:
      * \warning key have to be null terminated or NetworkManager will refuse it.
      */
     void setPrivateKey(const QByteArray &key);
+    /*!
+     */
     QByteArray privateKey() const;
 
+    /*!
+     */
     void setPrivateKeyPassword(const QString &password);
+    /*!
+     */
     QString privateKeyPassword() const;
 
+    /*!
+     */
     void setPrivateKeyPasswordFlags(Setting::SecretFlags flags);
+    /*!
+     */
     Setting::SecretFlags privateKeyPasswordFlags() const;
 
+    /*!
+     */
     void setPhase2PrivateKey(const QByteArray &key);
+    /*!
+     */
     QByteArray phase2PrivateKey() const;
 
+    /*!
+     */
     void setPhase2PrivateKeyPassword(const QString &password);
+    /*!
+     */
     QString phase2PrivateKeyPassword() const;
 
+    /*!
+     */
     void setPhase2PrivateKeyPasswordFlags(Setting::SecretFlags flags);
+    /*!
+     */
     Setting::SecretFlags phase2PrivateKeyPasswordFlags() const;
 
+    /*!
+     */
     void setPin(const QString &pin);
+    /*!
+     */
     QString pin() const;
 
+    /*!
+     */
     void setPinFlags(Setting::SecretFlags flags);
+    /*!
+     */
     Setting::SecretFlags pinFlags() const;
 
+    /*!
+     */
     void setSystemCaCertificates(bool use);
+    /*!
+     */
     bool systemCaCertificates() const;
 
     QStringList needSecrets(bool requestNew = false) const override;
diff -pruN 6.13.0-1/src/settings/serialsetting.h 6.17.0-0ubuntu1/src/settings/serialsetting.h
--- 6.13.0-1/src/settings/serialsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/serialsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,39 +16,79 @@ namespace NetworkManager
 {
 class SerialSettingPrivate;
 
-/**
- * Represents serial setting
+/*!
+ * \class NetworkManager::SerialSetting
+ * \inheaderfile NetworkManagerQt/SerialSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents serial setting.
  */
 class NETWORKMANAGERQT_EXPORT SerialSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::SerialSetting::Ptr
+     */
     typedef QSharedPointer<SerialSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::SerialSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     *
+     * \value NoParity
+     * \value EvenParity
+     * \value OddParity
+     */
     enum Parity {
         NoParity,
         EvenParity,
         OddParity,
     };
 
+    /*!
+     */
     SerialSetting();
+    /*!
+     */
     explicit SerialSetting(const Ptr &other);
     ~SerialSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setBaud(quint32 speed);
+    /*!
+     */
     quint32 baud() const;
 
+    /*!
+     */
     void setBits(quint32 byteWidth);
+    /*!
+     */
     quint32 bits() const;
 
+    /*!
+     */
     void setParity(Parity paritysetting);
+    /*!
+     */
     Parity parity() const;
 
+    /*!
+     */
     void setStopbits(quint32 number);
+    /*!
+     */
     quint32 stopbits() const;
 
+    /*!
+     */
     void setSendDelay(quint64 delay);
+    /*!
+     */
     quint64 sendDelay() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/setting.h 6.17.0-0ubuntu1/src/settings/setting.h
--- 6.13.0-1/src/settings/setting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/setting.h	2025-08-01 10:40:12.000000000 +0000
@@ -23,14 +23,65 @@ namespace NetworkManager
 {
 class SettingPrivate;
 
-/**
- * Base class for all kinds of setting
+/*!
+ * \class NetworkManager::Setting
+ * \inheaderfile NetworkManagerQt/Setting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Base class for all kinds of setting.
  */
 class NETWORKMANAGERQT_EXPORT Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::SerialSetting::Ptr
+     */
     typedef QSharedPointer<Setting> Ptr;
+    /*!
+     * \typedef NetworkManager::SerialSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     *
+     * \value Adsl
+     * \value Cdma
+     * \value Gsm
+     * \value Infiniband
+     * \value Ipv4
+     * \value Ipv6
+     * \value Ppp
+     * \value Pppoe
+     * \value Security8021x
+     * \value Serial
+     * \value Vpn
+     * \value Wired
+     * \value Wireless
+     * \value WirelessSecurity
+     * \value Bluetooth
+     * \value OlpcMesh
+     * \value Vlan
+     * \value Wimax
+     * \value Bond
+     * \value Bridge
+     * \value BridgePort
+     * \value Team
+     * \value Generic
+     * \value Tun
+     * \value Vxlan
+     * \value IpTunnel
+     * \value Proxy
+     * \value User
+     * \value OvsBridge
+     * \value OvsInterface
+     * \value OvsPatch
+     * \value OvsPort
+     * \value Match
+     * \value Tc
+     * \value TeamPort
+     * \value Macsec
+     * \value Dcb
+     * \value WireGuard
+     */
     enum SettingType {
         Adsl,
         Cdma,
@@ -72,6 +123,13 @@ public:
         WireGuard,
     };
 
+    /*!
+     *
+     * \value None
+     * \value AgentOwned
+     * \value NotSaved
+     * \value NotRequired
+     */
     enum SecretFlagType {
         None = 0,
         AgentOwned = 0x01,
@@ -80,59 +138,89 @@ public:
     };
     Q_DECLARE_FLAGS(SecretFlags, SecretFlagType)
 
+    /*!
+     *
+     * \value MacAddressRandomizationDefault
+     * \value MacAddressRandomizationNever
+     * \value MacAddressRandomizationAlways
+     */
     enum MacAddressRandomization {
         MacAddressRandomizationDefault = 0,
         MacAddressRandomizationNever,
         MacAddressRandomizationAlways,
     };
 
+    /*!
+     */
     static QString typeAsString(SettingType type);
+    /*!
+     */
     static SettingType typeFromString(const QString &type);
 
+    /*!
+     */
     explicit Setting(SettingType type);
+    /*!
+     */
     explicit Setting(const Ptr &setting);
+    /*!
+     */
     virtual ~Setting();
 
-    /**
-     * @brief Must be reimplemented, default implementation does nothing
+    /*!
+     * \brief Must be reimplemented, default implementation does nothing.
      */
     virtual void fromMap(const QVariantMap &map);
 
-    /**
-     * @brief Must be reimplemented, default implementationd does nothing
+    /*!
+     * \brief Must be reimplemented, default implementationd does nothing.
      */
     virtual QVariantMap toMap() const;
 
+    /*!
+     */
     virtual void secretsFromMap(const QVariantMap &map);
 
-    /**
-     * @brief secretsFromStringMap is a convenience function
+    /*!
+     * \brief secretsFromStringMap is a convenience function
      * to set the secrets from a map of strings.
-     * @param map to extract secrets from
+     * \a map to extract secrets from
      */
     virtual void secretsFromStringMap(const NMStringMap &map);
 
+    /*!
+     */
     virtual QVariantMap secretsToMap() const;
 
-    /**
-     * @brief secretsToStringMap is a convenience function
+    /*!
+     * \brief secretsToStringMap is a convenience function
      * to get the secrets to map of strings.
-     * @return string map with current secrets
+     * Returns string map with current secrets
      */
     virtual NMStringMap secretsToStringMap() const;
 
+    /*!
+     */
     virtual QStringList needSecrets(bool requestNew = false) const;
 
-    /**
-     * @brief Must be reimplemented, default implementationd does nothing
+    /*!
+     * \brief Must be reimplemented, default implementationd does nothing.
      */
     virtual QString name() const;
 
+    /*!
+     */
     void setInitialized(bool initialized);
 
+    /*!
+     */
     bool isNull() const;
 
+    /*!
+     */
     void setType(SettingType type);
+    /*!
+     */
     SettingType type() const;
 
 protected:
diff -pruN 6.13.0-1/src/settings/tcsetting.h 6.17.0-0ubuntu1/src/settings/tcsetting.h
--- 6.13.0-1/src/settings/tcsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/tcsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -14,25 +14,47 @@ namespace NetworkManager
 {
 class TcSettingPrivate;
 
-/**
- * Represents Tc setting
+/*!
+ * \class NetworkManager::TcSetting
+ * \inheaderfile NetworkManagerQt/TcSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents Tc setting.
  */
 class NETWORKMANAGERQT_EXPORT TcSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::TcSetting::Ptr
+     */
     typedef QSharedPointer<TcSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::TcSetting::List
+     */
     typedef QList<Ptr> List;
 
+    /*!
+     */
     TcSetting();
+    /*!
+     */
     explicit TcSetting(const Ptr &other);
     ~TcSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setQdiscs(const NMVariantMapList &qdiscs);
+    /*!
+     */
     NMVariantMapList qdiscs() const;
 
+    /*!
+     */
     void setTfilters(const NMVariantMapList &tfilters);
+    /*!
+     */
     NMVariantMapList tfilters() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/teamportsetting.h 6.17.0-0ubuntu1/src/settings/teamportsetting.h
--- 6.13.0-1/src/settings/teamportsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/teamportsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,40 +16,82 @@ namespace NetworkManager
 {
 class TeamPortSettingPrivate;
 
-/**
- * Represents TeamPort setting
+/*!
+ * \class NetworkManager::TeamPortSetting
+ * \inheaderfile NetworkManagerQt/TeamPortSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents TeamPort setting.
  */
 class NETWORKMANAGERQT_EXPORT TeamPortSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::TeamPortSetting::Ptr
+     */
     typedef QSharedPointer<TeamPortSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::TeamPortSetting::List
+     */
     typedef QList<Ptr> List;
 
+    /*!
+     */
     TeamPortSetting();
+    /*!
+     */
     explicit TeamPortSetting(const Ptr &other);
     ~TeamPortSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void config(const QString &config);
+    /*!
+     */
     QString config() const;
 
+    /*!
+     */
     void lacpKey(qint32 key);
+    /*!
+     */
     qint32 lacpKey() const;
 
+    /*!
+     */
     void lacpPrio(qint32 priority);
+    /*!
+     */
     qint32 lacpPrio() const;
 
+    /*!
+     */
     void prio(qint32 prio);
+    /*!
+     */
     qint32 prio() const;
 
+    /*!
+     */
     void queueId(qint32 id);
+    /*!
+     */
     qint32 queueId() const;
 
+    /*!
+     */
     void sticky(bool sticky);
+    /*!
+     */
     bool sticky() const;
 
+    /*!
+     */
     void setLinkWatchers(const NMVariantMapList &linkWatchers);
+    /*!
+     */
     NMVariantMapList linkWatchers() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/teamsetting.h 6.17.0-0ubuntu1/src/settings/teamsetting.h
--- 6.13.0-1/src/settings/teamsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/teamsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,25 +16,45 @@ namespace NetworkManager
 {
 class TeamSettingPrivate;
 
-/**
- * Represents team setting
+/*!
+ * \class NetworkManager::TeamSetting
+ * \inheaderfile NetworkManagerQt/TeamSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents team setting.
  */
 class NETWORKMANAGERQT_EXPORT TeamSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::TeamSetting::Ptr
+     */
     typedef QSharedPointer<TeamSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::TeamSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     TeamSetting();
+    /*!
+     */
     explicit TeamSetting(const Ptr &other);
     ~TeamSetting() override;
 
     QString name() const override;
 
-    /// @deprecated in favor of connection.interface-name in NM 1.0.0
+    /*! \deprecated in favor of connection.interface-name in NM 1.0.0 */
     void setInterfaceName(const QString &name);
+    /*!
+     */
     QString interfaceName() const;
 
+    /*!
+     */
     QString config() const;
+    /*!
+     */
     void setConfig(const QString &config);
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/template.h 6.17.0-0ubuntu1/src/settings/template.h
--- 6.13.0-1/src/settings/template.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/template.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,15 +16,29 @@ namespace NetworkManager
 {
 class TemplateSettingPrivate;
 
-/**
- * Represents generic setting
+/*!
+ * \class NetworkManager::TemplateSetting
+ * \inheaderfile NetworkManagerQt/TemplateSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents generic setting.
  */
 class NETWORKMANAGERQT_EXPORT TemplateSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::TemplateSetting::Ptr
+     */
     typedef QSharedPointer<TemplateSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::TemplateSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     TemplateSetting();
+    /*!
+     */
     explicit TemplateSetting(const Ptr &other);
     ~TemplateSetting() override;
 
diff -pruN 6.13.0-1/src/settings/tunsetting.h 6.17.0-0ubuntu1/src/settings/tunsetting.h
--- 6.13.0-1/src/settings/tunsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/tunsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,41 +16,84 @@ namespace NetworkManager
 {
 class TunSettingPrivate;
 
-/**
- * Represents generic setting
+/*!
+ * \class NetworkManager::TunSetting
+ * \inheaderfile NetworkManagerQt/TunSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents generic setting.
  */
 class NETWORKMANAGERQT_EXPORT TunSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::TunSetting::Ptr
+     */
     typedef QSharedPointer<TunSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::TunSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     *
+     * \value Tun
+     * \value Tap
+     */
     enum Mode {
         Tun,
         Tap,
     };
 
+    /*!
+     */
     TunSetting();
+    /*!
+     */
     explicit TunSetting(const Ptr &other);
     ~TunSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setGroup(const QString &group);
+    /*!
+     */
     QString group() const;
 
+    /*!
+     */
     void setMode(Mode mode);
+    /*!
+     */
     Mode mode() const;
 
+    /*!
+     */
     void setMultiQueue(bool multiQueue);
+    /*!
+     */
     bool multiQueue() const;
 
+    /*!
+     */
     void setOwner(const QString &owner);
+    /*!
+     */
     QString owner() const;
 
+    /*!
+     */
     void setPi(bool pi);
+    /*!
+     */
     bool pi() const;
 
+    /*!
+     */
     void setVnetHdr(bool vnetHdr);
+    /*!
+     */
     bool vnetHdr() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/usersetting.h 6.17.0-0ubuntu1/src/settings/usersetting.h
--- 6.13.0-1/src/settings/usersetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/usersetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,23 +16,43 @@ namespace NetworkManager
 {
 class UserSettingPrivate;
 
-/**
- * Represents user setting
+/*!
+ * \class NetworkManager::UserSetting
+ * \inheaderfile NetworkManagerQt/UserSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents user setting.
  */
 class NETWORKMANAGERQT_EXPORT UserSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::UserSetting::Ptr
+     */
     typedef QSharedPointer<UserSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::UserSetting::List
+     */
     typedef QList<Ptr> List;
 
+    /*!
+     */
     UserSetting();
+    /*!
+     */
     explicit UserSetting(const Ptr &other);
     ~UserSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void addData(const QString &data, const QString &value);
+    /*!
+     */
     void setData(const NMStringMap &data);
+    /*!
+     */
     NMStringMap data() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/vlansetting.h 6.17.0-0ubuntu1/src/settings/vlansetting.h
--- 6.13.0-1/src/settings/vlansetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/vlansetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,14 +16,31 @@ namespace NetworkManager
 {
 class VlanSettingPrivate;
 
-/**
- * Represents vlan setting
+/*!
+ * \class NetworkManager::VlanSetting
+ * \inheaderfile NetworkManagerQt/VlanSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents vlan setting.
  */
 class NETWORKMANAGERQT_EXPORT VlanSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::VlanSetting::Ptr
+     */
     typedef QSharedPointer<VlanSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::VlanSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     *
+     * \value None
+     * \value ReorderHeaders
+     * \value Gvrp
+     * \value LooseBinding
+     */
     enum Flag {
         None = 0,
         ReorderHeaders = 0x1,
@@ -32,29 +49,55 @@ public:
     };
     Q_DECLARE_FLAGS(Flags, Flag)
 
+    /*!
+     */
     VlanSetting();
+    /*!
+     */
     explicit VlanSetting(const Ptr &other);
     ~VlanSetting() override;
 
     QString name() const override;
 
-    /// @deprecated in favor of connection.interface-name in NM 1.0.0
+    /*! \deprecated in favor of connection.interface-name in NM 1.0.0 */
     void setInterfaceName(const QString &name);
+    /*!
+     */
     QString interfaceName() const;
 
+    /*!
+     */
     void setParent(const QString &parent);
+    /*!
+     */
     QString parent() const;
 
+    /*!
+     */
     void setId(quint32 id);
+    /*!
+     */
     quint32 id() const;
 
+    /*!
+     */
     void setFlags(Flags flags);
+    /*!
+     */
     Flags flags() const;
 
+    /*!
+     */
     void setIngressPriorityMap(const QStringList &map);
+    /*!
+     */
     QStringList ingressPriorityMap() const;
 
+    /*!
+     */
     void setEgressPriorityMap(const QStringList &map);
+    /*!
+     */
     QStringList egressPriorityMap() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/vpnsetting.h 6.17.0-0ubuntu1/src/settings/vpnsetting.h
--- 6.13.0-1/src/settings/vpnsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/vpnsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,36 +16,74 @@ namespace NetworkManager
 {
 class VpnSettingPrivate;
 
-/**
- * Represents vpn setting
+/*!
+ * \class NetworkManager::VpnSetting
+ * \inheaderfile NetworkManagerQt/VpnSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents vpn setting.
  */
 class NETWORKMANAGERQT_EXPORT VpnSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::VpnSetting::Ptr
+     */
     typedef QSharedPointer<VpnSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::VpnSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     VpnSetting();
+    /*!
+     */
     explicit VpnSetting(const Ptr &other);
     ~VpnSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     bool persistent() const;
+    /*!
+     */
     void setPersistent(bool persistent);
 
+    /*!
+     */
     void setServiceType(const QString &type);
+    /*!
+     */
     QString serviceType() const;
 
+    /*!
+     */
     uint timeout() const;
+    /*!
+     */
     void setTimeout(uint timeout);
 
+    /*!
+     */
     void setUsername(const QString &username);
+    /*!
+     */
     QString username() const;
 
+    /*!
+     */
     void setData(const NMStringMap &data);
+    /*!
+     */
     NMStringMap data() const;
 
+    /*!
+     */
     void setSecrets(const NMStringMap &secrets);
+    /*!
+     */
     NMStringMap secrets() const;
 
     void secretsFromMap(const QVariantMap &secrets) override;
diff -pruN 6.13.0-1/src/settings/vxlansetting.h 6.17.0-0ubuntu1/src/settings/vxlansetting.h
--- 6.13.0-1/src/settings/vxlansetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/vxlansetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,66 +16,144 @@ namespace NetworkManager
 {
 class VxlanSettingPrivate;
 
-/**
- * Represents vxlan setting
+/*!
+ * \class NetworkManager::VxlanSetting
+ * \inheaderfile NetworkManagerQt/VxlanSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents vxlan setting.
  */
 class NETWORKMANAGERQT_EXPORT VxlanSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::VxlanSetting::Ptr
+     */
     typedef QSharedPointer<VxlanSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::VxlanSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     VxlanSetting();
+    /*!
+     */
     explicit VxlanSetting(const Ptr &other);
     ~VxlanSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setAgeing(quint32 ageing);
+    /*!
+     */
     quint32 ageing() const;
 
+    /*!
+     */
     void setDestinationPort(quint32 port);
+    /*!
+     */
     quint32 destinationPort() const;
 
+    /*!
+     */
     void setId(quint32 id);
+    /*!
+     */
     quint32 id() const;
 
+    /*!
+     */
     void setL2Miss(bool enable);
+    /*!
+     */
     bool l2Miss() const;
 
+    /*!
+     */
     void setL3Miss(bool enable);
+    /*!
+     */
     bool l3Miss() const;
 
+    /*!
+     */
     void setLearning(bool enable);
+    /*!
+     */
     bool learning() const;
 
+    /*!
+     */
     void setLimit(quint32 limit);
+    /*!
+     */
     quint32 limit() const;
 
+    /*!
+     */
     void setLocal(QString local);
+    /*!
+     */
     QString local() const;
 
+    /*!
+     */
     void setParent(QString parent);
+    /*!
+     */
     QString parent() const;
 
+    /*!
+     */
     void setProxy(bool enable);
+    /*!
+     */
     bool proxy() const;
 
+    /*!
+     */
     void setRemote(QString remote);
+    /*!
+     */
     QString remote() const;
 
+    /*!
+     */
     void setRsc(bool enable);
+    /*!
+     */
     bool rsc() const;
 
+    /*!
+     */
     void setSourcePortMax(quint32 maxPort);
+    /*!
+     */
     quint32 sourcePortMax() const;
 
+    /*!
+     */
     void setSourcePortMin(quint32 minPort);
+    /*!
+     */
     quint32 sourcePortMin() const;
 
+    /*!
+     */
     void setTos(quint32 tos);
+    /*!
+     */
     quint32 tos() const;
 
+    /*!
+     */
     void setTtl(quint32 ttl);
+    /*!
+     */
     quint32 ttl() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/wimaxsetting.h 6.17.0-0ubuntu1/src/settings/wimaxsetting.h
--- 6.13.0-1/src/settings/wimaxsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/wimaxsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -17,24 +17,46 @@ namespace NetworkManager
 {
 class WimaxSettingPrivate;
 
-/**
- * Represents wimax setting
+/*!
+ * \class NetworkManager::WimaxSetting
+ * \inheaderfile NetworkManagerQt/WimaxSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents wimax setting.
  */
 class NETWORKMANAGERQT_EXPORT WimaxSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::VxlanSetting::Ptr
+     */
     typedef QSharedPointer<WimaxSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::VxlanSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     WimaxSetting();
+    /*!
+     */
     explicit WimaxSetting(const Ptr &other);
     ~WimaxSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setNetworkName(const QString &name);
+    /*!
+     */
     QString networkName() const;
 
+    /*!
+     */
     void setMacAddress(const QByteArray &address);
+    /*!
+     */
     QByteArray macAddress() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/wiredsetting.h 6.17.0-0ubuntu1/src/settings/wiredsetting.h
--- 6.13.0-1/src/settings/wiredsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/wiredsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,14 +16,32 @@ namespace NetworkManager
 {
 class WiredSettingPrivate;
 
-/**
- * Represents wired setting
+/*!
+ * \class NetworkManager::WiredSetting
+ * \inheaderfile NetworkManagerQt/WiredSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents wired setting.
  */
 class NETWORKMANAGERQT_EXPORT WiredSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::WiredSetting::Ptr
+     */
     typedef QSharedPointer<WiredSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::WiredSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     *
+     * \value UnknownPort
+     * \value Tp
+     * \value Aui
+     * \value Bnc
+     * \value Mii
+     */
     enum PortType {
         UnknownPort = 0,
         Tp,
@@ -32,12 +50,25 @@ public:
         Mii,
     };
 
+    /*!
+     *
+     * \value UnknownDuplexType
+     * \value Half
+     * \value Full
+     */
     enum DuplexType {
         UnknownDuplexType = 0,
         Half,
         Full,
     };
 
+    /*!
+     *
+     * \value Undefined
+     * \value Qeth
+     * \value Lcs
+     * \value Ctc
+     */
     enum S390Nettype {
         Undefined = 0,
         Qeth,
@@ -45,6 +76,20 @@ public:
         Ctc,
     };
 
+    /*!
+     *
+     * \value WakeOnLanPhy
+     * \value WakeOnLanUnicast
+     * \value WakeOnLanMulticast
+     * \value WakeOnLanBroadcast
+     * \value WakeOnLanArp
+     * \value WakeOnLanMagic
+     *
+     * Special values
+     *
+     * \value WakeOnLanDefault
+     * \value WakeOnLanIgnore
+     */
     enum WakeOnLanFlag {
         WakeOnLanPhy = 1 << 1,
         WakeOnLanUnicast = 1 << 2,
@@ -52,62 +97,125 @@ public:
         WakeOnLanBroadcast = 1 << 4,
         WakeOnLanArp = 1 << 5,
         WakeOnLanMagic = 1 << 6,
-        /* Special values */
         WakeOnLanDefault = 1 << 0,
         WakeOnLanIgnore = 1 << 15,
     };
     Q_DECLARE_FLAGS(WakeOnLanFlags, WakeOnLanFlag)
     Q_FLAGS(WakeOnLanFlag)
 
+    /*!
+     */
     WiredSetting();
+    /*!
+     */
     explicit WiredSetting(const Ptr &other);
     ~WiredSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setPort(PortType port);
+    /*!
+     */
     PortType port() const;
 
+    /*!
+     */
     void setSpeed(quint32 speed);
+    /*!
+     */
     quint32 speed() const;
 
+    /*!
+     */
     void setDuplexType(DuplexType type);
+    /*!
+     */
     DuplexType duplexType() const;
 
+    /*!
+     */
     void setAutoNegotiate(bool autoNegotiate);
+    /*!
+     */
     bool autoNegotiate() const;
 
+    /*!
+     */
     QString generateMacAddressMask() const;
+    /*!
+     */
     void setGenerateMacAddressMask(const QString &mask);
 
+    /*!
+     */
     void setMacAddress(const QByteArray &address);
+    /*!
+     */
     QByteArray macAddress() const;
 
+    /*!
+     */
     void setClonedMacAddress(const QByteArray &address);
+    /*!
+     */
     QByteArray clonedMacAddress() const;
 
+    /*!
+     */
     void setMacAddressBlacklist(const QStringList &list);
+    /*!
+     */
     QStringList macAddressBlacklist() const;
 
+    /*!
+     */
     void setMtu(quint32 mtu);
+    /*!
+     */
     quint32 mtu() const;
 
+    /*!
+     */
     void setS390Subchannels(const QStringList &channels);
+    /*!
+     */
     QStringList s390Subchannels() const;
 
+    /*!
+     */
     void setS390NetType(S390Nettype type);
+    /*!
+     */
     S390Nettype s390NetType() const;
 
+    /*!
+     */
     void setS390Options(const QMap<QString, QString> &options);
+    /*!
+     */
     QMap<QString, QString> s390Options() const;
 
+    /*!
+     */
     WakeOnLanFlags wakeOnLan() const;
+    /*!
+     */
     void setWakeOnLan(WakeOnLanFlags wol);
 
+    /*!
+     */
     QString wakeOnLanPassword() const;
+    /*!
+     */
     void setWakeOnLanPassword(const QString &password);
 
+    /*!
+     */
     QString assignedMacAddress() const;
+    /*!
+     */
     void setAssignedMacAddress(const QString &assignedMacAddress);
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings/wireguardsetting.h 6.17.0-0ubuntu1/src/settings/wireguardsetting.h
--- 6.13.0-1/src/settings/wireguardsetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/wireguardsetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,39 +16,81 @@ namespace NetworkManager
 {
 class WireGuardSettingPrivate;
 
-/**
- * Represents generic setting
+/*!
+ * \class NetworkManager::WireGuardSetting
+ * \inheaderfile NetworkManagerQt/WireGuardSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents generic setting.
  */
 class NETWORKMANAGERQT_EXPORT WireGuardSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::WireGuardSetting::Ptr
+     */
     typedef QSharedPointer<WireGuardSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::WireGuardSetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     WireGuardSetting();
+    /*!
+     */
     explicit WireGuardSetting(const Ptr &other);
     ~WireGuardSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     quint32 fwmark() const;
+    /*!
+     */
     void setFwmark(quint32 fwmark);
 
+    /*!
+     */
     quint32 listenPort() const;
+    /*!
+     */
     void setListenPort(quint32 port);
 
+    /*!
+     */
     quint32 mtu() const;
+    /*!
+     */
     void setMtu(quint32 mtu);
 
+    /*!
+     */
     bool peerRoutes() const;
+    /*!
+     */
     void setPeerRoutes(bool peerRoutes);
 
+    /*!
+     */
     NMVariantMapList peers() const;
+    /*!
+     */
     void setPeers(const NMVariantMapList &peers);
 
+    /*!
+     */
     QString privateKey() const;
+    /*!
+     */
     void setPrivateKey(const QString &key);
 
+    /*!
+     */
     SecretFlags privateKeyFlags() const;
+    /*!
+     */
     void setPrivateKeyFlags(SecretFlags flags);
 
     void secretsFromMap(const QVariantMap &secrets) override;
diff -pruN 6.13.0-1/src/settings/wirelesssecuritysetting.h 6.17.0-0ubuntu1/src/settings/wirelesssecuritysetting.h
--- 6.13.0-1/src/settings/wirelesssecuritysetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/wirelesssecuritysetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -16,14 +16,36 @@ namespace NetworkManager
 {
 class WirelessSecuritySettingPrivate;
 
-/**
- * Represents wireless security setting
+/*!
+ * \class NetworkManager::WirelessSecuritySetting
+ * \inheaderfile NetworkManagerQt/WirelessSecuritySetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents wireless security setting.
  */
 class NETWORKMANAGERQT_EXPORT WirelessSecuritySetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::WirelessSecuritySetting::Ptr
+     */
     typedef QSharedPointer<WirelessSecuritySetting> Ptr;
+    /*!
+     * \typedef NetworkManager::WirelessSecuritySetting::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     *
+     * \value Unknown
+     * \value Wep
+     * \value Ieee8021x
+     * \value WpaNone
+     * \value WpaPsk
+     * \value WpaEap
+     * \value SAE
+     * \value WpaEapSuiteB192
+     * \value OWE
+     */
     enum KeyMgmt {
         Unknown = -1,
         Wep,
@@ -35,27 +57,59 @@ public:
         WpaEapSuiteB192,
         OWE,
     };
+    /*!
+     *
+     * \value None
+     * \value Open
+     * \value Shared
+     * \value Leap
+     */
     enum AuthAlg {
         None,
         Open,
         Shared,
         Leap,
     };
+    /*!
+     *
+     * \value Wpa
+     * \value Rsn
+     */
     enum WpaProtocolVersion {
         Wpa,
         Rsn,
     };
+    /*!
+     *
+     * \value Wep40
+     * \value Wep104
+     * \value Tkip
+     * \value Ccmp
+     */
     enum WpaEncryptionCapabilities {
         Wep40,
         Wep104,
         Tkip,
         Ccmp,
     };
+    /*!
+     *
+     * \value NotSpecified
+     * \value Hex
+     * \value Passphrase
+     */
     enum WepKeyType {
         NotSpecified,
         Hex,
         Passphrase,
     };
+    /*!
+     *
+     * \value DefaultPmf
+     * \value DisablePmf
+     * \value OptionalPmf
+     * \value RequiredPmf
+     */
     enum Pmf {
         DefaultPmf,
         DisablePmf,
@@ -63,64 +117,140 @@ public:
         RequiredPmf,
     };
 
+    /*!
+     */
     WirelessSecuritySetting();
+    /*!
+     */
     explicit WirelessSecuritySetting(const Ptr &other);
     ~WirelessSecuritySetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setKeyMgmt(KeyMgmt mgmt);
+    /*!
+     */
     KeyMgmt keyMgmt() const;
 
+    /*!
+     */
     void setWepTxKeyindex(quint32 index);
+    /*!
+     */
     quint32 wepTxKeyindex() const;
 
+    /*!
+     */
     void setAuthAlg(AuthAlg alg);
+    /*!
+     */
     AuthAlg authAlg() const;
 
+    /*!
+     */
     void setProto(const QList<WpaProtocolVersion> &list);
+    /*!
+     */
     QList<WpaProtocolVersion> proto() const;
 
+    /*!
+     */
     void setPairwise(const QList<WpaEncryptionCapabilities> &list);
+    /*!
+     */
     QList<WpaEncryptionCapabilities> pairwise() const;
 
+    /*!
+     */
     void setGroup(const QList<WpaEncryptionCapabilities> &list);
+    /*!
+     */
     QList<WpaEncryptionCapabilities> group() const;
 
+    /*!
+     */
     void setLeapUsername(const QString &username);
+    /*!
+     */
     QString leapUsername() const;
 
+    /*!
+     */
     void setWepKey0(const QString key);
+    /*!
+     */
     QString wepKey0() const;
 
+    /*!
+     */
     void setWepKey1(const QString key);
+    /*!
+     */
     QString wepKey1() const;
 
+    /*!
+     */
     void setWepKey2(const QString key);
+    /*!
+     */
     QString wepKey2() const;
 
+    /*!
+     */
     void setWepKey3(const QString key);
+    /*!
+     */
     QString wepKey3() const;
 
+    /*!
+     */
     void setWepKeyFlags(SecretFlags type);
+    /*!
+     */
     SecretFlags wepKeyFlags() const;
 
+    /*!
+     */
     void setWepKeyType(WepKeyType type);
+    /*!
+     */
     WepKeyType wepKeyType() const;
 
+    /*!
+     */
     void setPsk(const QString &key);
+    /*!
+     */
     QString psk() const;
 
+    /*!
+     */
     void setPskFlags(SecretFlags type);
+    /*!
+     */
     SecretFlags pskFlags() const;
 
+    /*!
+     */
     void setLeapPassword(const QString &password);
+    /*!
+     */
     QString leapPassword() const;
 
+    /*!
+     */
     void setLeapPasswordFlags(SecretFlags type);
+    /*!
+     */
     SecretFlags leapPasswordFlags() const;
 
+    /*!
+     */
     void setPmf(Pmf pmf);
+    /*!
+     */
     Pmf pmf() const;
 
     void secretsFromMap(const QVariantMap &secrets) override;
diff -pruN 6.13.0-1/src/settings/wirelesssetting.h 6.17.0-0ubuntu1/src/settings/wirelesssetting.h
--- 6.13.0-1/src/settings/wirelesssetting.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings/wirelesssetting.h	2025-08-01 10:40:12.000000000 +0000
@@ -17,27 +17,56 @@ namespace NetworkManager
 {
 class WirelessSettingPrivate;
 
-/**
- * Represents wireless setting
+/*!
+ * \class NetworkManager::WirelessSetting
+ * \inheaderfile NetworkManagerQt/WirelessSetting
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Represents wireless setting.
  */
 class NETWORKMANAGERQT_EXPORT WirelessSetting : public Setting
 {
 public:
+    /*!
+     * \typedef NetworkManager::WirelessSetting::Ptr
+     */
     typedef QSharedPointer<WirelessSetting> Ptr;
+    /*!
+     * \typedef NetworkManager::WirelessSetting::List
+     */
     typedef QList<Ptr> List;
 
+    /*!
+     *
+     * \value Infrastructure
+     * \value Adhoc
+     * \value Ap
+     */
     enum NetworkMode {
         Infrastructure,
         Adhoc,
         Ap,
     };
 
+    /*!
+     *
+     * \value Automatic
+     * \value A
+     * \value Bg
+     */
     enum FrequencyBand {
         Automatic,
         A,
         Bg,
     };
 
+    /*!
+     *
+     * \value PowerSaveDefault
+     * \value PowerSaveIgnore
+     * \value PowerSaveDisable
+     * \value PowerSaveEnable
+     */
     enum PowerSave {
         PowerSaveDefault = 0,
         PowerSaveIgnore = 1,
@@ -45,66 +74,138 @@ public:
         PowerSaveEnable = 3,
     };
 
+    /*!
+     */
     WirelessSetting();
+    /*!
+     */
     explicit WirelessSetting(const Ptr &setting);
     ~WirelessSetting() override;
 
     QString name() const override;
 
+    /*!
+     */
     void setSsid(const QByteArray &ssid);
+    /*!
+     */
     QByteArray ssid() const;
 
+    /*!
+     */
     void setMode(NetworkMode mode);
+    /*!
+     */
     NetworkMode mode() const;
 
+    /*!
+     */
     void setBand(FrequencyBand band);
+    /*!
+     */
     FrequencyBand band() const;
 
+    /*!
+     */
     void setChannel(quint32 channel);
+    /*!
+     */
     quint32 channel() const;
 
+    /*!
+     */
     void setBssid(const QByteArray &bssid);
+    /*!
+     */
     QByteArray bssid() const;
 
+    /*!
+     */
     void setRate(quint32 rate);
+    /*!
+     */
     quint32 rate() const;
 
+    /*!
+     */
     void setTxPower(quint32 power);
+    /*!
+     */
     quint32 txPower() const;
 
+    /*!
+     */
     void setAssignedMacAddress(const QString &assignedMacAddress);
+    /*!
+     */
     QString assignedMacAddress() const;
 
+    /*!
+     */
     void setMacAddress(const QByteArray &address);
+    /*!
+     */
     QByteArray macAddress() const;
 
-    /// @deprecated since NM 1.4.0, will internally use assigned-mac-address property
+    /*! \deprecated [NM 1.4.0], will internally use assigned-mac-address property */
     void setClonedMacAddress(const QByteArray &address);
+    /*!
+     */
     QByteArray clonedMacAddress() const;
 
+    /*!
+     */
     void setGenerateMacAddressMask(const QString &macAddressMask);
+    /*!
+     */
     QString generateMacAddressMask() const;
 
+    /*!
+     */
     void setMacAddressBlacklist(const QStringList &list);
+    /*!
+     */
     QStringList macAddressBlacklist() const;
 
+    /*!
+     */
     void setMacAddressRandomization(MacAddressRandomization randomization);
+    /*!
+     */
     MacAddressRandomization macAddressRandomization() const;
 
+    /*!
+     */
     void setMtu(quint32 mtu);
+    /*!
+     */
     quint32 mtu() const;
 
+    /*!
+     */
     void setSeenBssids(const QStringList &list);
+    /*!
+     */
     QStringList seenBssids() const;
 
+    /*!
+     */
     void setPowerSave(PowerSave powersave);
+    /*!
+     */
     PowerSave powerSave() const;
 
-    /// @deprecated since NM 1.0.0
+    /*! \deprecated [NM 1.0.0] */
     void setSecurity(const QString &security);
+    /*!
+     */
     QString security() const;
 
+    /*!
+     */
     void setHidden(bool hidden);
+    /*!
+     */
     bool hidden() const;
 
     void fromMap(const QVariantMap &setting) override;
diff -pruN 6.13.0-1/src/settings.h 6.17.0-0ubuntu1/src/settings.h
--- 6.13.0-1/src/settings.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/settings.h	2025-08-01 10:40:12.000000000 +0000
@@ -20,24 +20,30 @@
 
 namespace NetworkManager
 {
-/**
- * This class manages provides access to connections and notify about new ones
+/*!
+ * \class NetworkManager::SettingsNotifier
+ * \inheaderfile NetworkManagerQt/Settings
+ * \inmodule NetworkManagerQt
+ *
+ * \brief This class manages provides access to connections and notify about new ones.
  */
 class NETWORKMANAGERQT_EXPORT SettingsNotifier : public QObject
 {
     Q_OBJECT
 Q_SIGNALS:
-    /**
+    /*!
      * Emitted when the settings are modifiable by user
-     * @param canModify @p true if the user can modify the settings
+     *
+     * \a canModify \c true if the user can modify the settings
      */
     void canModifyChanged(bool canModify);
-    /**
+    /*!
      * Emitted when the hostname has changed
-     * @param hostname new hostname
+     *
+     * \a hostname new hostname
      */
     void hostnameChanged(const QString &hostname);
-    /**
+    /*!
      * Emitted when a new connection is added
      *
      * \note This signal is not emitted when the Network Manager
@@ -47,7 +53,7 @@ Q_SIGNALS:
      * NetworkManager::Notifier::serviceDisappeared() signals
      */
     void connectionAdded(const QString &path);
-    /**
+    /*!
      * Emitted when a new connection is removed
      *
      * \note This signal is not emitted when the Network Manager
@@ -58,17 +64,17 @@ Q_SIGNALS:
      */
     void connectionRemoved(const QString &path);
 };
-/**
+/*!
  * Retrieves the list of connections.
  */
 NETWORKMANAGERQT_EXPORT NetworkManager::Connection::List listConnections();
 
-/**
+/*!
  * Retrieves the connection for the given path, returns null if not found
  */
 NETWORKMANAGERQT_EXPORT NetworkManager::Connection::Ptr findConnection(const QString &path);
 
-/**
+/*!
  * Add new connection and save it to disk. This operation does not start
  * the network connection unless (1) device is idle and able to connect to
  * the network described by the new connection, and (2) the connection
@@ -76,13 +82,13 @@ NETWORKMANAGERQT_EXPORT NetworkManager::
  * Once the connection has been added, you will get a notification through
  * SettingsNotifier::connectionAddComplete()
  *
- * @returns Uuid of the new connection that was just added.
+ * Returns Uuid of the new connection that was just added.
  *
- * @since 0.9.9.0
+ * \since 0.9.9.0
  */
 NETWORKMANAGERQT_EXPORT QDBusPendingReply<QDBusObjectPath> addConnection(const NMVariantMapMap &settings);
 
-/**
+/*!
  * Add new connection but do not save it to disk immediately.  This
  * operation does not start the network connection unless (1) device is
  * idle and able to connect to the network described by the new connection,
@@ -96,18 +102,18 @@ NETWORKMANAGERQT_EXPORT QDBusPendingRepl
  * Once the connection has been added, you will get a notification through
  * SettingsNotifier::connectionAddComplete()
  *
- * @returns Uuid of the new connection that was just added.
+ * Returns Uuid of the new connection that was just added.
  *
- * @since 0.9.9.0
+ * \since 0.9.9.0
  */
 NETWORKMANAGERQT_EXPORT QDBusPendingReply<QDBusObjectPath> addConnectionUnsaved(const NMVariantMapMap &settings);
 
-/**
- * Retrieves the connection for the given @p uuid, returns null if not found
+/*!
+ * Retrieves the connection for the given \a uuid, returns null if not found
  */
 NETWORKMANAGERQT_EXPORT NetworkManager::Connection::Ptr findConnectionByUuid(const QString &uuid);
 
-/**
+/*!
  * Loads or reloads the indicated connections from disk. You
  * should call this after making changes directly to an on-disk
  * connection file to make sure that NetworkManager sees the
@@ -116,47 +122,47 @@ NETWORKMANAGERQT_EXPORT NetworkManager::
  * harmless.) As with AddConnection(), this operation does not
  * necessarily start the network connection.
  *
- * @returns  Success or failure of the operation as a whole. True if
+ * Returns  Success or failure of the operation as a whole. True if
  *           NetworkManager at least tried to load the indicated
  *           connections, even if it did not succeed. False if an error
  *           occurred before trying to load the connections (eg,
  *           permission denied).
  *
- * @returns  Paths of connection files that could not be loaded.
+ * Returns  Paths of connection files that could not be loaded.
  *
- * @since 0.9.9.0
+ * \since 0.9.9.0
  */
 NETWORKMANAGERQT_EXPORT QDBusPendingReply<bool, QStringList> loadConnections(const QStringList &filenames);
 
-/**
+/*!
  * Tells NetworkManager to reload all connection files from disk,
  * including noticing any added or deleted connection files. By
  * default, connections are re-read automatically any time they
  * change, so you only need to use this command if you have set
  * "monitor-connection-files=false" in NetworkManager.conf.
  *
- * @returns Success or failure.
+ * Returns Success or failure.
  *
- * @since 0.9.9.0
+ * \since 0.9.9.0
  */
 NETWORKMANAGERQT_EXPORT QDBusPendingReply<bool> reloadConnections();
 
-/**
+/*!
  * Configure the following hostname
  */
 NETWORKMANAGERQT_EXPORT void saveHostname(const QString &hostname);
 
-/**
- * Returns @p true if the user can modify the settings
+/*!
+ * Returns \a true if the user can modify the settings
  */
 NETWORKMANAGERQT_EXPORT bool canModify();
 
-/**
+/*!
  * Returns hostname of the machine
  */
 NETWORKMANAGERQT_EXPORT QString hostname();
 
-/**
+/*!
  * Notifier object for connecting signals
  */
 NETWORKMANAGERQT_EXPORT SettingsNotifier *settingsNotifier();
diff -pruN 6.13.0-1/src/teamdevice.h 6.17.0-0ubuntu1/src/teamdevice.h
--- 6.13.0-1/src/teamdevice.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/teamdevice.h	2025-08-01 10:40:12.000000000 +0000
@@ -14,61 +14,91 @@ namespace NetworkManager
 {
 class TeamDevicePrivate;
 
-/**
- * A team device interface
+/*!
+ * \class NetworkManager::TeamDevice
+ * \inheaderfile NetworkManagerQt/TeamDevice
+ * \inmodule NetworkManagerQt
+ *
+ * \brief A team device interface.
  */
 class NETWORKMANAGERQT_EXPORT TeamDevice : public Device
 {
     Q_OBJECT
+
+    /*!
+     * \property NetworkManager::TeamDevice::carrier
+     */
     Q_PROPERTY(bool carrier READ carrier NOTIFY carrierChanged)
+
+    /*!
+     * \property NetworkManager::TeamDevice::hwAddress
+     */
     Q_PROPERTY(QString hwAddress READ hwAddress NOTIFY hwAddressChanged)
+
+    /*!
+     * \property NetworkManager::TeamDevice::slaves
+     */
     Q_PROPERTY(QStringList slaves READ slaves NOTIFY slavesChanged)
+
+    /*!
+     * \property NetworkManager::TeamDevice::config
+     */
     Q_PROPERTY(QString config READ config NOTIFY configChanged)
 
 public:
+    /*!
+     * \typedef NetworkManager::TeamDevice::Ptr
+     */
     typedef QSharedPointer<TeamDevice> Ptr;
+    /*!
+     * \typedef NetworkManager::TeamDevice::List
+     */
     typedef QList<Ptr> List;
 
+    /*!
+     */
     explicit TeamDevice(const QString &path, QObject *parent = nullptr);
     ~TeamDevice() override;
 
+    /*!
+     */
     Type type() const override;
 
-    /**
+    /*!
      * Indicates whether the physical carrier is found
      */
     bool carrier() const;
-    /**
+    /*!
      * Hardware address of the device
      */
     QString hwAddress() const;
 
-    /**
+    /*!
      * Devices which are currently slaved to this device
      */
     QStringList slaves() const;
 
-    /**
+    /*!
      * The JSON configuration currently applied on the device.
      */
     QString config() const;
 
 Q_SIGNALS:
-    /**
+    /*!
      * Emitted when the carrier of this device has changed
      */
     void carrierChanged(bool plugged);
-    /**
+    /*!
      * Emitted when the hardware address of this device has changed
      */
     void hwAddressChanged(const QString &address);
 
-    /**
+    /*!
      * Emitted when the list of devices slaved to this device has changed
      */
     void slavesChanged(const QStringList &slaves);
 
-    /**
+    /*!
      * Emitted when the JSON confugration which is currently applied has changed
      */
     void configChanged(const QString &config);
diff -pruN 6.13.0-1/src/tundevice.h 6.17.0-0ubuntu1/src/tundevice.h
--- 6.13.0-1/src/tundevice.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/tundevice.h	2025-08-01 10:40:12.000000000 +0000
@@ -15,83 +15,123 @@ namespace NetworkManager
 {
 class TunDevicePrivate;
 
-/**
- * A tun device interface
+/*!
+ * \class NetworkManager::TunDevice
+ * \inheaderfile NetworkManagerQt/TunDevice
+ * \inmodule NetworkManagerQt
+ *
+ * \brief A tun device interface.
  */
 class NETWORKMANAGERQT_EXPORT TunDevice : public Device
 {
     Q_OBJECT
+
+    /*!
+     * \property NetworkManager::TunDevice::owner
+     */
     Q_PROPERTY(qlonglong owner READ owner NOTIFY ownerChanged)
+
+    /*!
+     * \property NetworkManager::TunDevice::group
+     */
     Q_PROPERTY(qlonglong group READ group NOTIFY groupChanged)
+
+    /*!
+     * \property NetworkManager::TunDevice::mode
+     */
     Q_PROPERTY(QString mode READ mode NOTIFY modeChanged)
+
+    /*!
+     * \property NetworkManager::TunDevice::multiQueue
+     */
     Q_PROPERTY(bool multiQueue READ multiQueue NOTIFY multiQueueChanged)
+
+    /*!
+     * \property NetworkManager::TunDevice::noPi
+     */
     Q_PROPERTY(bool noPi READ noPi NOTIFY noPiChanged)
+
+    /*!
+     * \property NetworkManager::TunDevice::vnetHdr
+     */
     Q_PROPERTY(bool vnetHdr READ vnetHdr NOTIFY vnetHdrChanged)
+
+    /*!
+     * \property NetworkManager::TunDevice::hwAddress
+     */
     Q_PROPERTY(QString hwAddress READ hwAddress NOTIFY hwAddressChanged)
 
 public:
+    /*!
+     * \typedef NetworkManager::TunDevice::Ptr
+     */
     typedef QSharedPointer<TunDevice> Ptr;
+    /*!
+     * \typedef NetworkManager::TunDevice::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     explicit TunDevice(const QString &path, QObject *parent = nullptr);
     ~TunDevice() override;
 
     Type type() const override;
 
-    /**
+    /*!
      * The uid of the tunnel owner, or -1 if it has no owner.
      */
     qlonglong owner() const;
-    /**
+    /*!
      * The gid of the tunnel group, or -1 if it has no owner.
      */
     qlonglong group() const;
-    /**
+    /*!
      * The tunnel mode, either "tun" or "tap".
      */
     QString mode() const;
-    /**
+    /*!
      * The tunnel's "TUN_TAP_MQ" flag; true if callers can connect to the tap device multiple times, for multiple send/receive queues.
      */
     bool multiQueue() const;
-    /**
+    /*!
      * The tunnel's "TUN_NO_PI" flag; true if no protocol info is prepended to the tunnel packets.
      */
     bool noPi() const;
-    /**
+    /*!
      * The tunnel's "TUN_VNET_HDR" flag; true if the tunnel packets include a virtio network header.
      */
     bool vnetHdr() const;
-    /**
+    /*!
      * Hardware address of the device.
      */
     QString hwAddress() const;
 
 Q_SIGNALS:
-    /**
+    /*!
      * Emitted when the uid of the tunnel owner has changed
      */
     void ownerChanged(qlonglong owner);
-    /**
+    /*!
      * Emitted when the gid of the tunnel group has changed
      */
     void groupChanged(qlonglong group);
-    /**
+    /*!
      * Emitted when the tunnel mode has changed
      */
     void modeChanged(const QString &mode);
-    /**
+    /*!
      * Emitted when the tunnel's "TUN_TAP_MQ" flag has changed
      */
     void multiQueueChanged(bool multiQueue);
-    /**
+    /*!
      * Emitted when the tunnel's "TUN_NO_PI" flag has changed
      */
     void noPiChanged(bool noPi);
-    /**
+    /*!
      * Emitted when the tunnel's "TUN_VNET_HDR" flag has changed
      */
     void vnetHdrChanged(bool vnetHdr);
-    /**
+    /*!
      * Emitted when the hardware address of the device has changed
      */
     void hwAddressChanged(const QString &hwAddress);
diff -pruN 6.13.0-1/src/utils.h 6.17.0-0ubuntu1/src/utils.h
--- 6.13.0-1/src/utils.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/utils.h	2025-08-01 10:40:12.000000000 +0000
@@ -17,6 +17,23 @@
 
 namespace NetworkManager
 {
+/*!
+ *
+ * Capabilities to pass to secret agents
+ *
+ * \value UnknownSecurity
+ * \value NoneSecurity
+ * \value StaticWep
+ * \value DynamicWep
+ * \value Leap
+ * \value WpaPsk
+ * \value WpaEap
+ * \value Wpa2Psk
+ * \value Wpa2Eap
+ * \value SAE
+ * \value Wpa3SuiteB192
+ * \value OWE
+ */
 enum WirelessSecurityType {
     UnknownSecurity = -1,
     NoneSecurity,
@@ -32,44 +49,59 @@ enum WirelessSecurityType {
     OWE,
 };
 
-/**
- * @return QHostAddress representation of an ipv6 address
- * @param address byte array containing the binary representation of the address
+/*!
+ * Returns QHostAddress representation of an ipv6 address
+ *
+ * \a address byte array containing the binary representation of the address
  */
 NETWORKMANAGERQT_EXPORT QHostAddress ipv6AddressAsHostAddress(const QByteArray &address);
 
-/**
- * @return binary representation of an ipv6 address
- * @param address qhostaddress containing the address
+/*!
+ * Returns binary representation of an ipv6 address
+ *
+ * \a address qhostaddress containing the address
  */
 NETWORKMANAGERQT_EXPORT QByteArray ipv6AddressFromHostAddress(const QHostAddress &address);
 
-/**
- * @return String representation of a mac address.
- * @param ba byte array containing the binary repesentation of the address
+/*!
+ * Returns String representation of a mac address.
+ *
+ * \a ba byte array containing the binary repesentation of the address
  */
 NETWORKMANAGERQT_EXPORT QString macAddressAsString(const QByteArray &ba);
 
-/**
- * @return binary repesentation of a mac address.
- * @param s string representation of the address
+/*!
+ * Returns binary repesentation of a mac address.
+ *
+ * \a s string representation of the address
  */
 NETWORKMANAGERQT_EXPORT QByteArray macAddressFromString(const QString &s);
 
+/*!
+ */
 NETWORKMANAGERQT_EXPORT bool macAddressIsValid(const QString &macAddress);
+/*!
+ */
 NETWORKMANAGERQT_EXPORT bool macAddressIsValid(const QByteArray &macAddress);
 
-/**
- * @param freq frequency of a wireless network
- * @return The frequency channel.
+/*!
+ * \a freq frequency of a wireless network
+ *
+ * Returns The frequency channel.
  */
 NETWORKMANAGERQT_EXPORT int findChannel(int freq);
 
+/*!
+ */
 NETWORKMANAGERQT_EXPORT NetworkManager::WirelessSetting::FrequencyBand findFrequencyBand(int freq);
 
+/*!
+ */
 NETWORKMANAGERQT_EXPORT bool
 deviceSupportsApCiphers(NetworkManager::WirelessDevice::Capabilities, NetworkManager::AccessPoint::WpaFlags ciphers, WirelessSecurityType type);
 
+/*!
+ */
 NETWORKMANAGERQT_EXPORT bool securityIsValid(WirelessSecurityType type,
                                              NetworkManager::WirelessDevice::Capabilities interfaceCaps,
                                              bool haveAp,
@@ -78,6 +110,8 @@ NETWORKMANAGERQT_EXPORT bool securityIsV
                                              NetworkManager::AccessPoint::WpaFlags apWpa,
                                              NetworkManager::AccessPoint::WpaFlags apRsn);
 
+/*!
+ */
 NETWORKMANAGERQT_EXPORT WirelessSecurityType findBestWirelessSecurity(NetworkManager::WirelessDevice::Capabilities,
                                                                       bool haveAp,
                                                                       bool adHoc,
@@ -85,15 +119,27 @@ NETWORKMANAGERQT_EXPORT WirelessSecurity
                                                                       NetworkManager::AccessPoint::WpaFlags apWpa,
                                                                       NetworkManager::AccessPoint::WpaFlags apRsn);
 
+/*!
+ */
 NETWORKMANAGERQT_EXPORT bool wepKeyIsValid(const QString &key, NetworkManager::WirelessSecuritySetting::WepKeyType type);
 
+/*!
+ */
 NETWORKMANAGERQT_EXPORT bool wpaPskIsValid(const QString &psk);
 
+/*!
+ */
 NETWORKMANAGERQT_EXPORT WirelessSecurityType securityTypeFromConnectionSetting(const NetworkManager::ConnectionSettings::Ptr &settings);
 
+/*!
+ */
 NETWORKMANAGERQT_EXPORT QList<QPair<int, int>> getBFreqs();
+/*!
+ */
 NETWORKMANAGERQT_EXPORT QList<QPair<int, int>> getAFreqs();
 
+/*!
+ */
 NETWORKMANAGERQT_EXPORT QDateTime clockBootTimeToDateTime(qlonglong clockBootime);
 }
 
diff -pruN 6.13.0-1/src/vethdevice.h 6.17.0-0ubuntu1/src/vethdevice.h
--- 6.13.0-1/src/vethdevice.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/vethdevice.h	2025-08-01 10:40:12.000000000 +0000
@@ -15,26 +15,45 @@ namespace NetworkManager
 {
 class VethDevicePrivate;
 
-/**
- * A veth device interface
+/*!
+ * \class NetworkManager::VethDevice
+ * \inheaderfile NetworkManagerQt/VethDevice
+ * \inmodule NetworkManagerQt
+ *
+ * \brief A veth device interface.
  */
 class NETWORKMANAGERQT_EXPORT VethDevice : public Device
 {
     Q_OBJECT
+    /*!
+     * \property NetworkManager::VethDevice::peer
+     */
     Q_PROPERTY(QString peer READ peer NOTIFY peerChanged)
 
 public:
+    /*!
+     * \typedef NetworkManager::VethDevice::Ptr
+     */
     typedef QSharedPointer<VethDevice> Ptr;
+    /*!
+     * \typedef NetworkManager::VethDevice::List
+     */
     typedef QList<Ptr> List;
 
+    /*!
+     */
     explicit VethDevice(const QString &path, QObject *parent = nullptr);
     ~VethDevice() override;
 
     Type type() const override;
 
+    /*!
+     */
     QString peer() const;
 
 Q_SIGNALS:
+    /*!
+     */
     void peerChanged(const QString &peer);
 
 private:
diff -pruN 6.13.0-1/src/vlandevice.h 6.17.0-0ubuntu1/src/vlandevice.h
--- 6.13.0-1/src/vlandevice.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/vlandevice.h	2025-08-01 10:40:12.000000000 +0000
@@ -14,58 +14,86 @@ namespace NetworkManager
 {
 class VlanDevicePrivate;
 
-/**
- * A vlan device interface
+/*!
+ * \class NetworkManager::VlanDevice
+ * \inheaderfile NetworkManagerQt/VlanDevice
+ * \inmodule NetworkManagerQt
+ *
+ * \brief A vlan device interface.
  */
 class NETWORKMANAGERQT_EXPORT VlanDevice : public Device
 {
     Q_OBJECT
+
+    /*!
+     * \property NetworkManager::VlanDevice::carrier
+     */
     Q_PROPERTY(bool carrier READ carrier NOTIFY carrierChanged)
+
+    /*!
+     * \property NetworkManager::VlanDevice::hwAddress
+     */
     Q_PROPERTY(QString hwAddress READ hwAddress NOTIFY hwAddressChanged)
+
+    /*!
+     * \property NetworkManager::VlanDevice::vlanId
+     */
     Q_PROPERTY(uint vlanId READ vlanId NOTIFY vlanIdChanged)
+
+    /*!
+     * \property NetworkManager::VlanDevice::parent
+     */
     Q_PROPERTY(NetworkManager::Device::Ptr parent READ parent NOTIFY parentChanged)
 
 public:
+    /*!
+     * \typedef NetworkManager::VlanDevice::Ptr
+     */
     typedef QSharedPointer<VlanDevice> Ptr;
+    /*!
+     * \typedef NetworkManager::VlanDevice::List
+     */
     typedef QList<Ptr> List;
 
+    /*!
+     */
     explicit VlanDevice(const QString &path, QObject *parent = nullptr);
     ~VlanDevice() override;
 
     Type type() const override;
 
-    /**
+    /*!
      * Indicates whether the physical carrier is found
      */
     bool carrier() const;
-    /**
+    /*!
      * Hardware address of the device
      */
     QString hwAddress() const;
-    /**
+    /*!
      * The parent device of this VLAN device
-     * @since 5.8.0
+     * \since 5.8.0
      */
     NetworkManager::Device::Ptr parent() const;
-    /**
+    /*!
      * The VLAN ID of this VLAN interface
      */
     uint vlanId() const;
 
 Q_SIGNALS:
-    /**
+    /*!
      * Emitted when the carrier of this device has changed
      */
     void carrierChanged(bool plugged);
-    /**
+    /*!
      * Emitted when the hardware address of this device has changed
      */
     void hwAddressChanged(const QString &address);
-    /**
+    /*!
      * Emitted when the parent device of this device has changed
      */
     void parentChanged(const QString &path);
-    /**
+    /*!
      * Emitted when the VLAN ID of this device has changed
      */
     void vlanIdChanged(uint id);
diff -pruN 6.13.0-1/src/vpnconnection.h 6.17.0-0ubuntu1/src/vpnconnection.h
--- 6.13.0-1/src/vpnconnection.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/vpnconnection.h	2025-08-01 10:40:12.000000000 +0000
@@ -20,66 +20,120 @@ namespace NetworkManager
 class Device;
 class VpnConnectionPrivate;
 
-/**
- * An active VPN connection
+/*!
+ * \class NetworkManager::VpnConnection
+ * \inheaderfile NetworkManagerQt/VpnConnection
+ * \inmodule NetworkManagerQt
+ *
+ * \brief An active VPN connection.
  */
 class NETWORKMANAGERQT_EXPORT VpnConnection : public ActiveConnection
 {
     Q_OBJECT
 
 public:
+    /*!
+     * \typedef NetworkManager::VpnConnection::Ptr
+     */
     typedef QSharedPointer<VpnConnection> Ptr;
+    /*!
+     * \typedef NetworkManager::VpnConnection::List
+     */
     typedef QList<Ptr> List;
-    /**
+    /*!
      * Enum describing the possible VPN connection states
+     *
+     * \value Unknown
+     *        The state of the VPN connection is unknown.
+     * \value Prepare
+     *        The VPN connection is preparing to connect.
+     * \value NeedAuth
+     *        The VPN connection needs authorization credentials.
+     * \value Connecting
+     *        The VPN connection is being established.
+     * \value GettingIpConfig
+     *        The VPN connection is getting an IP address.
+     * \value Activated
+     *        The VPN connection is active.
+     * \value Failed
+     *        The VPN connection failed.
+     * \value Disconnected
+     *        The VPN connection is disconnected.
      */
     enum State {
-        Unknown = 0, /**< The state of the VPN connection is unknown. */
-        Prepare, /**< The VPN connection is preparing to connect. */
-        NeedAuth, /**< The VPN connection needs authorization credentials. */
-        Connecting, /**< The VPN connection is being established. */
-        GettingIpConfig, /**< The VPN connection is getting an IP address. */
-        Activated, /**< The VPN connection is active. */
-        Failed, /**< The VPN connection failed. */
-        Disconnected, /**< The VPN connection is disconnected. */
+        Unknown = 0,
+        Prepare,
+        NeedAuth,
+        Connecting,
+        GettingIpConfig,
+        Activated,
+        Failed,
+        Disconnected,
     };
     Q_ENUM(State)
 
+    /*!
+     *
+     * \value UnknownReason
+     *        The reason for the VPN connection state change is unknown.
+     * \value NoneReason
+     *        No reason was given for the VPN connection state change.
+     * \value UserDisconnectedReason
+     *        The VPN connection changed state because the user disconnected it.
+     * \value DeviceDisconnectedReason
+     *        The VPN connection changed state because the device it was using was disconnected.
+     * \value ServiceStoppedReason
+     *        The service providing the VPN connection was stopped.
+     * \value IpConfigInvalidReason
+     *        The IP config of the VPN connection was invalid.
+     * \value ConnectTimeoutReason
+     *        The connection attempt to the VPN service timed out.
+     * \value ServiceStartTimeoutReason
+     *        A timeout occurred while starting the service providing the VPN connection.
+     * \value ServiceStartFailedReason
+     *        Starting the service starting the service providing the VPN connection failed.
+     * \value NoSecretsReason
+     *        Necessary secrets for the VPN connection were not provided.
+     * \value LoginFailedReason
+     *        Authentication to the VPN server failed.
+     * \value ConnectionRemovedReason
+     *        The connection was deleted from settings.
+     */
     enum StateChangeReason {
-        UnknownReason = 0, /**< The reason for the VPN connection state change is unknown.*/
-        NoneReason, /**< No reason was given for the VPN connection state change. */
-        UserDisconnectedReason, /**< The VPN connection changed state because the user disconnected it. */
-        DeviceDisconnectedReason, /**< The VPN connection changed state because the device it was using was disconnected. */
-        ServiceStoppedReason, /**< The service providing the VPN connection was stopped. */
-        IpConfigInvalidReason, /**< The IP config of the VPN connection was invalid. */
-        ConnectTimeoutReason, /**< The connection attempt to the VPN service timed out. */
-        ServiceStartTimeoutReason, /**< A timeout occurred while starting the service providing the VPN connection. */
-        ServiceStartFailedReason, /**< Starting the service starting the service providing the VPN connection failed. */
-        NoSecretsReason, /**< Necessary secrets for the VPN connection were not provided. */
-        LoginFailedReason, /**< Authentication to the VPN server failed. */
-        ConnectionRemovedReason, /**< The connection was deleted from settings. */
+        UnknownReason = 0,
+        NoneReason,
+        UserDisconnectedReason,
+        DeviceDisconnectedReason,
+        ServiceStoppedReason,
+        IpConfigInvalidReason,
+        ConnectTimeoutReason,
+        ServiceStartTimeoutReason,
+        ServiceStartFailedReason,
+        NoSecretsReason,
+        LoginFailedReason,
+        ConnectionRemovedReason,
     };
     Q_ENUM(StateChangeReason)
 
-    /**
+    /*!
      * Creates a new VpnConnection object.
      *
-     * @param path the DBus path of the device
+     * \a path the DBus path of the device
      */
     explicit VpnConnection(const QString &path, QObject *parent = nullptr);
-    /**
+    /*!
      * Destroys a VpnConnection object.
      */
     ~VpnConnection() override;
-    /**
+    /*!
      * Return the current login banner
      */
     QString banner() const;
-    /**
+    /*!
      * returns the current state
      */
     NetworkManager::VpnConnection::State state() const;
-    /**
+    /*!
      * operator for casting an ActiveConnection into a VpnConnection. Returns 0 if this
      * object is not a VPN connection. Introduced to make it possible to create a VpnConnection
      * object for every active connection, without creating an ActiveConnection object, checking
@@ -88,12 +142,12 @@ public:
     operator VpnConnection *();
 
 Q_SIGNALS:
-    /**
-     * This signal is emitted when the connection @p banner has changed
+    /*!
+     * This signal is emitted when the connection \a banner has changed
      */
     void bannerChanged(const QString &banner);
-    /**
-     * This signal is emitted when the VPN connection @p state has changed
+    /*!
+     * This signal is emitted when the VPN connection \a state has changed
      */
     void stateChanged(NetworkManager::VpnConnection::State state, NetworkManager::VpnConnection::StateChangeReason reason);
 
diff -pruN 6.13.0-1/src/vpnplugin.h 6.17.0-0ubuntu1/src/vpnplugin.h
--- 6.13.0-1/src/vpnplugin.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/vpnplugin.h	2025-08-01 10:40:12.000000000 +0000
@@ -17,36 +17,76 @@ namespace NetworkManager
 {
 class VpnPluginPrivate;
 
+/*!
+ * \class NetworkManager::VpnPlugin
+ * \inheaderfile NetworkManagerQt/VpnPlugin
+ * \inmodule NetworkManagerQt
+ */
 class NETWORKMANAGERQT_EXPORT VpnPlugin : public QObject
 {
     Q_OBJECT
 
 public:
+    /*!
+     * \value LoginFailed
+     * \value ConnectFailed
+     * \value BadIpConfig
+     */
     enum FailureType {
         LoginFailed,
         ConnectFailed,
         BadIpConfig,
     };
 
+    /*!
+     */
     explicit VpnPlugin(const QString &path, QObject *parent = nullptr);
     ~VpnPlugin() override;
 
 Q_SIGNALS:
+    /*!
+     */
     void configChanged(const QVariantMap &configuration);
+    /*!
+     */
     void failureChanged(uint reason);
+    /*!
+     */
     void ip4ConfigChanged(const QVariantMap &ip4config);
+    /*!
+     */
     void ip6ConfigChanged(const QVariantMap &ip6config);
+    /*!
+     */
     void loginBannerChanged(const QString &banner);
+    /*!
+     */
     void stateChanged(VpnConnection::State state);
 
 protected Q_SLOTS:
+    /*!
+     */
     void connect(const NMVariantMapMap &connection);
+    /*!
+     */
     void disconnect();
+    /*!
+     */
     QString needSecrets(const NMVariantMapMap &connection);
+    /*!
+     */
     void setConfig(const QVariantMap &config);
+    /*!
+     */
     void setFailure(const QString &reason);
+    /*!
+     */
     void setIp4Config(const QVariantMap &config);
+    /*!
+     */
     void setIp6Config(const QVariantMap &config);
+    /*!
+     */
     void onStateChanged(uint state);
 
 protected:
diff -pruN 6.13.0-1/src/wimaxdevice.h 6.17.0-0ubuntu1/src/wimaxdevice.h
--- 6.13.0-1/src/wimaxdevice.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/wimaxdevice.h	2025-08-01 10:40:12.000000000 +0000
@@ -18,113 +18,123 @@ namespace NetworkManager
 {
 class WimaxDevicePrivate;
 
-/**
- * Wimax network interface
+/*!
+ * \class NetworkManager::WimaxDevice
+ * \inheaderfile NetworkManagerQt/WimaxDevice
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Wimax network interface.
  */
 class NETWORKMANAGERQT_EXPORT WimaxDevice : public Device
 {
     Q_OBJECT
 
 public:
+    /*!
+     * \typedef NetworkManager::WimaxDevice::Ptr
+     */
     typedef QSharedPointer<WimaxDevice> Ptr;
+    /*!
+     * \typedef NetworkManager::WimaxDevice::List
+     */
     typedef QList<Ptr> List;
 
-    /**
+    /*!
      * Creates a new WimaxDevice object.
      *
-     * @param path the DBus path of the device
+     * \a path the DBus path of the device
      */
     explicit WimaxDevice(const QString &path, QObject *parent = nullptr);
-    /**
+    /*!
      * Destroys a WimaxDevice object.
      */
     ~WimaxDevice() override;
-    /**
+    /*!
      * Return the type
      */
     Type type() const override;
-    /**
+    /*!
      * List of network service providers currently visible to the hardware
      */
     QStringList nsps() const;
-    /**
+    /*!
      * Identifier of the NSP this interface is currently associated with
      */
     WimaxNsp::Ptr activeNsp() const;
-    /**
+    /*!
      * The ID of the serving base station as received from the network.
      */
     QString bsid() const;
-    /**
+    /*!
      * The hardware address currently used by the network interface
      */
     QString hardwareAddress() const;
-    /**
+    /*!
      * Center frequency (in KHz) of the radio channel the device is using to communicate with the network when connected.
      */
     uint centerFrequency() const;
-    /**
+    /*!
      * CINR (Carrier to Interference + Noise Ratio) of the current radio link in dB.
      */
     int cinr() const;
-    /**
+    /*!
      * RSSI of the current radio link in dBm. This value indicates how strong the raw received RF signal from the base station is, but does not indicate the
      * overall quality of the radio link.
      */
     int rssi() const;
-    /**
+    /*!
      * Average power of the last burst transmitted by the device, in units of 0.5 dBm. i.e. a TxPower of -11 represents an actual device TX power of -5.5 dBm.
      */
     int txPower() const;
 
-    /**
+    /*!
      * Finds NSP object given its Unique Network Identifier.
      *
-     * @param uni the identifier of the AP to find from this network interface
-     * @returns a valid WimaxNsp object if a network having the given UNI for this device is known to the system, 0 otherwise
+     * \a uni the identifier of the AP to find from this network interface
+     * Returns a valid WimaxNsp object if a network having the given UNI for this device is known to the system, 0 otherwise
      */
     NetworkManager::WimaxNsp::Ptr findNsp(const QString &uni) const;
 
 Q_SIGNALS:
-    /**
+    /*!
      * This signal is emitted when the bitrate of this network has changed.
      *
-     * @param bitrate the new bitrate value for this network
+     * \a bitrate the new bitrate value for this network
      */
     void bitRateChanged(int bitrate);
-    /**
+    /*!
      * The active NSP changed.
      */
     void activeNspChanged(const QString &);
-    /**
+    /*!
      * The BSID changed.
      */
     void bsidChanged(const QString &);
-    /**
+    /*!
      * The device changed its hardware address
      */
     void hardwareAddressChanged(const QString &);
-    /**
+    /*!
      * The device changed its center frequency
      */
     void centerFrequencyChanged(uint);
-    /**
+    /*!
      * The device changed its signal/noise ratio
      */
     void cinrChanged(int);
-    /**
+    /*!
      * The device changed its RSSI
      */
     void rssiChanged(int);
-    /**
+    /*!
      * The device changed its TxPower.
      */
     void txPowerChanged(int);
-    /**
+    /*!
      * A new NSP appeared
      */
     void nspAppeared(const QString &);
-    /**
+    /*!
      * A wireless access point disappeared
      */
     void nspDisappeared(const QString &);
diff -pruN 6.13.0-1/src/wimaxnsp.h 6.17.0-0ubuntu1/src/wimaxnsp.h
--- 6.13.0-1/src/wimaxnsp.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/wimaxnsp.h	2025-08-01 10:40:12.000000000 +0000
@@ -11,23 +11,39 @@
 
 #include <networkmanagerqt/networkmanagerqt_export.h>
 
+#include <QObject>
 #include <QSharedPointer>
 
 namespace NetworkManager
 {
 class WimaxNspPrivate;
 
-/**
- * Wimax network service provider (access point)
+/*!
+ * \class NetworkManager::WimaxNsp
+ * \inheaderfile NetworkManagerQt/WimaxNsp
+ * \inmodule NetworkManagerQt
+ *
+ * \brief Wimax network service provider (access point).
  */
 class NETWORKMANAGERQT_EXPORT WimaxNsp : public QObject
 {
     Q_OBJECT
 public:
+    /*!
+     * \typedef NetworkManager::WimaxNsp::Ptr
+     */
     typedef QSharedPointer<WimaxNsp> Ptr;
+    /*!
+     * \typedef NetworkManager::WimaxNsp::List
+     */
     typedef QList<Ptr> List;
-    /**
+    /*!
      * network types a NSP can have
+     *
+     * \value Unknown
+     * \value Home
+     * \value Partner
+     * \value RoamingPartner
      */
     enum NetworkType {
         Unknown = 0x1,
@@ -36,42 +52,46 @@ public:
         RoamingPartner = 0x4,
     };
 
+    /*!
+     */
     explicit WimaxNsp(const QString &path, QObject *parent = nullptr);
     ~WimaxNsp() override;
 
+    /*!
+     */
     QString uni() const;
-    /**
+    /*!
      * The network type of the NSP
      */
     NetworkType networkType() const;
-    /**
+    /*!
      * The name of the NSP
      */
     QString name() const;
-    /**
+    /*!
      * The current signal quality of the NSP, in percent
      */
     uint signalQuality() const;
 
 Q_SIGNALS:
-    /**
+    /*!
      * This signal is emitted when the network type of this NSP has changed.
      *
-     * @param type the new type
+     * \a type the new type
      */
     void networkTypeChanged(NetworkType type);
 
-    /**
+    /*!
      * This signal is emitted when the name of this NSP has changed
      *
-     * @param name the new name for this NSP
+     * \a name the new name for this NSP
      */
     void nameChanged(const QString &name);
 
-    /**
+    /*!
      * This signal is emitted when the signal quality of this NSP has changed.
      *
-     * @param quality the new quality
+     * \a quality the new quality
      */
     void signalQualityChanged(uint quality);
 
diff -pruN 6.13.0-1/src/wireddevice.h 6.17.0-0ubuntu1/src/wireddevice.h
--- 6.13.0-1/src/wireddevice.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/wireddevice.h	2025-08-01 10:40:12.000000000 +0000
@@ -17,66 +17,98 @@ namespace NetworkManager
 {
 class WiredDevicePrivate;
 
-/**
- * A wired device interface
+/*!
+ * \class NetworkManager::WiredDevice
+ * \inheaderfile NetworkManagerQt/WiredDevice
+ * \inmodule NetworkManagerQt
+ *
+ * \brief A wired device interface.
  */
 class NETWORKMANAGERQT_EXPORT WiredDevice : public Device
 {
     Q_OBJECT
+
+    /*!
+     * \property NetworkManager::WiredDevice::hardwareAddress
+     */
     Q_PROPERTY(QString hardwareAddress READ hardwareAddress)
+
+    /*!
+     * \property NetworkManager::WiredDevice::permanentHardwareAddress
+     */
     Q_PROPERTY(QString permanentHardwareAddress READ permanentHardwareAddress)
+
+    /*!
+     * \property NetworkManager::WiredDevice::carrier
+     */
     Q_PROPERTY(bool carrier READ carrier NOTIFY carrierChanged)
+
+    /*!
+     * \property NetworkManager::WiredDevice::bitRate
+     */
     Q_PROPERTY(int bitRate READ bitRate NOTIFY bitRateChanged)
+
+    /*!
+     * \property NetworkManager::WiredDevice::s390SubChannels
+     */
     Q_PROPERTY(QStringList s390SubChannels READ s390SubChannels NOTIFY s390SubChannelsChanged)
 
 public:
+    /*!
+     * \typedef NetworkManager::WiredDevice::Ptr
+     */
     typedef QSharedPointer<WiredDevice> Ptr;
+    /*!
+     * \typedef NetworkManager::WiredDevice::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     explicit WiredDevice(const QString &path, QObject *parent = nullptr);
     ~WiredDevice() override;
-    /**
+    /*!
      * Return the type
      */
     Type type() const override;
-    /**
+    /*!
      * Active hardware address of the device
      */
     QString hardwareAddress() const;
-    /**
+    /*!
      * Permanent hardware address of the device
      */
     QString permanentHardwareAddress() const;
-    /**
+    /*!
      * Design speed of the device, in megabits/second (Mb/s)
      */
     int bitRate() const;
-    /**
+    /*!
      * Indicates whether the physical carrier is found (e.g. whether a cable is plugged in or not)
      */
     bool carrier() const;
-    /**
+    /*!
      * Array of S/390 subchannels for S/390 or z/Architecture devices
      */
     QStringList s390SubChannels() const;
 
 Q_SIGNALS:
-    /**
+    /*!
      * Emitted when the design speed of the device has changed
      */
     void bitRateChanged(int bitRate);
-    /**
+    /*!
      * Emitted when the carrier of this device has changed
      */
     void carrierChanged(bool plugged);
-    /**
+    /*!
      * Emitted when the hardware address of this device has changed
      */
     void hardwareAddressChanged(const QString &hwAddress);
-    /**
+    /*!
      * Emitted when the permanent hardware address of this device has changed
      */
     void permanentHardwareAddressChanged(const QString &permHwAddress);
-    /*
+    /*!
      * Emitted when the array of s390SubChannels has changed
      */
     void s390SubChannelsChanged(const QStringList &channels);
diff -pruN 6.13.0-1/src/wireguarddevice.h 6.17.0-0ubuntu1/src/wireguarddevice.h
--- 6.13.0-1/src/wireguarddevice.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/wireguarddevice.h	2025-08-01 10:40:12.000000000 +0000
@@ -14,47 +14,71 @@ namespace NetworkManager
 {
 class WireGuardDevicePrivate;
 
-/**
- * A WireGuard device interface
+/*!
+ * \class NetworkManager::WireGuardDevice
+ * \inheaderfile NetworkManagerQt/WireGuardDevice
+ * \inmodule NetworkManagerQt
+ *
+ * \brief A WireGuard device interface.
  */
 class NETWORKMANAGERQT_EXPORT WireGuardDevice : public Device
 {
     Q_OBJECT
+
+    /*!
+     * \property NetworkManager::WireGuardDevice::publicKey
+     */
     Q_PROPERTY(QByteArray publicKey READ publicKey NOTIFY publicKeyChanged)
+
+    /*!
+     * \property NetworkManager::WireGuardDevice::listenPort
+     */
     Q_PROPERTY(uint listenPort READ listenPort NOTIFY listenPortChanged)
+
+    /*!
+     * \property NetworkManager::WireGuardDevice::fwMark
+     */
     Q_PROPERTY(uint fwMark READ fwMark NOTIFY fwMarkChanged)
 
 public:
+    /*!
+     * \typedef NetworkManager::WireGuardDevice::Ptr
+     */
     typedef QSharedPointer<WireGuardDevice> Ptr;
+    /*!
+     * \typedef NetworkManager::WireGuardDevice::List
+     */
     typedef QList<Ptr> List;
+    /*!
+     */
     explicit WireGuardDevice(const QString &path, QObject *parent = nullptr);
     ~WireGuardDevice() override;
 
     Type type() const override;
 
-    /**
+    /*!
      * 32-byte public WireGuard key.
      */
     QByteArray publicKey() const;
-    /**
+    /*!
      * Local UDP listening port.
      */
     uint listenPort() const;
-    /**
+    /*!
      * Optional 32-bit mark used to set routing policy for outgoing encrypted packets. See: ip-rule(8)
      */
     uint fwMark() const;
 
 Q_SIGNALS:
-    /**
+    /*!
      * Emitted when the public key of this device has changed
      */
     void publicKeyChanged(const QByteArray &publicKey);
-    /**
+    /*!
      * Emitted when the listen port of this device has changed
      */
     void listenPortChanged(uint listenPort);
-    /**
+    /*!
      * Emitted when the fwmark of this device have changed
      */
     void fwMarkChanged(uint fwMark);
diff -pruN 6.13.0-1/src/wirelessdevice.h 6.17.0-0ubuntu1/src/wirelessdevice.h
--- 6.13.0-1/src/wirelessdevice.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/wirelessdevice.h	2025-08-01 10:40:12.000000000 +0000
@@ -21,199 +21,251 @@ namespace NetworkManager
 {
 class WirelessDevicePrivate;
 
-/**
- * A wireless network interface
+/*!
+ * \class NetworkManager::WirelessDevice
+ * \inheaderfile NetworkManagerQt/WirelessDevice
+ * \inmodule NetworkManagerQt
+ *
+ * \brief A wireless network interface.
  */
 class NETWORKMANAGERQT_EXPORT WirelessDevice : public Device
 {
     Q_OBJECT
 
 public:
+    /*!
+     * \typedef NetworkManager::WirelessDevice::Ptr
+     */
     typedef QSharedPointer<WirelessDevice> Ptr;
+    /*!
+     * \typedef NetworkManager::WirelessDevice::List
+     */
     typedef QList<Ptr> List;
-
-    /**
+    /*!
      * The device's current operating mode
+     *
+     * \value Unknown
+     *        not associated with a network
+     * \value Adhoc
+     *        part of an adhoc network
+     * \value Infra
+     *        a station in an infrastructure wireless network
+     * \value ApMode
+     *        access point in an infrastructure network
      */
     enum OperationMode {
-        Unknown = 0, /**< not associated with a network */
-        Adhoc, /**< part of an adhoc network */
-        Infra, /**< a station in an infrastructure wireless network */
-        ApMode, /**< access point in an infrastructure network */
+        Unknown = 0,
+        Adhoc,
+        Infra,
+        ApMode,
     };
     Q_ENUM(OperationMode)
-    /**
+    /*!
      * Capabilities (currently all encryption/authentication related) of the device
-     * @note FreqValid, Freq2Ghz, Freq5Ghz are available in runtime NM >= 1.0.2
+     * \note FreqValid, Freq2Ghz, Freq5Ghz are available in runtime NM >= 1.0.2
+     *
+     * The device's current operating mode
+     *
+     * \value NoCapability
+     *        Null capability
+     * \value Wep40
+     *        40 bit WEP cipher
+     * \value Wep104
+     *        104 bit WEP cipher
+     * \value Tkip
+     *        TKIP encryption cipher
+     * \value Ccmp
+     *        CCMP encryption cipher
+     * \value WpaWpa
+     *        WPA authentication protocol
+     * \value Rsn
+     *        RSN authethication protocol
+     * \value ApCap
+     *        The device supports Access Point mode.
+     * \value AdhocCap
+     *        The device supports Ad-Hoc mode.
+     * \value FreqValid
+     *        The device properly reports information about supported frequencies
+     * \value Freq2Ghz
+     *        The device supports 2.4Ghz frequencies
+     * \value Freq5Ghz
+     *        The device supports 5Ghz frequencies
+     * \value Mesh
+     *        The device supports acting as a mesh point
+     * \value IBSSRsn
+     *        device supports WPA2/RSN in an IBSS network
      */
     enum Capability {
-        NoCapability = 0x0, /**< Null capability */
-        Wep40 = 0x1, /**< 40 bit WEP cipher */
-        Wep104 = 0x2, /**< 104 bit WEP cipher */
-        Tkip = 0x4, /**< TKIP encryption cipher */
-        Ccmp = 0x8, /**< CCMP encryption cipher */
-        Wpa = 0x10, /**< WPA authentication protocol */
-        Rsn = 0x20, /**< RSN authethication protocol */
-        ApCap = 0x40, /**< The device supports Access Point mode. */
-        AdhocCap = 0x80, /**< The device supports Ad-Hoc mode. */
-        FreqValid = 0x100, /**< The device properly reports information about supported frequencies */
-        Freq2Ghz = 0x200, /**< The device supports 2.4Ghz frequencies */
-        Freq5Ghz = 0x400, /**< The device supports 5Ghz frequencies */
-        Mesh = 0x1000, /**< The device supports acting as a mesh point */
-        IBSSRsn = 0x2000, /**< device supports WPA2/RSN in an IBSS network */
+        NoCapability = 0x0,
+        Wep40 = 0x1,
+        Wep104 = 0x2,
+        Tkip = 0x4,
+        Ccmp = 0x8,
+        Wpa = 0x10,
+        Rsn = 0x20,
+        ApCap = 0x40,
+        AdhocCap = 0x80,
+        FreqValid = 0x100,
+        Freq2Ghz = 0x200,
+        Freq5Ghz = 0x400,
+        Mesh = 0x1000,
+        IBSSRsn = 0x2000,
     };
     Q_DECLARE_FLAGS(Capabilities, Capability)
-    /**
+    /*!
      * Creates a new WirelessDevice object.
      *
-     * @param path the DBus path of the devise
+     * \a path the DBus path of the devise
      */
     explicit WirelessDevice(const QString &path, QObject *parent = nullptr);
-    /**
+    /*!
      * Destroys a WirelessDevice object.
      */
     ~WirelessDevice() override;
-    /**
+    /*!
      * Return the type
      */
     Type type() const override;
-    /**
+    /*!
      * List of wireless networks currently visible to the hardware
      */
     QStringList accessPoints() const;
-    /**
+    /*!
      * Asks the device for a new scan of available wireless networks
-     * @param options Options of scan
+     *
+     * \a options Options of scan
+     *
      * No documentation for options yet, see
      * https://projects.gnome.org/NetworkManager/developers/api/09/spec.html#org.freedesktop.NetworkManager.Device.Wireless
      */
     QDBusPendingReply<> requestScan(const QVariantMap &options = QVariantMap());
-    /**
+    /*!
      * AccessPoint pointer this interface is currently associated with
      */
     AccessPoint::Ptr activeAccessPoint() const;
-    /**
+    /*!
      * The permanent hardware address of the network interface
      */
     QString permanentHardwareAddress() const;
-    /**
+    /*!
      * The hardware address currently used by the network interface
      */
     QString hardwareAddress() const;
 
-    /**
+    /*!
      * Retrieves the operation mode of this network.
      *
-     * @return the current mode
-     * @see OperationMode
+     * Returns the current mode
+     * \sa OperationMode
      */
     WirelessDevice::OperationMode mode() const;
-    /**
+    /*!
      * Retrieves the effective bit rate currently attainable by this device.
      *
-     * @return the bitrate in Kbit/s
+     * Returns the bitrate in Kbit/s
      */
     int bitRate() const;
-    /**
+    /*!
      * The LastScan property value, converted to QDateTime
-     * @since 5.62.0
-     * @note will always return invalid QDateTime when runtime NM < 1.12
-     * @return
+     * \since 5.62.0
+     * \note will always return invalid QDateTime when runtime NM < 1.12
+     * Returns
      */
     QDateTime lastScan() const;
-    /**
+    /*!
      * The time the last RequestScan function was called
-     * @since 5.62.0
-     * @return
+     * \since 5.62.0
+     * Returns
      */
     QDateTime lastRequestScan() const;
-    /**
+    /*!
      * Retrieves the capabilities of this wifi network.
      *
-     * @return the flag set describing the capabilities
-     * @see Capabilities
+     * Returns the flag set describing the capabilities
+     * \sa Capabilities
      */
     WirelessDevice::Capabilities wirelessCapabilities() const;
 
-    /**
+    /*!
      * Helper method to convert wire representation of operation mode to enum
      */
     static WirelessDevice::OperationMode convertOperationMode(uint);
-    /**
+    /*!
      * Helper method to convert wire representation of capabilities to enum
      */
     static WirelessDevice::Capabilities convertCapabilities(uint);
-    /**
+    /*!
      * Finds access point object given its Unique Network Identifier.
      *
-     * @param uni the identifier of the AP to find from this network interface
-     * @returns a valid AccessPoint object if a network having the given UNI for this device is known to the system, 0 otherwise
+     * \a uni the identifier of the AP to find from this network interface
+     * Returns a valid AccessPoint object if a network having the given UNI for this device is known to the system, 0 otherwise
      */
     AccessPoint::Ptr findAccessPoint(const QString &uni);
 
-    /**
+    /*!
      * Return the current list of networks
      */
     WirelessNetwork::List networks() const;
 
-    /**
-     * Find a network with the given @p ssid, a Null object is
+    /*!
+     * Find a network with the given \a ssid, a Null object is
      * returned if it can not be found
      */
     WirelessNetwork::Ptr findNetwork(const QString &ssid) const;
 
 Q_SIGNALS:
-    /**
+    /*!
      * This signal is emitted when the bitrate of this network has changed.
      *
-     * @param bitrate the new bitrate value for this network
+     * \a bitrate the new bitrate value for this network
      */
     void bitRateChanged(int bitrate);
-    /**
+    /*!
      * The active network changed.
      */
     void activeAccessPointChanged(const QString &);
-    /**
+    /*!
      * The device switched operating mode.
      */
     void modeChanged(WirelessDevice::OperationMode);
-    /**
+    /*!
      * The device changed its capabilities
      */
     void wirelessCapabilitiesChanged(Capabilities);
-    /**
+    /*!
      * The device changed its hardware address
      */
     void hardwareAddressChanged(const QString &);
-    /**
+    /*!
      * The device changed its permanent hardware address
      */
     void permanentHardwareAddressChanged(const QString &);
-    /**
+    /*!
      * The device changed its properties
      */
     void wirelessPropertiesChanged(uint); // TODO this is bogus, remove
-    /**
+    /*!
      * A new wireless access point appeared
      */
     void accessPointAppeared(const QString &uni);
-    /**
+    /*!
      * A wireless access point disappeared
      */
     void accessPointDisappeared(const QString &uni);
-    /**
+    /*!
      * A wireless network appeared
      */
     void networkAppeared(const QString &ssid);
-    /**
+    /*!
      * A wireless network disappeared
      */
     void networkDisappeared(const QString &ssid);
-    /**
+    /*!
      * The LastScan property has changed, meaning a scan has just finished
-     * @since 5.62.0
-     * @note will never be emitted when runtime NM < 1.12
-     * @see lastScanTime
+     * \since 5.62.0
+     * \
+ote will never be emitted when runtime NM < 1.12
+     * \sa lastScanTime
      */
     void lastScanChanged(const QDateTime &dateTime);
 
diff -pruN 6.13.0-1/src/wirelessnetwork.h 6.17.0-0ubuntu1/src/wirelessnetwork.h
--- 6.13.0-1/src/wirelessnetwork.h	2025-04-04 14:04:11.000000000 +0000
+++ 6.17.0-0ubuntu1/src/wirelessnetwork.h	2025-08-01 10:40:12.000000000 +0000
@@ -20,9 +20,13 @@ namespace NetworkManager
 class WirelessDevice;
 class WirelessNetworkPrivate;
 
-/**
- * This class represents a wireless network, which aggregates all
- * access points with the same SSID
+/*!
+ * \class NetworkManager::WirelessNetwork
+ * \inheaderfile NetworkManagerQt/WirelessNetwork
+ * \inmodule NetworkManagerQt
+ *
+ * \brief This class represents a wireless network, which aggregates all
+ * access points with the same SSID.
  */
 class NETWORKMANAGERQT_EXPORT WirelessNetwork : public QObject
 {
@@ -31,54 +35,63 @@ class NETWORKMANAGERQT_EXPORT WirelessNe
     friend class WirelessDevicePrivate;
 
 public:
+    /*!
+     * \typedef NetworkManager::WirelessNetwork::Ptr
+     */
     typedef QSharedPointer<WirelessNetwork> Ptr;
+    /*!
+     * \typedef NetworkManager::WirelessNetwork::List
+     */
     typedef QList<Ptr> List;
     ~WirelessNetwork() override;
-    /**
+    /*!
      * ESSID of the network
      */
     QString ssid() const;
 
-    /**
+    /*!
      * Signal strength of the network.  Syntactic sugar around tracking the reference access
      * point and watching its signal strength
      */
     int signalStrength() const;
 
-    /**
+    /*!
      * The uni of the current 'best' (strongest) Access Point. Note that this may change or disappear over time.
-     * Get the Access Point object using @ref WirelessDevice::findAccessPoint() on the NetworkInterface this network was obtained from.
-     * Use @ref WirelessDevice::accessPointDisappeared() or
+     * Get the Access Point object using \ WirelessDevice::findAccessPoint() on the NetworkInterface this network was obtained from.
+     * Use \ WirelessDevice::accessPointDisappeared() or
      * WirelessNetwork::referenceAccessPointChanged() to detect this.
      */
     AccessPoint::Ptr referenceAccessPoint() const;
 
-    /**
+    /*!
      * List of access points
-     * @warning Subject to change, do not store!
+     * \warning Subject to change, do not store!
      */
     AccessPoint::List accessPoints() const;
 
-    /**
+    /*!
      * The uni of device associated with this network.
      */
     QString device() const;
 
 Q_SIGNALS:
-    /**
+    /*!
      * Indicate that the signal strength changed
-     * @param strength strength as a percentage.
+     *
+     * \a strength strength as a percentage.
      */
     void signalStrengthChanged(int strength);
-    /**
+    /*!
      * Indicate that the reference access point changed
-     * @param apUni new access point or empty string if none
+     *
+     * \a apUni new access point or empty string if none
      */
     void referenceAccessPointChanged(const QString &apUni);
-    /**
+    /*!
      * Indicate that this network has no more access points
      * (meaning the network has disappeared from view of the network interface)
-     * @param ssid the SSID of this network
+     *
+     * \a ssid the SSID of this network
      */
     void disappeared(const QString &ssid);
 
