[libcamera-devel] [PATCH v4 19/37] libcamera: IPAInterface: make ipaCreate return IPAInterface

paul.elder at ideasonboard.com paul.elder at ideasonboard.com
Wed Nov 18 10:01:20 CET 2020


Hi Jacopo,

On Tue, Nov 17, 2020 at 05:23:10PM +0100, Jacopo Mondi wrote:
> Hi Paul,
> 
> On Fri, Nov 06, 2020 at 07:36:49PM +0900, Paul Elder wrote:
> > With the new IPC infrastructure, we no longer need the C interface as
> > provided by struct ipa_context. Make ipaCreate return IPAinterface.
> >
> > Signed-off-by: Paul Elder <paul.elder at ideasonboard.com>
> >
> > ---
> > No change in v4
> >
> > No change in v3
> >
> > No change in v2
> > ---
> >  include/libcamera/ipa/ipa_interface.h | 4 ++++
> >  1 file changed, 4 insertions(+)
> >
> > diff --git a/include/libcamera/ipa/ipa_interface.h b/include/libcamera/ipa/ipa_interface.h
> > index 8d4264c3..f6c40dc6 100644
> > --- a/include/libcamera/ipa/ipa_interface.h
> > +++ b/include/libcamera/ipa/ipa_interface.h
> > @@ -50,4 +50,8 @@ public:
> >
> >  } /* namespace libcamera */
> >
> > +extern "C" {
> 
> Is this to protect against C++ names manglingl and be able to load the
> symbol ?

Yep. Previously the entirety of the C interface was in the extern C, and
we had:

struct ipa_context *ipaCreate();

So in a previous patch,
"libcamera: ipa_context_wrapper: Remove ipa_context_wrapper", I removed
all the C interface. Here I bring it back to expose IPAInterface *ipaCreate();

Of course, it'll all be squashed :)

> In the case I got it right:
> Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>


Thanks,

Paul
> > +libcamera::IPAInterface *ipaCreate();
> > +}
> > +
> >  #endif /* __LIBCAMERA_IPA_INTERFACE_H__ */
> > --
> > 2.27.0
> >
> > _______________________________________________
> > libcamera-devel mailing list
> > libcamera-devel at lists.libcamera.org
> > https://lists.libcamera.org/listinfo/libcamera-devel


More information about the libcamera-devel mailing list