[{"id":17961,"web_url":"https://patchwork.libcamera.org/comment/17961/","msgid":"<20210705031304.GD2510@pyrite.rasen.tech>","date":"2021-07-05T03:13:04","subject":"Re: [libcamera-devel] [PATCH 2/2] android: Disable copy and move\n\tfor CameraDevice","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"content":"Hi Laurent,\n\nOn Mon, Jul 05, 2021 at 02:36:20AM +0300, Laurent Pinchart wrote:\n> Instances of the CameraDevice class should never be copied or moved, as\n> they represent resources, Disable copying and moving for the class.\n> \n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nReviewed-by: Paul Elder <paul.elder@ideasonboard.com>\n\n> ---\n>  src/android/camera_device.h | 3 +++\n>  1 file changed, 3 insertions(+)\n> \n> diff --git a/src/android/camera_device.h b/src/android/camera_device.h\n> index 3361918d4484..d085a27f296b 100644\n> --- a/src/android/camera_device.h\n> +++ b/src/android/camera_device.h\n> @@ -14,6 +14,7 @@\n>  \n>  #include <hardware/camera3.h>\n>  \n> +#include <libcamera/base/class.h>\n>  #include <libcamera/base/log.h>\n>  #include <libcamera/base/message.h>\n>  #include <libcamera/base/thread.h>\n> @@ -66,6 +67,8 @@ protected:\n>  \tstd::string logPrefix() const override;\n>  \n>  private:\n> +\tLIBCAMERA_DISABLE_COPY_AND_MOVE(CameraDevice)\n> +\n>  \tCameraDevice(unsigned int id, std::shared_ptr<libcamera::Camera> camera);\n>  \n>  \tstruct Camera3RequestDescriptor {\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 7D5A9C0100\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  5 Jul 2021 03:13:13 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3EB4C68503;\n\tMon,  5 Jul 2021 05:13:13 +0200 (CEST)","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 4094260285\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  5 Jul 2021 05:13:11 +0200 (CEST)","from pyrite.rasen.tech (unknown\n\t[IPv6:2400:4051:61:600:2c71:1b79:d06d:5032])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id DBEC8E7;\n\tMon,  5 Jul 2021 05:13:09 +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=\"GLRaH+gn\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1625454791;\n\tbh=mWQIxcWBOMUyQznYETwmpt8E2gL/HqbeqMzYw5KaUew=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=GLRaH+gn6Y76KO9uWrtMboxoHr8m7+UtvaxAoetWudtcel6OH2om76piGc/kfg2B3\n\t20BQyCGDqjAwBZdBRbp7a79H27V4eTqLvzp/r106jsRRGC67Rw6Y1Ed4HHBMtW99aG\n\tLSdUeNo9zhXWYix1xAC3DFVU436JFIkRi0YT9yJA=","Date":"Mon, 5 Jul 2021 12:13:04 +0900","From":"paul.elder@ideasonboard.com","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Message-ID":"<20210705031304.GD2510@pyrite.rasen.tech>","References":"<20210704233620.9145-1-laurent.pinchart@ideasonboard.com>\n\t<20210704233620.9145-2-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20210704233620.9145-2-laurent.pinchart@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 2/2] android: Disable copy and move\n\tfor CameraDevice","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>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":17965,"web_url":"https://patchwork.libcamera.org/comment/17965/","msgid":"<918ea9d2-9a01-996c-cd1d-0d91ec34ebc7@ideasonboard.com>","date":"2021-07-05T04:58:32","subject":"Re: [libcamera-devel] [PATCH 2/2] android: Disable copy and move\n\tfor CameraDevice","submitter":{"id":86,"url":"https://patchwork.libcamera.org/api/people/86/","name":"Umang Jain","email":"umang.jain@ideasonboard.com"},"content":"Hi Laurent,\n\nThank you for the patch.\n\nOn 7/5/21 5:06 AM, Laurent Pinchart wrote:\n> Instances of the CameraDevice class should never be copied or moved, as\n> they represent resources, Disable copying and moving for the class.\n>\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\nReviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n> ---\n>   src/android/camera_device.h | 3 +++\n>   1 file changed, 3 insertions(+)\n>\n> diff --git a/src/android/camera_device.h b/src/android/camera_device.h\n> index 3361918d4484..d085a27f296b 100644\n> --- a/src/android/camera_device.h\n> +++ b/src/android/camera_device.h\n> @@ -14,6 +14,7 @@\n>   \n>   #include <hardware/camera3.h>\n>   \n> +#include <libcamera/base/class.h>\n>   #include <libcamera/base/log.h>\n>   #include <libcamera/base/message.h>\n>   #include <libcamera/base/thread.h>\n> @@ -66,6 +67,8 @@ protected:\n>   \tstd::string logPrefix() const override;\n>   \n>   private:\n> +\tLIBCAMERA_DISABLE_COPY_AND_MOVE(CameraDevice)\n> +\n>   \tCameraDevice(unsigned int id, std::shared_ptr<libcamera::Camera> camera);\n>   \n>   \tstruct Camera3RequestDescriptor {","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 4ABDAC0100\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  5 Jul 2021 04:58:39 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id BCF3768503;\n\tMon,  5 Jul 2021 06:58:38 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E4ED760285\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  5 Jul 2021 06:58:36 +0200 (CEST)","from [192.168.0.107] (unknown [103.251.226.59])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 0268FE7;\n\tMon,  5 Jul 2021 06:58:35 +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=\"JOvjFUCv\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1625461116;\n\tbh=OSFNQ8eA6Ba5gp/uyz6+zfw6IdW/3D/1ZHH+r3a+BNo=;\n\th=Subject:To:References:From:Date:In-Reply-To:From;\n\tb=JOvjFUCv38QIqQMiNklp78RovqBo5b3n6a4Km7OUwZioz7L+RKClBaPEJMAtUytPl\n\t5+EdiFfEXEGmZp6BvL3Y84nUGezTzSNQJ1jLqSubT2ZGzOsRqCF0QTiRHkDkQ153vQ\n\tyuQNPRk+afDSQ2FciV39lnJNvX0iqm7X8zicx0Fo=","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20210704233620.9145-1-laurent.pinchart@ideasonboard.com>\n\t<20210704233620.9145-2-laurent.pinchart@ideasonboard.com>","From":"Umang Jain <umang.jain@ideasonboard.com>","Message-ID":"<918ea9d2-9a01-996c-cd1d-0d91ec34ebc7@ideasonboard.com>","Date":"Mon, 5 Jul 2021 10:28:32 +0530","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101\n\tThunderbird/78.10.2","MIME-Version":"1.0","In-Reply-To":"<20210704233620.9145-2-laurent.pinchart@ideasonboard.com>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Transfer-Encoding":"7bit","Content-Language":"en-US","Subject":"Re: [libcamera-devel] [PATCH 2/2] android: Disable copy and move\n\tfor CameraDevice","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>"}}]