{"id":20790,"url":"https://patchwork.libcamera.org/api/1.1/patches/20790/?format=json","web_url":"https://patchwork.libcamera.org/patch/20790/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/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":"<20240805143654.20870-5-laurent.pinchart@ideasonboard.com>","date":"2024-08-05T14:36:40","name":"[v5,04/18] libcamera: Mark internal parts of public classes with \\internal","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"01c8ef07ae2d2937f0cf8ee1e44b51d7ac9f90c5","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/1.1/people/2/?format=json","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/20790/mbox/","series":[{"id":4488,"url":"https://patchwork.libcamera.org/api/1.1/series/4488/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4488","date":"2024-08-05T14:36:36","name":"Split libcamera documentation in public and internal APIs","version":5,"mbox":"https://patchwork.libcamera.org/series/4488/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/20790/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/20790/checks/","tags":{},"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 074D0C323E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  5 Aug 2024 14:37:35 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 7351C633B9;\n\tMon,  5 Aug 2024 16:37:34 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1A3D663386\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  5 Aug 2024 16:37:23 +0200 (CEST)","from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 8BFD2A06\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  5 Aug 2024 16:36:31 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"hpO/DXGt\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1722868591;\n\tbh=DSjImp16/qyyNEhA0qPrSOR3ms+J6zDVNNC+1fBP95A=;\n\th=From:To:Subject:Date:In-Reply-To:References:From;\n\tb=hpO/DXGtCagZEmWsYxZ+SmXc4hpyemRv63uwi6enJQuJLsfFx9KnBlqEzn36nTMnw\n\tPmZf3kxCDKIdosYo9tEf6Qo6RMjtXzFMhbcCVhsuyceYJEN2qA48EyY6Xyj5r0hXct\n\twNRwViUKHb912weNpUZ4qTNkEDg08gh6OiBxHgzU=","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Subject":"[PATCH v5 04/18] libcamera: Mark internal parts of public classes\n\twith \\internal","Date":"Mon,  5 Aug 2024 17:36:40 +0300","Message-ID":"<20240805143654.20870-5-laurent.pinchart@ideasonboard.com>","X-Mailer":"git-send-email 2.44.2","In-Reply-To":"<20240805143654.20870-1-laurent.pinchart@ideasonboard.com>","References":"<20240805143654.20870-1-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","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>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"The libcamera public API exposes classes that have parts considered\ninternal. They inherit the Extensible class, and their internal parts\nare split into a Private class. Those classes are defined in public API\nheaders, and their Private counterparts are defined in internal headers\nsharing a common file name (in a different directory). Both headers are\ndocumented in the same source file.\n\nFor instance, include/libcamera/camera.h contains the public API of the\nCamera class, and include/libcamera/internal/camera.h its internal\ncounterpart. Both are documented in src/libcamera/camera.cpp.\n\nAs the internal headers are not part of the public API, they need to be\nhidden from the future public API builds. To prepare for doing so, mark\nthem with the \\internal Doxygen directive. Hardcode the Doxygen\nINTERNAL_DOCS option to YES to include the internal API. This will be\nchanged later for the public API documentation build.\n\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n Documentation/Doxyfile.in        | 1 +\n src/libcamera/camera.cpp         | 1 +\n src/libcamera/camera_manager.cpp | 1 +\n src/libcamera/framebuffer.cpp    | 5 ++++-\n src/libcamera/request.cpp        | 1 +\n 5 files changed, 8 insertions(+), 1 deletion(-)","diff":"diff --git a/Documentation/Doxyfile.in b/Documentation/Doxyfile.in\nindex abafcf6c6c66..62e63968ce62 100644\n--- a/Documentation/Doxyfile.in\n+++ b/Documentation/Doxyfile.in\n@@ -17,6 +17,7 @@ EXTENSION_MAPPING      = h=C++\n \n TOC_INCLUDE_HEADINGS   = 0\n \n+INTERNAL_DOCS          = YES\n CASE_SENSE_NAMES       = YES\n \n QUIET                  = YES\ndiff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp\nindex f89510ea0472..3c8f30d54401 100644\n--- a/src/libcamera/camera.cpp\n+++ b/src/libcamera/camera.cpp\n@@ -118,6 +118,7 @@\n  */\n \n /**\n+ * \\internal\n  * \\file libcamera/internal/camera.h\n  * \\brief Internal camera device handling\n  */\ndiff --git a/src/libcamera/camera_manager.cpp b/src/libcamera/camera_manager.cpp\nindex 95a9e3264526..5a21132a08c2 100644\n--- a/src/libcamera/camera_manager.cpp\n+++ b/src/libcamera/camera_manager.cpp\n@@ -23,6 +23,7 @@\n  */\n \n /**\n+ * \\internal\n  * \\file libcamera/internal/camera_manager.h\n  * \\brief Internal camera manager support\n  */\ndiff --git a/src/libcamera/framebuffer.cpp b/src/libcamera/framebuffer.cpp\nindex 63d679cb504d..f39db1223432 100644\n--- a/src/libcamera/framebuffer.cpp\n+++ b/src/libcamera/framebuffer.cpp\n@@ -16,7 +16,10 @@\n /**\n  * \\file libcamera/framebuffer.h\n  * \\brief Frame buffer handling\n- *\n+ */\n+\n+/**\n+ * \\internal\n  * \\file libcamera/internal/framebuffer.h\n  * \\brief Internal frame buffer handling support\n  */\ndiff --git a/src/libcamera/request.cpp b/src/libcamera/request.cpp\nindex fdf12c1e9088..24fa3a57312e 100644\n--- a/src/libcamera/request.cpp\n+++ b/src/libcamera/request.cpp\n@@ -29,6 +29,7 @@\n  */\n \n /**\n+ * \\internal\n  * \\file libcamera/internal/request.h\n  * \\brief Internal support for request handling\n  */\n","prefixes":["v5","04/18"]}