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

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

Message

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

"all-around" does happen to exclude direction 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~7 add support for Flags.

Patches 8 and 9 extend vimc to have dummy function parameters that are
enums and Flags to test enums and Flags as function parameters. On one
hand I want these to be included so that we can continue to have tests
for function parameters, but I'm not sure that those patches are the
best implementation.

Paul Elder (9):
  test: generated_serializer: Test enum that is struct member
  utils: ipc: Add support for enums in function parameters
  libcamera: flags: Add friend class IPADataSerializer
  libcamera: ipa_data_serializer: Add serializer for Flags
  libcamera: ipa_interface: Include flags.h
  utils: ipc: Add support for Flags
  test: generated_serializer: Test Flags that is struct member
  [TEST] ipa: vimc: Add IPAOperationCode to init() parameter list
  [TEST] ipa: vimc: Add Flags to parameters

 include/libcamera/base/flags.h                |  3 ++
 .../libcamera/internal/ipa_data_serializer.h  | 48 +++++++++++++++++++
 include/libcamera/ipa/ipa_interface.h         |  1 +
 include/libcamera/ipa/vimc.mojom              | 13 ++++-
 src/ipa/vimc/vimc.cpp                         | 23 +++++++--
 src/libcamera/pipeline/vimc/vimc.cpp          | 16 +++++--
 test/ipa/ipa_interface_test.cpp               |  6 ++-
 .../generated_serializer_test.cpp             | 23 +++++++++
 .../include/libcamera/ipa/test.mojom          |  9 ++++
 .../core_ipa_interface.h.tmpl                 |  4 ++
 .../definition_functions.tmpl                 | 13 +++++
 .../module_ipa_interface.h.tmpl               |  4 ++
 .../libcamera_templates/proxy_functions.tmpl  | 17 ++++++-
 .../libcamera_templates/serializer.tmpl       |  4 ++
 .../generators/mojom_libcamera_generator.py   | 35 +++++++++++++-
 15 files changed, 206 insertions(+), 13 deletions(-)