Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 8 additions & 0 deletions .github/workflows/reusable-ubuntu-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,14 @@ jobs:
ref: ${{ steps.get_fastdds_python_branch.outputs.deduced_branch }}
path: ${{ github.workspace }}/src/fastdds_python

- name: Audit API reference wrappers
run: |
python3 src/fastdds-docs/utils/scripts/audit_api_reference.py \
--fastdds-dir src/fastdds \
--report compare \
--show 1000 \
--fail-on-findings

- name: Fetch Fast DDS Docs CI dependencies
if: ${{ inputs.run-tests == true }}
uses: eProsima/eProsima-CI/multiplatform/vcs_import@v0
Expand Down
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,7 @@ if (BUILD_DOCUMENTATION)
$<$<BOOL:${CMAKE_COMPILE_WARNING_AS_ERROR}>:-W>
-b ${FASTDDS_DOCS_BUILDER}
# Tell Breathe where to find the Doxygen output
-D breathe_projects.FastDDS=${DOXYGEN_OUTPUT_DIR}/xml
${PYTHON_EXTRA_FLAG}
-d "${PROJECT_BINARY_DIR}/doctrees"
${SPHINX_SOURCE}
Expand Down
18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,7 @@ cd <path_to_docs_repo>/fastdds-docs
rm -rf build
READTHEDOCS=True FASTDDS_BRANCH=<branch> FASTDDS_PYTHON_BRANCH=<branch> sphinx-build \
-b html \
-D breathe_projects.FastDDS=<abs_path_to_docs_repo>/fastdds-docs/build/doxygen/xml \
-d <abs_path_to_docs_repo>/fastdds-docs/build/doctrees \
docs <abs_path_to_docs_repo>/fastdds-docs/build/html
```
Expand All @@ -212,6 +213,23 @@ Using either CMake or colcon, the documentation is built using Sphinx's `html` b
However, Sphinx supports several other building formats, which are enabled through [Sphinx builders](https://www.sphinx-doc.org/en/master/usage/builders/index.html).
Once a builder is selected, the documentation can be built using the [Simulating Read the Docs](#simulating-read-the-docs) approach, specifying the appropriate builder with the `-b` CLI option

### Auditing API reference wrappers

The repository includes an audit helper that compares the manually maintained
API reference wrapper files with the public Fast DDS API exported by a Fast DDS checkout.
This is also run in Ubuntu CI.

```bash
python3 utils/scripts/audit_api_reference.py \
--fastdds-dir <path_to_fastdds_repo> \
--report compare \
--show 1000 \
--fail-on-findings
```

The `compare` report only shows discrepancies: extra wrapper files, wrapper files
that need updates, and missing public API targets.

## Project structure

The project is structured as follows:
Expand Down
1 change: 1 addition & 0 deletions code/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,7 @@ add_test(NAME docs.code_block_check.xml
add_test(NAME docs.spell_check
COMMAND
${SPHINX_EXECUTABLE} -Q -W --keep-going
-D breathe_projects.FastDDS=${DOXYGEN_OUTPUT_DIR}/xml
-b spelling
-d "${PROJECT_BINARY_DIR}/doctrees"
${CMAKE_SOURCE_DIR}/docs
Expand Down
2 changes: 2 additions & 0 deletions docs/api_spelling_wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ DataWriterQos
datawriters
DeadlineQosPolicy
deserialized
deserializing
destinated
DestinationOrderQosPolicy
Destructor
Expand Down Expand Up @@ -228,6 +229,7 @@ QosPolicyCount
rdata
ReadCondition
ReceiverResource
reimplemented
ReliabilityQosPolicy
ReplyPubSubType
ReplyTypeSupport
Expand Down
6 changes: 5 additions & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,11 @@ def configure_doxyfile(
)
autodoc_mock_imports = ["_fastdds_python"]


breathe_projects = {"FastDDS": os.path.abspath("{}/xml".format(output_dir))}
breathe_default_project = "FastDDS"
breathe_show_define_initializer = True

# Tell `autodoc` where is the Pydoc documentation if it was set.
if fastdds_python_imported_location:
sys.path.insert(0, fastdds_python_imported_location)
Expand Down Expand Up @@ -668,7 +673,6 @@ def configure_doxyfile(
"*/*/*/includes/*.rst",
"*/*/*/*/includes/*.rst",
"notes/previous_versions/v*.rst",
"*/api-reference/*"
]

# The reST default role (used for this markup: `text`) to use for all
Expand Down
24 changes: 24 additions & 0 deletions docs/fastdds/api_reference/api_reference.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
.. _api_reference:

C++ API Reference
=================

*Fast DDS*, as a Data Distribution Service (DDS) standard implementation, exposes the DDS Data-Centric Publish-Subscribe
(DCPS) Platform Independent Model (PIM) API, as specified in the
`DDS specification <https://www.omg.org/spec/DDS/1.4/PDF>`_.
Furthermore, is also gives the user the possibility to directly interact with the underlying Real-time
Publish-Subscribe (RTPS) API that DDS implements for wired communications, as specified in the
`RTPS standard <https://www.omg.org/spec/DDSI-RTPS/2.2/PDF>`_.

This section presents the most commonly used APIs provided by *Fast DDS*.
For more information about the API reference, please refer to
`Fast DDS API reference <https://www.eprosima.com/docs/fast-rtps/latest/API>`_.

.. toctree::
:titlesonly:

/fastdds/api_reference/dds_pim/dds_pim
/fastdds/api_reference/rtps/rtps
/fastdds/api_reference/transport/transport
/fastdds/api_reference/log/log
/fastdds/api_reference/statistics/statistics
7 changes: 7 additions & 0 deletions docs/fastdds/api_reference/dds_pim/core/Time_t/Duration_t.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.. rst-class:: api-ref

DDS Layer Duration_t
--------------------

.. doxygentypedef:: eprosima::fastdds::dds::Duration_t
:project: FastDDS
10 changes: 10 additions & 0 deletions docs/fastdds/api_reference/dds_pim/core/Time_t/Time_t.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
.. _api_pim_time_t:

.. rst-class:: api-ref

DDS Layer Time_t
----------------

.. doxygenstruct:: eprosima::fastdds::dds::Time_t
:project: FastDDS
:members:
14 changes: 14 additions & 0 deletions docs/fastdds/api_reference/dds_pim/core/Time_t/const_values.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
.. rst-class:: api-ref

Const values
------------

.. doxygenvariable:: eprosima::fastdds::dds::c_TimeInfinite
:project: FastDDS

.. doxygenvariable:: eprosima::fastdds::dds::c_TimeZero
:project: FastDDS

.. doxygenvariable:: eprosima::fastdds::dds::c_TimeInvalid
:project: FastDDS

31 changes: 31 additions & 0 deletions docs/fastdds/api_reference/dds_pim/core/Time_t/operators.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
.. rst-class:: api-ref

Time_t DDS Operators
--------------------

.. doxygenfunction:: eprosima::fastdds::dds::operator==(const Time_t &t1, const Time_t &t2)
:project: FastDDS

.. doxygenfunction:: eprosima::fastdds::dds::operator!=(const Time_t &t1, const Time_t &t2)
:project: FastDDS

.. doxygenfunction:: eprosima::fastdds::dds::operator<(const Time_t &t1, const Time_t &t2)
:project: FastDDS

.. doxygenfunction:: eprosima::fastdds::dds::operator>(const Time_t &t1, const Time_t &t2)
:project: FastDDS

.. doxygenfunction:: eprosima::fastdds::dds::operator<=(const Time_t &t1, const Time_t &t2)
:project: FastDDS

.. doxygenfunction:: eprosima::fastdds::dds::operator>=(const Time_t &t1, const Time_t &t2)
:project: FastDDS

.. doxygenfunction:: eprosima::fastdds::dds::operator<<(std::ostream &output, const Time_t &t)
:project: FastDDS

.. doxygenfunction:: eprosima::fastdds::dds::operator+(const Time_t &ta, const Time_t &tb)
:project: FastDDS

.. doxygenfunction:: eprosima::fastdds::dds::operator-(const Time_t &ta, const Time_t &tb)
:project: FastDDS
12 changes: 12 additions & 0 deletions docs/fastdds/api_reference/dds_pim/core/Time_t/time_toc.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.. _api_dds_common_time_t:

DDS Time_t
----------

.. toctree::
:titlesonly:

/fastdds/api_reference/dds_pim/core/Time_t/const_values
/fastdds/api_reference/dds_pim/core/Time_t/Duration_t
/fastdds/api_reference/dds_pim/core/Time_t/operators
/fastdds/api_reference/dds_pim/core/Time_t/Time_t
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Condition
=========

.. toctree::
:titlesonly:

/fastdds/api_reference/dds_pim/core/condition/condition.rst
/fastdds/api_reference/dds_pim/core/condition/conditionseq.rst
/fastdds/api_reference/dds_pim/core/condition/guardcondition.rst
/fastdds/api_reference/dds_pim/core/condition/statuscondition.rst
/fastdds/api_reference/dds_pim/core/condition/waitset.rst
10 changes: 10 additions & 0 deletions docs/fastdds/api_reference/dds_pim/core/condition/condition.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
.. _api_pim_condition:

.. rst-class:: api-ref

Condition
---------

.. doxygenclass:: eprosima::fastdds::dds::Condition
:project: FastDDS
:members:
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
.. _api_pim_conditionseq:

.. rst-class:: api-ref

ConditionSeq
------------

.. doxygentypedef:: eprosima::fastdds::dds::ConditionSeq
:project: FastDDS
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
.. _api_pim_guardcondition:

.. rst-class:: api-ref

GuardCondition
--------------

.. doxygenclass:: eprosima::fastdds::dds::GuardCondition
:project: FastDDS
:members:
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
.. _api_pim_statuscondition:

.. rst-class:: api-ref

StatusCondition
---------------

.. doxygenclass:: eprosima::fastdds::dds::StatusCondition
:project: FastDDS
:members:
10 changes: 10 additions & 0 deletions docs/fastdds/api_reference/dds_pim/core/condition/waitset.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
.. _api_pim_waitset:

.. rst-class:: api-ref

Wait-set
--------

.. doxygenclass:: eprosima::fastdds::dds::WaitSet
:project: FastDDS
:members:
16 changes: 16 additions & 0 deletions docs/fastdds/api_reference/dds_pim/core/core.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Core
====

.. toctree::
:titlesonly:

/fastdds/api_reference/dds_pim/core/condition/basecondition.rst
/fastdds/api_reference/dds_pim/core/domainentity.rst
/fastdds/api_reference/dds_pim/core/entity.rst
/fastdds/api_reference/dds_pim/core/loanablearray.rst
/fastdds/api_reference/dds_pim/core/loanablecollection.rst
/fastdds/api_reference/dds_pim/core/loanablesequence.rst
/fastdds/api_reference/dds_pim/core/policy/policy.rst
/fastdds/api_reference/dds_pim/core/stackallocatedsequence.rst
/fastdds/api_reference/dds_pim/core/status/status.rst
/fastdds/api_reference/dds_pim/core/Time_t/time_toc.rst
11 changes: 11 additions & 0 deletions docs/fastdds/api_reference/dds_pim/core/domainentity.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@

.. _api_pim_domainentity:

.. rst-class:: api-ref

DomainEntity
------------

.. doxygenclass:: eprosima::fastdds::dds::DomainEntity
:project: FastDDS
:members:
10 changes: 10 additions & 0 deletions docs/fastdds/api_reference/dds_pim/core/entity.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
.. _api_pim_entity:

.. rst-class:: api-ref

Entity
------

.. doxygenclass:: eprosima::fastdds::dds::Entity
:project: FastDDS
:members:
10 changes: 10 additions & 0 deletions docs/fastdds/api_reference/dds_pim/core/loanablearray.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
.. _api_pim_loanablearray:

.. rst-class:: api-ref

LoanableArray
-------------

.. doxygenstruct:: eprosima::fastdds::dds::LoanableArray
:project: FastDDS
:members:
10 changes: 10 additions & 0 deletions docs/fastdds/api_reference/dds_pim/core/loanablecollection.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
.. _api_pim_loanablecollection:

.. rst-class:: api-ref

LoanableCollection
------------------

.. doxygenclass:: eprosima::fastdds::dds::LoanableCollection
:project: FastDDS
:members:
13 changes: 13 additions & 0 deletions docs/fastdds/api_reference/dds_pim/core/loanablesequence.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
.. _api_pim_loanablesequence:

.. rst-class:: api-ref

LoanableSequence
------------------

.. doxygenclass:: eprosima::fastdds::dds::LoanableSequence
:project: FastDDS
:members:

.. doxygendefine:: FASTDDS_SEQUENCE
:project: FastDDS
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.. _api_pim_datarepresentationid:

.. rst-class:: api-ref

DataRepresentationId
--------------------

.. doxygenenum:: eprosima::fastdds::dds::DataRepresentationId
:project: FastDDS

.. doxygenvariable:: eprosima::fastdds::dds::DEFAULT_DATA_REPRESENTATION
:project: FastDDS
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
.. _api_pim_datarepresentationqospolicy:

.. rst-class:: api-ref

DataRepresentationQosPolicy
---------------------------

.. doxygenclass:: eprosima::fastdds::dds::DataRepresentationQosPolicy
:project: FastDDS
:members:

10 changes: 10 additions & 0 deletions docs/fastdds/api_reference/dds_pim/core/policy/datasharingkind.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
.. _api_pim_datasharingkind:

.. rst-class:: api-ref

DataSharingKind
---------------

.. doxygenenum:: eprosima::fastdds::dds::DataSharingKind
:project: FastDDS

Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
.. _api_pim_datasharingqospolicy:

.. rst-class:: api-ref

DataSharingQosPolicy
--------------------

.. doxygenclass:: eprosima::fastdds::dds::DataSharingQosPolicy
:project: FastDDS
:members:
Loading
Loading