[libcamera-devel] Documentation: Exclude bound_method.{h, cpp}

Message ID 20190912195703.18678-1-laurent.pinchart@ideasonboard.com
State Accepted
Commit edd60994e813723c8e4fb362ce1d5f5a4675a565
Headers show
Series
  • [libcamera-devel] Documentation: Exclude bound_method.{h, cpp}
Related show

Commit Message

Laurent Pinchart Sept. 12, 2019, 7:57 p.m. UTC
The bound method classes are not part of the public API, even though
they need to be exposed to applications due to the Object and Signal
template methods that use them. They are excluded from documentation
generation through EXCLUDE_SYMBOLS, but the corresponding .h file is
still listed in the generated documentation. Fix this by excluding the
bound_method.{h,cpp} files themselves.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 Documentation/Doxyfile.in | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Kieran Bingham Sept. 13, 2019, 8:17 a.m. UTC | #1
Hi Laurent

On 12/09/2019 20:57, Laurent Pinchart wrote:
> The bound method classes are not part of the public API, even though
> they need to be exposed to applications due to the Object and Signal
> template methods that use them. They are excluded from documentation
> generation through EXCLUDE_SYMBOLS, but the corresponding .h file is
> still listed in the generated documentation. Fix this by excluding the
> bound_method.{h,cpp} files themselves.

I agree we probably don't want to document this for library users to
use, but do we need to mark this in any special way to denote that this
file will be part of the ABI, or perhaps that's implied by the location
in TOP_SRCDIR/include.

Either way,

Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com>


> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
>  Documentation/Doxyfile.in | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/Doxyfile.in b/Documentation/Doxyfile.in
> index a9596c2a32d8..db939abc8319 100644
> --- a/Documentation/Doxyfile.in
> +++ b/Documentation/Doxyfile.in
> @@ -833,7 +833,9 @@ RECURSIVE              = YES
>  # Note that relative paths are relative to the directory from which doxygen is
>  # run.
>  
> -EXCLUDE                = @TOP_SRCDIR@/src/libcamera/device_enumerator_sysfs.cpp \
> +EXCLUDE                = @TOP_SRCDIR@/include/libcamera/bound_method.h \
> +			 @TOP_SRCDIR@/src/libcamera/bound_method.cpp \
> +			 @TOP_SRCDIR@/src/libcamera/device_enumerator_sysfs.cpp \
>  			 @TOP_SRCDIR@/src/libcamera/device_enumerator_udev.cpp \
>  			 @TOP_SRCDIR@/src/libcamera/include/device_enumerator_sysfs.h \
>  			 @TOP_SRCDIR@/src/libcamera/include/device_enumerator_udev.h \
>
Laurent Pinchart Sept. 13, 2019, 9:17 a.m. UTC | #2
Hi Kieran,

On Fri, Sep 13, 2019 at 09:17:01AM +0100, Kieran Bingham wrote:
> On 12/09/2019 20:57, Laurent Pinchart wrote:
> > The bound method classes are not part of the public API, even though
> > they need to be exposed to applications due to the Object and Signal
> > template methods that use them. They are excluded from documentation
> > generation through EXCLUDE_SYMBOLS, but the corresponding .h file is
> > still listed in the generated documentation. Fix this by excluding the
> > bound_method.{h,cpp} files themselves.
> 
> I agree we probably don't want to document this for library users to
> use, but do we need to mark this in any special way to denote that this
> file will be part of the ABI, or perhaps that's implied by the location
> in TOP_SRCDIR/include.

I think the location guarantees it, yes. My plan is to actually make the
bound methods part of the public API, as they can be useful, but for
that I need to refactor them to fix a few issues. As that's a low
priority task I decided to drop them from the documentation for now.

> Either way,
> 
> Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> 
> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > ---
> >  Documentation/Doxyfile.in | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> > 
> > diff --git a/Documentation/Doxyfile.in b/Documentation/Doxyfile.in
> > index a9596c2a32d8..db939abc8319 100644
> > --- a/Documentation/Doxyfile.in
> > +++ b/Documentation/Doxyfile.in
> > @@ -833,7 +833,9 @@ RECURSIVE              = YES
> >  # Note that relative paths are relative to the directory from which doxygen is
> >  # run.
> >  
> > -EXCLUDE                = @TOP_SRCDIR@/src/libcamera/device_enumerator_sysfs.cpp \
> > +EXCLUDE                = @TOP_SRCDIR@/include/libcamera/bound_method.h \
> > +			 @TOP_SRCDIR@/src/libcamera/bound_method.cpp \
> > +			 @TOP_SRCDIR@/src/libcamera/device_enumerator_sysfs.cpp \
> >  			 @TOP_SRCDIR@/src/libcamera/device_enumerator_udev.cpp \
> >  			 @TOP_SRCDIR@/src/libcamera/include/device_enumerator_sysfs.h \
> >  			 @TOP_SRCDIR@/src/libcamera/include/device_enumerator_udev.h \
> >

Patch

diff --git a/Documentation/Doxyfile.in b/Documentation/Doxyfile.in
index a9596c2a32d8..db939abc8319 100644
--- a/Documentation/Doxyfile.in
+++ b/Documentation/Doxyfile.in
@@ -833,7 +833,9 @@  RECURSIVE              = YES
 # Note that relative paths are relative to the directory from which doxygen is
 # run.
 
-EXCLUDE                = @TOP_SRCDIR@/src/libcamera/device_enumerator_sysfs.cpp \
+EXCLUDE                = @TOP_SRCDIR@/include/libcamera/bound_method.h \
+			 @TOP_SRCDIR@/src/libcamera/bound_method.cpp \
+			 @TOP_SRCDIR@/src/libcamera/device_enumerator_sysfs.cpp \
 			 @TOP_SRCDIR@/src/libcamera/device_enumerator_udev.cpp \
 			 @TOP_SRCDIR@/src/libcamera/include/device_enumerator_sysfs.h \
 			 @TOP_SRCDIR@/src/libcamera/include/device_enumerator_udev.h \