[{"id":25297,"web_url":"https://patchwork.libcamera.org/comment/25297/","msgid":"<4105915c-1040-f402-e46a-d6e56202e758@oss.nxp.com>","date":"2022-10-05T11:09:09","subject":"Re: [libcamera-devel] [PATCH 5/8] libcamera: pipeline_handler: Make\n\tfactory create() function const","submitter":{"id":107,"url":"https://patchwork.libcamera.org/api/people/107/","name":"Xavier Roumegue","email":"xavier.roumegue@oss.nxp.com"},"content":"Hi Laurent,\n\nThanks for the patch.\n\nOn 10/3/22 23:21, Laurent Pinchart via libcamera-devel wrote:\n> The PipelineHandlerFactory::create() function has no need to modify the\n> factory instance. Make it const, as well as the createInstance()\n> function.\n> \n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> ---\n>   include/libcamera/internal/pipeline_handler.h | 6 +++---\n>   src/libcamera/pipeline_handler.cpp            | 4 ++--\n>   2 files changed, 5 insertions(+), 5 deletions(-)\n> \n> diff --git a/include/libcamera/internal/pipeline_handler.h b/include/libcamera/internal/pipeline_handler.h\n> index 20f1cbb07fea..46df69dc789a 100644\n> --- a/include/libcamera/internal/pipeline_handler.h\n> +++ b/include/libcamera/internal/pipeline_handler.h\n> @@ -104,7 +104,7 @@ public:\n>   \tPipelineHandlerFactory(const char *name);\n>   \tvirtual ~PipelineHandlerFactory() = default;\n>   \n> -\tstd::shared_ptr<PipelineHandler> create(CameraManager *manager);\n> +\tstd::shared_ptr<PipelineHandler> create(CameraManager *manager) const;\n>   \n>   \tconst std::string &name() const { return name_; }\n>   \n> @@ -112,7 +112,7 @@ public:\n>   \tstatic std::vector<PipelineHandlerFactory *> &factories();\n>   \n>   private:\n> -\tvirtual PipelineHandler *createInstance(CameraManager *manager) = 0;\n> +\tvirtual PipelineHandler *createInstance(CameraManager *manager) const = 0;\n>   \n>   \tstd::string name_;\n>   };\n> @@ -124,7 +124,7 @@ public:\t\t\t\t\t\t\t\t\t\\\n>   \thandler##Factory() : PipelineHandlerFactory(#handler) {}\t\\\n>   \t\t\t\t\t\t\t\t\t\\\n>   private:\t\t\t\t\t\t\t\t\\\n> -\tPipelineHandler *createInstance(CameraManager *manager)\t\t\\\n> +\tPipelineHandler *createInstance(CameraManager *manager) const\t\\\n>   \t{\t\t\t\t\t\t\t\t\\\n>   \t\treturn new handler(manager);\t\t\t\t\\\n>   \t}\t\t\t\t\t\t\t\t\\\n> diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp\n> index e5cb751cc743..4470e9041e8e 100644\n> --- a/src/libcamera/pipeline_handler.cpp\n> +++ b/src/libcamera/pipeline_handler.cpp\n> @@ -676,7 +676,7 @@ PipelineHandlerFactory::PipelineHandlerFactory(const char *name)\n>    * \\return A shared pointer to a new instance of the PipelineHandler subclass\n>    * corresponding to the factory\n>    */\n> -std::shared_ptr<PipelineHandler> PipelineHandlerFactory::create(CameraManager *manager)\n> +std::shared_ptr<PipelineHandler> PipelineHandlerFactory::create(CameraManager *manager) const\n>   {\n>   \tPipelineHandler *handler = createInstance(manager);\n>   \thandler->name_ = name_.c_str();\n> @@ -719,7 +719,7 @@ std::vector<PipelineHandlerFactory *> &PipelineHandlerFactory::factories()\n>   }\n>   \n>   /**\n> - * \\fn PipelineHandlerFactory::createInstance()\n> + * \\fn PipelineHandlerFactory::createInstance() const\n>    * \\brief Create an instance of the PipelineHandler corresponding to the factory\n>    * \\param[in] manager The camera manager\n>    *\n\n\nReviewed-by: Xavier Roumegue <xavier.roumegue@oss.nxp.com>","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 31A3AC0DA4\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  5 Oct 2022 11:09:14 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id DCF09622E8;\n\tWed,  5 Oct 2022 13:09:13 +0200 (CEST)","from EUR05-AM6-obe.outbound.protection.outlook.com\n\t(mail-am6eur05on2048.outbound.protection.outlook.com [40.107.22.48])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id ACCEB621BC\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  5 Oct 2022 13:09:12 +0200 (CEST)","from PAXPR04MB8703.eurprd04.prod.outlook.com\n\t(2603:10a6:102:21e::22)\n\tby DBBPR04MB7660.eurprd04.prod.outlook.com (2603:10a6:10:20f::11)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.28;\n\tWed, 5 Oct 2022 11:09:10 +0000","from PAXPR04MB8703.eurprd04.prod.outlook.com\n\t([fe80::4f72:a35a:8c60:63f1]) by\n\tPAXPR04MB8703.eurprd04.prod.outlook.com\n\t([fe80::4f72:a35a:8c60:63f1%6]) with mapi id 15.20.5676.028;\n\tWed, 5 Oct 2022 11:09:10 +0000"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1664968153;\n\tbh=HPHCoeexF1IZO37jIayssDcrIjRbOXs5rJrja+/QzDk=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=zxu/xo2bZXC6J/rzWeEHcgQZDCFU49B/59dOCLhtUTT2Paw3SbXNiIMyyqe23Omnd\n\tseG9QBZwi8S3DsTEOAe9AZxwLLHW9kXhJ+8LO61PaxDAcOmIGhLljemt3W/uniinQn\n\tE9JETKu+r6+cubrzJjebX82yTycPk4z1OySuJ3kuywNaG/Tn7l1yi/e+KCKmePwZWj\n\tgcHX90utPqNSka4GFZSwhygBqpyo9q9ZMe6WXHaj57tDZV0slyljNxNjtyZlRRFwYO\n\tmrbZ7qct+ki/uiKz3qrrLFXo8T4VvFe/IBUAfSB8ScyvUzY8IsgBqOKs8JQ9owJ72z\n\tFUBU8ftQow93Q==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;\n\ts=selector2-NXP1-onmicrosoft-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=okR8qKFyQLFc0NTay0v7eA1I0wI+9t5QzCvjHzXbjKM=;\n\tb=lZ//0tXL/IBzQ/jHjzu5EJZhJuGF1RHCsj6mNUxFQigan7rpt4kjBHqAUbi3PCiAM//tN1BMoRr/PzRpOgung1ENJWbffJ64ZYg2MBaZ2fPUs99cpjJv9i3OnDI8xCR1sbQIE1NJ3CbRrK2CnFCfujNnix2lSgsfOiCytHEAxeM="],"Authentication-Results":["lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=NXP1.onmicrosoft.com\n\theader.i=@NXP1.onmicrosoft.com\n\theader.b=\"lZ//0tXL\"; dkim-atps=neutral","dkim=none (message not signed)\n\theader.d=none;dmarc=none action=none header.from=oss.nxp.com;"],"ARC-Seal":"i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n\tb=Qj+yaownbC32ykN+dz6EBOFN+UzBjgV00mkcXtvlRWyFwzQg5Zg6DeKr8JDw036JAj8eOIRpzEiB5SpJfuijHzKZPnJNi8ePnp735s9hJEO/WAQ1Ml1dVBTBx+elxo3fsYvTNkWfbAZ+EldiNjeIQFVy/ON9zLRs7D4+Odwt+fKgsZayPuS1t/aZl5QTujlYnxm5Yfq6zqQPUTx5kLT5MxiP40iKGuL3OyiuVpWiRhGsA/ktASMslsl8Kzhrb2L5PL239qqQm+wH/XlCEJzBNIysxwnQNZ4WTSzlJVF7m4yuvguY+H4RmvRJ3y3pohiul9lcV2bPfmizuWpG+JgnRQ==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n\ts=arcselector9901;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n\tbh=okR8qKFyQLFc0NTay0v7eA1I0wI+9t5QzCvjHzXbjKM=;\n\tb=mhyFhIEylkN6utIGdrI8LpK0u4pWzGm+SIeI98SBBtVF9ByYkj4kxCeQEAqbqNChWi8/jo9SdzeqvJ+Y5z7+XpRSSKAYOGvk+zVsnuKJaLOzPPbyI61L12PJ55jBEjzepN8jILDUkkxikOJaDqMyXxVACH9dDTJH9UGzcp6F1JzGlI/m/EqY5l6VF+InrHZ0GZk4v1oY820XPmH9po6VP+x4iV35giABAjgjlZiDz2hJadHHyf4N17UFmo7ahzT2qEzlr0bnRXNpg33PxSjPzWQSlsV9mx7RTm2zVVbces23rVbf82PqqHCTyi1rEvfPNxmWOT50Gh8fIT180fmaeg==","ARC-Authentication-Results":"i=1; mx.microsoft.com 1; spf=pass\n\tsmtp.mailfrom=oss.nxp.com;\n\tdmarc=pass action=none header.from=oss.nxp.com; \n\tdkim=pass header.d=oss.nxp.com; arc=none","Message-ID":"<4105915c-1040-f402-e46a-d6e56202e758@oss.nxp.com>","Date":"Wed, 5 Oct 2022 13:09:09 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101\n\tThunderbird/102.3.1","Content-Language":"en-US, fr","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20221003212128.32429-1-laurent.pinchart@ideasonboard.com>\n\t<20221003212128.32429-6-laurent.pinchart@ideasonboard.com>","In-Reply-To":"<20221003212128.32429-6-laurent.pinchart@ideasonboard.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","X-ClientProxiedBy":"PAZP264CA0235.FRAP264.PROD.OUTLOOK.COM\n\t(2603:10a6:102:238::16) To PAXPR04MB8703.eurprd04.prod.outlook.com\n\t(2603:10a6:102:21e::22)","MIME-Version":"1.0","X-MS-Exchange-MessageSentRepresentingType":"1","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"PAXPR04MB8703:EE_|DBBPR04MB7660:EE_","X-MS-Office365-Filtering-Correlation-Id":"10e43a2f-b141-474c-9e8e-08daa6c2073b","X-MS-Exchange-SharedMailbox-RoutingAgent-Processed":"True","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"BCL:0;","X-Microsoft-Antispam-Message-Info":"P5yL42X4t1aDGgyN7BLqzOjErLNAjt6Mme3HGo6iy9MKuws4iSyeh2n+uXb8F+kCEuZkPx1LNm1QjE7du+IVQ5YknxtxlZ2jZvThaNrS2dy+F4h9maM+uDVnOA6X0yUt6fblx6YcPWM4rEcXGlLPnYktYylNufn+j1+PlPEzxpLiWx0zbZUr/CNpb95ZT2PuJLKWQrjn8rBP7pmimVnuLAXGVySjEhQY7z/u4ds/v63zCW6B/EXAJ1JNe3ZbUq7sDw59dtzPfzg/HMa5OIgDbp98dOfVzQiUMtzNY87aMSXyuhKcw8Ogx2DTOqgge+5hwGvLOSOegTVdps1rTqRQ+JfaT+r00EypN4CiEPDLihl3slSMbe/t4wJ5ATmfis1nAskavtQC5fBKM5qDsHv2YmXDDD9jDneF5LXMjnDjDimmO0oVD+a7m4DjcNErzjg7dX1OAS0CCTTzr+aqK3HG+2TIdG6NKqLZ8QPjZ1ut3kwH1BOYdOldAHVVrs1X6pnZZKjIWIonTsU058ly6PrWUG62OIIcA4neg4D3TxqfyVbrAso+KG/VmAh6RoyVI0Vgtd0ugp3Y5VHScwwfvbusqpiypCGkZxQUDYKaPtnYAmctY6M8xjXw596aEs7CTVTHm6P2v79MtdWIJHJL6qcKm+BosugCWXsDdJoCyvIE0U3x7KhGLEmoj9Zwx/nKA5U5o0Mk9RYWVsRT7PvSi7oWZsubUTPuLnY3CSokLBrY6EPq5sF1hQofTuS7XsYG577npvJvSSqOSNBYtnZ9eeBRWajOoTnkDI0c+PTUPdOnyWg=","X-Forefront-Antispam-Report":"CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n\tIPV:NLI; SFV:NSPM; H:PAXPR04MB8703.eurprd04.prod.outlook.com; PTR:;\n\tCAT:NONE; \n\tSFS:(13230022)(4636009)(376002)(366004)(136003)(396003)(39860400002)(346002)(451199015)(2906002)(8936002)(52116002)(53546011)(6512007)(31696002)(86362001)(38100700002)(6506007)(6486002)(66556008)(2616005)(316002)(478600001)(8676002)(66476007)(66946007)(5660300002)(186003)(83380400001)(41300700001)(31686004)(43740500002)(45980500001);\n\tDIR:OUT; SFP:1101; ","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"=?utf-8?q?pE06Y1os6VAFsP9T8zSxwUtMd?=\n\t=?utf-8?q?ZX+xk+mXBwiVyFTO2JCXfnGYSZMbBDIFLba9PDx7nf6KxevObWDVTyl0?=\n\t=?utf-8?q?YnwktP9+2OIP23Q4uMHDzoYfhctkWF5hae3KnWLe97EUsC6sIaDYl4jV?=\n\t=?utf-8?q?cS6+8PLKMwf1XD0Ksk4K7QMApdcj/GHTUQz3ubb5xsFs5JZ7Jcinnh37?=\n\t=?utf-8?q?Vyi/3q8uJAMB404WZg0gBUXGdHl4X0zZuh6rl0OWeLMRasnaoUgzc0lW?=\n\t=?utf-8?q?Z+wYbjktDehyuTGs3XSTaFicnxVlFq2/T6a8vMwKHnaTCF0t5txz1p1r?=\n\t=?utf-8?q?/XVI0m8jzYZF5NLYvBBW/WRXeV1a+om46SQrlbYRgq2lyKpk5KjHNpIG?=\n\t=?utf-8?q?MQzDlskq6A8rDlSXoZYrsHtnDhKwXH9cclPxkuYNTAvghFjofGQ2FdDZ?=\n\t=?utf-8?q?4uEVxbl0WeYOJJY5v/u6zTIUCjWRrrCUOy6uaDlVL9RIMVX/+dk/SNTv?=\n\t=?utf-8?q?uPayD1v13/CFB/1Cx4wagvKy/sbe1ML6CWNAEK/MG/uggZ2qRofnIcj3?=\n\t=?utf-8?q?VacUMtWixIEcSkuhfDQx7mFC3LL+FKZLfDfhS33WeT4IpZ4bP7RshO5I?=\n\t=?utf-8?q?tC/rCj4pR4gM3k3LeQmS0R48leNzB4iLwcytNcgKy4cUGLqu3aPdRycy?=\n\t=?utf-8?q?ExuTeloyHsuAY3tU9Qlbjes+nFGU3Rm97cr7f38Yd6c/8vlvr0Wz/CiT?=\n\t=?utf-8?q?fHl7VU5OgRr+KQGymwT68fDqpTHBUOwQvktuYVUq0jJEzMvFE3Lh6SOl?=\n\t=?utf-8?q?UHrGJQmgKSx6rxZVEgD3XhA2VZdVJl6RvjCp3ifyF3j3y8cSw1cOcVRA?=\n\t=?utf-8?q?mGOITKGJv7f7BXAXxvOq6AwPOhUQfpbIkqBN/c4ydH1K+397RVRLoOSY?=\n\t=?utf-8?q?Vz9iC59zHAcQXrd0LZMEny+Ox55FlRAjgcOjkUz20dugprU/ITmVZNoF?=\n\t=?utf-8?q?a3gilFslT44hpBn2siz70hJyEguUF/wq5208p8EstJuThJ3p1nFpQWwH?=\n\t=?utf-8?q?rfj/yAVrSS2LlcZ8PAq8ciBQ1UD/YvVd+q7p6Z511IKlVz8Z6EzRO1qe?=\n\t=?utf-8?q?gFYgqoHrjGNwxFLK+teRqCDSVJd9lSXOJKbNV8sOIGIOBDh5Kci6Y3jq?=\n\t=?utf-8?q?uaEzm/e+lqN/G/G9FfQbKIY1TFNc5aIfcSqbPK7adxBEG+bQkvYRVPPF?=\n\t=?utf-8?q?kSPaBJSfBUnqlxqehJsbGj/wddZw2jzLJL1yLw1WY9qxo5lXXDNRSte2?=\n\t=?utf-8?q?++gwiftZJ8KDtlKNYU0MeIoPfn4OygycU03Rm5u5Ry8Y0MN/xQACZg/U?=\n\t=?utf-8?q?5KBcho2xn9l2YvnlH+zoX4lkFSLEqjAyieu4ThX6+uXtVqx+QxhDScNO?=\n\t=?utf-8?q?lMPagzhtMwqv9o8Ffd6L2kEe45s6aVeB0Zz6x6febXusTtobIN8PxKTq?=\n\t=?utf-8?q?3+2tgij7N5B/NDCncWVvm6rW8KozhDp/c4zjAArLiE1AYl6MOu07TSKO?=\n\t=?utf-8?q?euAeubFavfLLoMC06umVabo7lOBC359pSJv7n/8LA/VEsLxnGiIzebbL?=\n\t=?utf-8?q?47ysxtW6hr8/QK2Y2mzcGAJZcXDoN2Vt3Zqq2TERRZqts5s5AKu+Z17U?=\n\t=?utf-8?q?vonldQ5XDsCsbvToGw9eZs4DM2Qs+LYZL3BaKZRuZyZE5gaQja+z8AQV?=\n\t=?utf-8?q?K6/08kFXBGkcaMXJYdsa2qFYrFO1ydjOAW7o4yYzLN1w9YlczMNgpc9q?=\n\t=?utf-8?q?rhPWqJ6DnyECceTCllVcE3nb01iK8QO5Vp35g=3D=3D?=","X-OriginatorOrg":"oss.nxp.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"10e43a2f-b141-474c-9e8e-08daa6c2073b","X-MS-Exchange-CrossTenant-AuthSource":"PAXPR04MB8703.eurprd04.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"05 Oct 2022 11:09:10.7488\n\t(UTC)","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-CrossTenant-Id":"686ea1d3-bc2b-4c6f-a92c-d99c5c301635","X-MS-Exchange-CrossTenant-MailboxType":"HOSTED","X-MS-Exchange-CrossTenant-UserPrincipalName":"zli2ORGmDNcgWfpBhtjB0zgFoh7gw5r6ivalWZfGdVp4ptjcjzrA4xqEi/aS1IH75j9312N7CypwWz81srdbdw==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"DBBPR04MB7660","Subject":"Re: [libcamera-devel] [PATCH 5/8] libcamera: pipeline_handler: Make\n\tfactory create() function const","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":"\"Xavier Roumegue \\(OSS\\) via libcamera-devel\"\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"\"Xavier Roumegue \\(OSS\\)\" <xavier.roumegue@oss.nxp.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":25335,"web_url":"https://patchwork.libcamera.org/comment/25335/","msgid":"<20221007141001.wak2jgozatdtkqyx@uno.localdomain>","date":"2022-10-07T14:10:01","subject":"Re: [libcamera-devel] [PATCH 5/8] libcamera: pipeline_handler: Make\n\tfactory create() function const","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Laurent\n\nOn Tue, Oct 04, 2022 at 12:21:25AM +0300, Laurent Pinchart via libcamera-devel wrote:\n> The PipelineHandlerFactory::create() function has no need to modify the\n> factory instance. Make it const, as well as the createInstance()\n> function.\n>\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nLooks legit\nReviewed-by: Jacopo Mondi <jacopo@jmondi.org>\n\nThanks\n  j\n\n> ---\n>  include/libcamera/internal/pipeline_handler.h | 6 +++---\n>  src/libcamera/pipeline_handler.cpp            | 4 ++--\n>  2 files changed, 5 insertions(+), 5 deletions(-)\n>\n> diff --git a/include/libcamera/internal/pipeline_handler.h b/include/libcamera/internal/pipeline_handler.h\n> index 20f1cbb07fea..46df69dc789a 100644\n> --- a/include/libcamera/internal/pipeline_handler.h\n> +++ b/include/libcamera/internal/pipeline_handler.h\n> @@ -104,7 +104,7 @@ public:\n>  \tPipelineHandlerFactory(const char *name);\n>  \tvirtual ~PipelineHandlerFactory() = default;\n>\n> -\tstd::shared_ptr<PipelineHandler> create(CameraManager *manager);\n> +\tstd::shared_ptr<PipelineHandler> create(CameraManager *manager) const;\n>\n>  \tconst std::string &name() const { return name_; }\n>\n> @@ -112,7 +112,7 @@ public:\n>  \tstatic std::vector<PipelineHandlerFactory *> &factories();\n>\n>  private:\n> -\tvirtual PipelineHandler *createInstance(CameraManager *manager) = 0;\n> +\tvirtual PipelineHandler *createInstance(CameraManager *manager) const = 0;\n>\n>  \tstd::string name_;\n>  };\n> @@ -124,7 +124,7 @@ public:\t\t\t\t\t\t\t\t\t\\\n>  \thandler##Factory() : PipelineHandlerFactory(#handler) {}\t\\\n>  \t\t\t\t\t\t\t\t\t\\\n>  private:\t\t\t\t\t\t\t\t\\\n> -\tPipelineHandler *createInstance(CameraManager *manager)\t\t\\\n> +\tPipelineHandler *createInstance(CameraManager *manager) const\t\\\n>  \t{\t\t\t\t\t\t\t\t\\\n>  \t\treturn new handler(manager);\t\t\t\t\\\n>  \t}\t\t\t\t\t\t\t\t\\\n> diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp\n> index e5cb751cc743..4470e9041e8e 100644\n> --- a/src/libcamera/pipeline_handler.cpp\n> +++ b/src/libcamera/pipeline_handler.cpp\n> @@ -676,7 +676,7 @@ PipelineHandlerFactory::PipelineHandlerFactory(const char *name)\n>   * \\return A shared pointer to a new instance of the PipelineHandler subclass\n>   * corresponding to the factory\n>   */\n> -std::shared_ptr<PipelineHandler> PipelineHandlerFactory::create(CameraManager *manager)\n> +std::shared_ptr<PipelineHandler> PipelineHandlerFactory::create(CameraManager *manager) const\n>  {\n>  \tPipelineHandler *handler = createInstance(manager);\n>  \thandler->name_ = name_.c_str();\n> @@ -719,7 +719,7 @@ std::vector<PipelineHandlerFactory *> &PipelineHandlerFactory::factories()\n>  }\n>\n>  /**\n> - * \\fn PipelineHandlerFactory::createInstance()\n> + * \\fn PipelineHandlerFactory::createInstance() const\n>   * \\brief Create an instance of the PipelineHandler corresponding to the factory\n>   * \\param[in] manager The camera manager\n>   *\n> --\n> Regards,\n>\n> Laurent Pinchart\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 A569FC0DA4\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  7 Oct 2022 14:10:05 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 6595D62D18;\n\tFri,  7 Oct 2022 16:10:05 +0200 (CEST)","from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net\n\t[IPv6:2001:4b98:dc4:8::222])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E52D360A88\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  7 Oct 2022 16:10:03 +0200 (CEST)","(Authenticated sender: jacopo@jmondi.org)\n\tby mail.gandi.net (Postfix) with ESMTPSA id 7BB0540007;\n\tFri,  7 Oct 2022 14:10:03 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1665151805;\n\tbh=Dqf9aGWLewp4g4WaRcbLxqhm2v3zkNPznDr+nB3haD4=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=0uBOsBsWYcS9rwcRV4BiEsHwpNGEoduAei8OmjSl0R09jspsU2J4w7dQCyNGDD4YY\n\trVqc15wqmGtHr2QPSdtv4vuIwFyOB+HCLURpmDXKjirr7fRDVZIdm+eIEkAFGzFH74\n\tbX08/V5uzbI3nmpJKAQRkoHolGbUdWy+M2+jDVm7r3Y08ohdknSNdeEnZU0CSN4l9M\n\tiPOQLLo12YbtjzBFziHFCj1QToESS36MM8BgnnaAxiiYKUKY20tSfcHq79dRb36rpO\n\tY4joHBtF+1n51yDvOvOvWabjwsg4jK1PfSjHiBkP6ifSIswyhBsIaOtck+GbWELyW4\n\tO+mWCzIQwyKgw==","Date":"Fri, 7 Oct 2022 16:10:01 +0200","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Message-ID":"<20221007141001.wak2jgozatdtkqyx@uno.localdomain>","References":"<20221003212128.32429-1-laurent.pinchart@ideasonboard.com>\n\t<20221003212128.32429-6-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20221003212128.32429-6-laurent.pinchart@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 5/8] libcamera: pipeline_handler: Make\n\tfactory create() function const","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":"Jacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Jacopo Mondi <jacopo@jmondi.org>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]