[{"id":2228,"web_url":"https://patchwork.libcamera.org/comment/2228/","msgid":"<20190712062656.GC4831@pendragon.ideasonboard.com>","date":"2019-07-12T06:26:56","subject":"Re: [libcamera-devel] [PATCH v4 2/8] libcamera: ipa_module: add\n\tisOpenSource","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Paul,\n\nThank you for the patch.\n\nOn Fri, Jul 12, 2019 at 03:50:41AM +0900, Paul Elder wrote:\n> Add a method to IPAModule to check if the module is open source.\n> This uses the license field of the member IPAModuleInfo.\n> \n> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>\n> ---\n> New in v4\n> \n>  src/libcamera/include/ipa_module.h |  2 ++\n>  src/libcamera/ipa_module.cpp       | 23 +++++++++++++++++++++++\n>  2 files changed, 25 insertions(+)\n> \n> diff --git a/src/libcamera/include/ipa_module.h b/src/libcamera/include/ipa_module.h\n> index b88ae5d..18e9223 100644\n> --- a/src/libcamera/include/ipa_module.h\n> +++ b/src/libcamera/include/ipa_module.h\n> @@ -35,6 +35,8 @@ public:\n>  \tbool match(PipelineHandler *pipe,\n>  \t\t   uint32_t minVersion, uint32_t maxVersion) const;\n>  \n> +\tbool isOpenSource() const;\n> +\n>  private:\n>  \tstruct IPAModuleInfo info_;\n>  \n> diff --git a/src/libcamera/ipa_module.cpp b/src/libcamera/ipa_module.cpp\n> index 9cead71..788915e 100644\n> --- a/src/libcamera/ipa_module.cpp\n> +++ b/src/libcamera/ipa_module.cpp\n> @@ -7,6 +7,7 @@\n>  \n>  #include \"ipa_module.h\"\n>  \n> +#include <algorithm>\n>  #include <dlfcn.h>\n>  #include <elf.h>\n>  #include <errno.h>\n> @@ -469,4 +470,26 @@ bool IPAModule::match(PipelineHandler *pipe,\n>  \t       !strcmp(info_.pipelineName, pipe->name());\n>  }\n>  \n> +/**\n> + * \\brief Verify if the IPA module is open source\n> + *\n> + * \\sa IPAModuleInfo::license\n> + */\n> +bool IPAModule::isOpenSource() const\n> +{\n> +\tstatic std::vector<const char *> osLicenses = {\n\nstd::array would be cheaper than std::vector. With that fixed,\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> +\t\t\"GPL-2.0-only\",\n> +\t\t\"GPL-2.0-or-later\",\n> +\t\t\"GPL-3.0-only\",\n> +\t\t\"GPL-3.0-or-later\",\n> +\t\t\"LGPL-2.1-only\",\n> +\t\t\"LGPL-2.1-or-later\",\n> +\t\t\"LGPL-3.0-only\",\n> +\t\t\"LGPL-3.0-or-later\",\n> +\t};\n> +\n> +\treturn std::find(osLicenses.begin(), osLicenses.end(), info_.license)\n> +\t       != osLicenses.end();\n> +}\n> +\n>  } /* namespace libcamera */","headers":{"Return-Path":"<laurent.pinchart@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 076ED60BC8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 12 Jul 2019 08:27:25 +0200 (CEST)","from pendragon.ideasonboard.com (softbank126209254147.bbtec.net\n\t[126.209.254.147])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 818112B2;\n\tFri, 12 Jul 2019 08:27:23 +0200 (CEST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1562912844;\n\tbh=Dj4SZL9W9gj8/d7GMAgByDScOk3SN/cnXkmsw4HyWxY=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=HyVrw1l7+6QW4N5Aau1SElkCiJGRIisoDzUIxjfHpxF9qVQ+vQCq6MwCKeTtV+Orb\n\tBF4TIZWjPxMwgu08P+h9/4rOlsV0gJkxAAOWx2zGPQRDGR57kMSRICjDxcKSFPipKX\n\tFl/Vq1f5VN85M9PJm+NtRl0CYaPQVLCmRSpnMPRA=","Date":"Fri, 12 Jul 2019 09:26:56 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Paul Elder <paul.elder@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Message-ID":"<20190712062656.GC4831@pendragon.ideasonboard.com>","References":"<20190711185047.11671-1-paul.elder@ideasonboard.com>\n\t<20190711185047.11671-3-paul.elder@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20190711185047.11671-3-paul.elder@ideasonboard.com>","User-Agent":"Mutt/1.10.1 (2018-07-13)","Subject":"Re: [libcamera-devel] [PATCH v4 2/8] libcamera: ipa_module: add\n\tisOpenSource","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.23","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>","X-List-Received-Date":"Fri, 12 Jul 2019 06:27:25 -0000"}}]