From 0e333755ff3a27cfab4dcd5132b0c6dfe7a209aa Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Tue, 3 Sep 2024 00:36:56 +0300 Subject: utils: ipc: Include in generated headers where needed Depending on the types used in the IPA interface, generated headers may use the std::string class. Include when needed. Signed-off-by: Laurent Pinchart Reviewed-by: Milan Zamazal --- .../ipc/generators/libcamera_templates/core_ipa_interface.h.tmpl | 1 + .../ipc/generators/libcamera_templates/module_ipa_interface.h.tmpl | 7 ++++--- utils/codegen/ipc/generators/mojom_libcamera_generator.py | 2 ++ 3 files changed, 7 insertions(+), 3 deletions(-) (limited to 'utils/codegen/ipc/generators') diff --git a/utils/codegen/ipc/generators/libcamera_templates/core_ipa_interface.h.tmpl b/utils/codegen/ipc/generators/libcamera_templates/core_ipa_interface.h.tmpl index 7f2d0810..590135b8 100644 --- a/utils/codegen/ipc/generators/libcamera_templates/core_ipa_interface.h.tmpl +++ b/utils/codegen/ipc/generators/libcamera_templates/core_ipa_interface.h.tmpl @@ -15,6 +15,7 @@ #pragma once {% if has_map %}#include {% endif %} +{% if has_string %}#include {% endif %} {% if has_array %}#include {% endif %} #include diff --git a/utils/codegen/ipc/generators/libcamera_templates/module_ipa_interface.h.tmpl b/utils/codegen/ipc/generators/libcamera_templates/module_ipa_interface.h.tmpl index 4d88a3d7..0111d0c4 100644 --- a/utils/codegen/ipc/generators/libcamera_templates/module_ipa_interface.h.tmpl +++ b/utils/codegen/ipc/generators/libcamera_templates/module_ipa_interface.h.tmpl @@ -14,12 +14,13 @@ #pragma once -#include -#include - {% if has_map %}#include {% endif %} +{% if has_string %}#include {% endif %} {% if has_array %}#include {% endif %} +#include +#include + namespace libcamera { {%- if has_namespace %} {% for ns in namespace %} diff --git a/utils/codegen/ipc/generators/mojom_libcamera_generator.py b/utils/codegen/ipc/generators/mojom_libcamera_generator.py index b8209e51..d9c620a0 100644 --- a/utils/codegen/ipc/generators/mojom_libcamera_generator.py +++ b/utils/codegen/ipc/generators/mojom_libcamera_generator.py @@ -467,6 +467,7 @@ class Generator(generator.Generator): 'enums': self.module.enums, 'has_array': len([x for x in self.module.kinds.keys() if x[0] == 'a']) > 0, 'has_map': len([x for x in self.module.kinds.keys() if x[0] == 'm']) > 0, + 'has_string': len([x for x in self.module.kinds.keys() if x[0] == 's']) > 0, 'has_namespace': self.module.mojom_namespace != '', 'interface_event': GetEventInterface(self.module.interfaces), 'interface_main': GetMainInterface(self.module.interfaces), @@ -486,6 +487,7 @@ class Generator(generator.Generator): 'enums_gen_header': [x for x in self.module.enums if x.attributes is None or 'skipHeader' not in x.attributes], 'has_array': len([x for x in self.module.kinds.keys() if x[0] == 'a']) > 0, 'has_map': len([x for x in self.module.kinds.keys() if x[0] == 'm']) > 0, + 'has_string': len([x for x in self.module.kinds.keys() if x[0] == 's']) > 0, 'structs_gen_header': [x for x in self.module.structs if x.attributes is None or 'skipHeader' not in x.attributes], 'structs_gen_serializer': [x for x in self.module.structs if x.attributes is None or 'skipSerdes' not in x.attributes], } -- cgit v1.2.1