[{"id":18830,"web_url":"https://patchwork.libcamera.org/comment/18830/","msgid":"<44620ada-99a3-0ade-6e5b-065b2349196a@ideasonboard.com>","date":"2021-08-16T12:11:44","subject":"Re: [libcamera-devel] [PATCH v3 13/14] libcamera: pipeline_handler:\n\tDrop controls() and properties() functions","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Laurent,\n\nOn 12/08/2021 00:26, Laurent Pinchart wrote:\n> The PipelineHandler controls() and properties() functions are only used\n> by the Camera class. Now that the controls and properties are stored in\n> the Camera::Private class, we can drop those functions and access the\n> private data directly in Camera::controls() and Camera::properties().\n> \n> Suggested-by: Jacopo Mondi <jacopo@jmondi.org>\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> ---\n>  include/libcamera/internal/pipeline_handler.h |  3 ---\n>  src/libcamera/camera.cpp                      |  4 ++--\n>  src/libcamera/pipeline_handler.cpp            | 21 -------------------\n>  3 files changed, 2 insertions(+), 26 deletions(-)\n> \n> diff --git a/include/libcamera/internal/pipeline_handler.h b/include/libcamera/internal/pipeline_handler.h\n> index 1e48f7076d18..41cba44d990f 100644\n> --- a/include/libcamera/internal/pipeline_handler.h\n> +++ b/include/libcamera/internal/pipeline_handler.h\n> @@ -46,9 +46,6 @@ public:\n>  \tbool lock();\n>  \tvoid unlock();\n>  \n> -\tconst ControlInfoMap &controls(const Camera *camera) const;\n> -\tconst ControlList &properties(const Camera *camera) const;\n> -\n>  \tvirtual CameraConfiguration *generateConfiguration(Camera *camera,\n>  \t\tconst StreamRoles &roles) = 0;\n>  \tvirtual int configure(Camera *camera, CameraConfiguration *config) = 0;\n> diff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp\n> index a22cc7b8e49d..c20e05014fb9 100644\n> --- a/src/libcamera/camera.cpp\n> +++ b/src/libcamera/camera.cpp\n> @@ -800,7 +800,7 @@ int Camera::release()\n>   */\n>  const ControlInfoMap &Camera::controls() const\n>  {\n> -\treturn _d()->pipe_->controls(this);\n> +\treturn _d()->controlInfo_;\n>  }\n>  \n>  /**\n> @@ -813,7 +813,7 @@ const ControlInfoMap &Camera::controls() const\n>   */\n>  const ControlList &Camera::properties() const\n>  {\n> -\treturn _d()->pipe_->properties(this);\n> +\treturn _d()->properties_;\n>  }\n>  \n>  /**\n> diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp\n> index 62d29cbeff02..597d4c6a578a 100644\n> --- a/src/libcamera/pipeline_handler.cpp\n> +++ b/src/libcamera/pipeline_handler.cpp\n> @@ -176,27 +176,6 @@ void PipelineHandler::unlock()\n>  \t\tmedia->unlock();\n>  }\n>  \n> -/**\n> - * \\brief Retrieve the list of controls for a camera\n> - * \\param[in] camera The camera\n> - * \\context This function is \\threadsafe.\n> - * \\return A ControlInfoMap listing the controls support by \\a camera\n> - */\n> -const ControlInfoMap &PipelineHandler::controls(const Camera *camera) const\n> -{\n> -\treturn camera->_d()->controlInfo_;\n> -}\n> -\n> -/**\n> - * \\brief Retrieve the list of properties for a camera\n> - * \\param[in] camera The camera\n> - * \\return A ControlList of properties supported by \\a camera\n> - */\n> -const ControlList &PipelineHandler::properties(const Camera *camera) const\n> -{\n> -\treturn camera->_d()->properties_;\n> -}\n> -\n>  /**\n>   * \\fn PipelineHandler::generateConfiguration()\n>   * \\brief Generate a camera configuration for a specified camera\n>","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 C2204BD87D\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 16 Aug 2021 12:11:49 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3625D68893;\n\tMon, 16 Aug 2021 14:11:49 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 8128E6025D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 16 Aug 2021 14:11:47 +0200 (CEST)","from [192.168.0.20]\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id F10133F1;\n\tMon, 16 Aug 2021 14:11:46 +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=\"PHCqrJ3R\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1629115907;\n\tbh=geEWjCkrUaBY1Hkp/7ivfQE4gd9atx+OV9GHbQX2Auw=;\n\th=Subject:To:References:From:Date:In-Reply-To:From;\n\tb=PHCqrJ3RIY2E6nAl9nVqgO4KJZHTKm39Qft0SjLUIxUpbloDe7JZLjKzZV5zpWyIm\n\tXIZ5xaCY5YG3pZyZfh5nRNGnJi3p91X2Y8xcbW1G48BSVvtkOu19/S5xDOw0bDPd80\n\tebfX79FP2zE0hpFhXARjsW/+FKhwEJY/wlv/9oMk=","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20210811232625.17280-1-laurent.pinchart@ideasonboard.com>\n\t<20210811232625.17280-14-laurent.pinchart@ideasonboard.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<44620ada-99a3-0ade-6e5b-065b2349196a@ideasonboard.com>","Date":"Mon, 16 Aug 2021 13:11:44 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101\n\tThunderbird/78.11.0","MIME-Version":"1.0","In-Reply-To":"<20210811232625.17280-14-laurent.pinchart@ideasonboard.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-GB","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH v3 13/14] libcamera: pipeline_handler:\n\tDrop controls() and properties() functions","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>"}}]