{"id":16935,"url":"https://patchwork.libcamera.org/api/covers/16935/?format=json","web_url":"https://patchwork.libcamera.org/cover/16935/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20220803112150.3040287-1-paul.elder@ideasonboard.com>","date":"2022-08-03T11:21:41","name":"[libcamera-devel,0/9] utils: ipc: Add support for enums and Flags","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/?format=json","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/cover/16935/mbox/","series":[{"id":3367,"url":"https://patchwork.libcamera.org/api/series/3367/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=3367","date":"2022-08-03T11:21:41","name":"utils: ipc: Add support for enums and Flags","version":1,"mbox":"https://patchwork.libcamera.org/series/3367/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/16935/comments/","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 9B910BE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  3 Aug 2022 11:22:02 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id DC6C463310;\n\tWed,  3 Aug 2022 13:22:01 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 932C7603E6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  3 Aug 2022 13:22:00 +0200 (CEST)","from pyrite.rasen.tech (h175-177-042-159.catv02.itscom.jp\n\t[175.177.42.159])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 41E8C8B;\n\tWed,  3 Aug 2022 13:21:59 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1659525721;\n\tbh=cVOAun//LkjUC3gUiuCTYTt527eQUMI0J22w5lLEWig=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=dgc/QjE5Dp/NwW6KaDvigMsFI2bwFQzKl7HYoOqgxJm9cW8j6+H6e5CmeZ6RNAyNZ\n\tSfYhGOXYMqpfTMgFgyg/OIYtKZJqOeUQL65R9MrIeqCnwRpck25zD8bKa5hRvk+iLB\n\tIjZXeAjhEdtN9Klzg2j01rs+IzRepOfc9xinogfYLKD7P2xRTIQrkKoyAzMEFi5Q3N\n\tG/ESjE5H+uOzotOcMaV6vK7Y7aopBLwi/s1iFdNOn8ru/mNqxob/st/Cx8g2EwkfoQ\n\txnr/34O9lLBmFagaLAgtD5c3fPrFVAGHWPhh1naKoYbYvIheFB+x2aCf6q5wiOlRBa\n\tI1xzlmGFoQMOg==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1659525720;\n\tbh=cVOAun//LkjUC3gUiuCTYTt527eQUMI0J22w5lLEWig=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=l0u/pTPz14G0gxlmpYJ+66ryH5gwMVGSnL+aTAvaItExNUtZszUWdueuMyqsjKnvf\n\tL+P6xVR6tPE6vh5QSzjTbVQzHH3q+JDpGrT4FLtyNm8oKRQSUQ/VjRSFSgpI6lamqE\n\tf06VaTkfrydLJSfjSnjJJT/2btRYdCpoX0KVux3g="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"l0u/pTPz\"; dkim-atps=neutral","To":"libcamera-devel@lists.libcamera.org","Date":"Wed,  3 Aug 2022 20:21:41 +0900","Message-Id":"<20220803112150.3040287-1-paul.elder@ideasonboard.com>","X-Mailer":"git-send-email 2.30.2","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH 0/9] utils: ipc: Add support for enums and\n\tFlags","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Paul Elder via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Paul Elder <paul.elder@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"This patch series adds support for enums in function parameters, and\nFlags all-around.\n\n\"all-around\" does happen to exclude direction function return values,\nthough.\n\nPatches 1~2 touch enums, where the first patch adds a test for current\nenum support that hasn't been tested before, and the second actually\nadds support for enums in function parameters.\n\nPatches 3~7 add support for Flags.\n\nPatches 8 and 9 extend vimc to have dummy function parameters that are\nenums and Flags to test enums and Flags as function parameters. On one\nhand I want these to be included so that we can continue to have tests\nfor function parameters, but I'm not sure that those patches are the\nbest implementation.\n\nPaul Elder (9):\n  test: generated_serializer: Test enum that is struct member\n  utils: ipc: Add support for enums in function parameters\n  libcamera: flags: Add friend class IPADataSerializer\n  libcamera: ipa_data_serializer: Add serializer for Flags\n  libcamera: ipa_interface: Include flags.h\n  utils: ipc: Add support for Flags\n  test: generated_serializer: Test Flags that is struct member\n  [TEST] ipa: vimc: Add IPAOperationCode to init() parameter list\n  [TEST] ipa: vimc: Add Flags to parameters\n\n include/libcamera/base/flags.h                |  3 ++\n .../libcamera/internal/ipa_data_serializer.h  | 48 +++++++++++++++++++\n include/libcamera/ipa/ipa_interface.h         |  1 +\n include/libcamera/ipa/vimc.mojom              | 13 ++++-\n src/ipa/vimc/vimc.cpp                         | 23 +++++++--\n src/libcamera/pipeline/vimc/vimc.cpp          | 16 +++++--\n test/ipa/ipa_interface_test.cpp               |  6 ++-\n .../generated_serializer_test.cpp             | 23 +++++++++\n .../include/libcamera/ipa/test.mojom          |  9 ++++\n .../core_ipa_interface.h.tmpl                 |  4 ++\n .../definition_functions.tmpl                 | 13 +++++\n .../module_ipa_interface.h.tmpl               |  4 ++\n .../libcamera_templates/proxy_functions.tmpl  | 17 ++++++-\n .../libcamera_templates/serializer.tmpl       |  4 ++\n .../generators/mojom_libcamera_generator.py   | 35 +++++++++++++-\n 15 files changed, 206 insertions(+), 13 deletions(-)"}