summaryrefslogtreecommitdiff
path: root/src/libcamera/ipa_module.cpp
diff options
context:
space:
mode:
authorPaul Elder <paul.elder@ideasonboard.com>2019-06-05 17:11:10 -0400
committerPaul Elder <paul.elder@ideasonboard.com>2019-07-12 15:52:30 +0900
commitdfc9a8db0921d7af1a0ebf958127853965000732 (patch)
tree6d239b85460352eddb6eccc07037b08af75b655c /src/libcamera/ipa_module.cpp
parenta25c937f8afee766d3001c488a19acc9a8aac2dd (diff)
libcamera: ipa_module_info: add license field
Add a field to IPAModuleInfo to contain the license of the module. This license field will be used to determine whether the IPA module should be run in an isolated process or not. If the license is open source, then the IPA module will be allowed to run without process isolation, if the user enables it. If the license is not open source, then the IPA module will be run with process isolation. Update the dummy IPA and IPA test to conform to the new struct layout. Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/libcamera/ipa_module.cpp')
-rw-r--r--src/libcamera/ipa_module.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/libcamera/ipa_module.cpp b/src/libcamera/ipa_module.cpp
index d2e3c366..9cead715 100644
--- a/src/libcamera/ipa_module.cpp
+++ b/src/libcamera/ipa_module.cpp
@@ -214,6 +214,29 @@ elfLoadSymbol(void *map, size_t soSize, const char *symbol)
*
* \var IPAModuleInfo::name
* \brief The name of the IPA module
+ *
+ * \var IPAModuleInfo::license
+ * \brief License of the IPA module
+ *
+ * This license is used to determine whether to force isolation of the IPA in
+ * a separate process. If the license is "Proprietary", then the IPA will
+ * be isolated. If the license is open-source, then the IPA will be allowed to
+ * run without isolation if the user enables it. The license should be an
+ * SPDX license string. The following licenses are currently available to
+ * allow the IPA to run unisolated:
+ *
+ * - GPL-2.0-only
+ * - GPL-2.0-or-later
+ * - GPL-3.0-only
+ * - GPL-3.0-or-later
+ * - LGPL-2.1-only
+ * - LGPL-2.1-or-later
+ * - LGPL-3.0-only
+ * - LGPL-3.0-or-later
+ *
+ * Any other license will cause the IPA to be run isolated.
+ *
+ * \todo Allow user to choose to isolate open source IPAs
*/
/**