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

Stefan Klug stefan.klug at ideasonboard.com
Fri Apr 12 10:45:30 CEST 2024


Hi Paul,

thanks for the patch.

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 -%}


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

Cheers,
Stefan


> -- 
> 2.39.2
> 


More information about the libcamera-devel mailing list