[PATCH] utils: ipc: Fix async main interface functions with no parameters

Laurent Pinchart laurent.pinchart at ideasonboard.com
Fri Apr 12 16:32:12 CEST 2024


On Fri, Apr 12, 2024 at 10:45:30AM +0200, Stefan Klug wrote:
> On Fri, Apr 12, 2024 at 11:42:56AM +0900, Paul Elder wrote:
> > If an async main interface function is defined with no parameters, there
> > would be a compilation error complaining about an extra comma. Fix this.
> > 
> > Signed-off-by: Paul Elder <paul.elder at ideasonboard.com>
> > ---
> >  .../generators/libcamera_templates/module_ipa_proxy.cpp.tmpl   | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/utils/ipc/generators/libcamera_templates/module_ipa_proxy.cpp.tmpl b/utils/ipc/generators/libcamera_templates/module_ipa_proxy.cpp.tmpl
> > index 238cf4a5..01fe9c51 100644
> > --- a/utils/ipc/generators/libcamera_templates/module_ipa_proxy.cpp.tmpl
> > +++ b/utils/ipc/generators/libcamera_templates/module_ipa_proxy.cpp.tmpl
> > @@ -175,7 +175,8 @@ void {{proxy_name}}::recvMessage(const IPCMessage &data)
> >  );
> >  {% elif method|is_async %}
> >  	ASSERT(state_ == ProxyRunning);
> > -	proxy_.invokeMethod(&ThreadProxy::{{method.mojom_name}}, ConnectionTypeQueued,
> > +	proxy_.invokeMethod(&ThreadProxy::{{method.mojom_name}}, ConnectionTypeQueued
> > +	{%- if method|method_param_names|length > 0 -%}, {% endif -%}
> >  	{%- for param in method|method_param_names -%}
> >  		{{param}}{{- ", " if not loop.last}}
> >  	{%- endfor -%}
> 
> I did not test it, but wouldn't it be easier to place the comma before
> the param and remove the two ifs like this:
> 
> proxy_.invokeMethod(&ThreadProxy::{{method.mojom_name}}, ConnectionTypeQueued
> {%- for param in method|method_param_names -%}
>      , {{param}}
> {%- endfor -%}

This sounds better to me.

Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

for that version.

> Reviewed-by: Stefan Klug <stefan.klug at ideasonboard.com> 

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list