summaryrefslogtreecommitdiff
path: root/Documentation/docs.rst
diff options
context:
space:
mode:
authorDaniel Scally <dan.scally@ideasonboard.com>2024-08-08 15:09:46 +0100
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2024-08-14 04:17:40 +0300
commit7dc38adcb5b59f5347fcfbcc8b5df261eda704a1 (patch)
treeef2f31610495140241d3e0c6d247cca7cb673333 /Documentation/docs.rst
parent7304442774270ce79c6817875f88c6b7db72a6fb (diff)
Documentation: Split public/private documentation
The API reference pages generated by Doxygen are comprehensive, but therefore quite overwhelming for application developers who will likely never need to use the majority of the library's objects. To reduce the complexity of the documentation, split it into two runs of doxygen. The first run of doxygen is for the public API. We pass a specific list of source files to parse, which is built from the arrays of public headers and sources in meson build files. This ensures that we only generate the documentation for code from those files. A custom Python script is needed to add the list of input files to Doxyfile, as several of the objects included in the header and source array are custom_tgt objects, which can't be handled as strings to populate a variable in the configuration data. The headers defining the Extensible and Object classes (class.h and object.h respectively), as well as the corresponding source files, are excluded from the public API documentation despite being referenced in the meson public headers and sources arrays. This is due to the fact that public API classes inherit from Extensible and Object, making the Extensible and Object classes part of the public ABI. Those two base classes are however implementation details and must not be accessed directly by application code. The second run of doxygen is for the internal API. This contains documentation for all of the library's objects as it currently does. This set will now be output into build/Documentation/internal-api-html. Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com> Co-developed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com>
Diffstat (limited to 'Documentation/docs.rst')
0 files changed, 0 insertions, 0 deletions