[libcamera-devel,v4,0/7] utils: ipc: Add support for enums and Flags
mbox series

Message ID 20220829233017.2699444-1-paul.elder@ideasonboard.com
Headers show
Series
  • utils: ipc: Add support for enums and Flags
Related show

Message

Paul Elder Aug. 29, 2022, 11:30 p.m. UTC
This patch series adds support for enums in function parameters, and
Flags all-around.

"all-around" does happen to exclude direct function return values,
though.

Patches 1~2 touch enums, where the first patch adds a test for current
enum support that hasn't been tested before, and the second actually
adds support for enums in function parameters.

Patches 3~4 add support for Flags, and 5 adds a test for it.

Patches 6 and 7 extend vimc to have dummy function parameters that are
enums and Flags to test enums and Flags as function parameters.

v4 is mostly the same as v3/v3.1, just with flags being passed by value
instead of const reference, and removing "[TEST]" from the last two
patches. Mostly ready to push; just sending this just in case.

Paul Elder (7):
  test: generated_serializer: Test enum that is struct member
  utils: ipc: Add support for enums in function parameters
  libcamera: ipa_data_serializer: Add serializer for Flags
  utils: ipc: Add support for Flags
  test: generated_serializer: Test Flags that is struct member
  ipa: vimc: Add IPAOperationCode to init() parameter list
  ipa: vimc: Add Flags to parameters

 .../libcamera/internal/ipa_data_serializer.h  | 46 +++++++++++++++++++
 include/libcamera/ipa/core.mojom              |  9 ++++
 include/libcamera/ipa/ipa_interface.h         |  1 +
 include/libcamera/ipa/vimc.mojom              | 14 +++++-
 src/ipa/vimc/vimc.cpp                         | 22 +++++++--
 src/libcamera/pipeline/vimc/vimc.cpp          | 15 ++++--
 test/ipa/ipa_interface_test.cpp               |  6 ++-
 .../generated_serializer_test.cpp             | 23 ++++++++++
 .../include/libcamera/ipa/test.mojom          |  9 ++++
 .../definition_functions.tmpl                 |  2 +-
 .../module_ipa_interface.h.tmpl               |  2 +-
 .../module_ipa_proxy.h.tmpl                   |  2 +-
 .../libcamera_templates/proxy_functions.tmpl  | 20 +++++++-
 .../libcamera_templates/serializer.tmpl       |  4 ++
 .../generators/mojom_libcamera_generator.py   | 29 ++++++++++--
 15 files changed, 187 insertions(+), 17 deletions(-)