[{"id":3755,"web_url":"https://patchwork.libcamera.org/comment/3755/","msgid":"<20200214002350.GR29760@pendragon.ideasonboard.com>","date":"2020-02-14T00:23:50","subject":"Re: [libcamera-devel] [PATCH v2 3/7] qcam: Store CameraManager as\n\tclass member","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Kieran,\n\nThank you for the patch.\n\nOn Fri, Feb 14, 2020 at 12:18:06AM +0000, Kieran Bingham wrote:\n> Intialise a local copy of the CameraManager instance to ease\n> access to the CameraManager which is frequently utilised.\n> \n> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> ---\n>  src/qcam/main_window.cpp | 18 +++++++++---------\n>  src/qcam/main_window.h   |  5 +++--\n>  2 files changed, 12 insertions(+), 11 deletions(-)\n> \n> diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp\n> index 38d7063363f0..2ed84cacf655 100644\n> --- a/src/qcam/main_window.cpp\n> +++ b/src/qcam/main_window.cpp\n> @@ -23,7 +23,7 @@\n>  using namespace libcamera;\n>  \n>  MainWindow::MainWindow(CameraManager *cm, const OptionsParser::Options &options)\n> -\t: options_(options), allocator_(nullptr), isCapturing_(false)\n> +\t: options_(options), cm_(cm), allocator_(nullptr), isCapturing_(false)\n>  {\n>  \tint ret;\n>  \n> @@ -35,7 +35,7 @@ MainWindow::MainWindow(CameraManager *cm, const OptionsParser::Options &options)\n>  \tsetCentralWidget(viewfinder_);\n>  \tadjustSize();\n>  \n> -\tret = openCamera(cm);\n> +\tret = openCamera();\n>  \tif (!ret)\n>  \t\tret = startCapture();\n>  \n> @@ -66,15 +66,15 @@ void MainWindow::updateTitle()\n>  \tsetWindowTitle(title_ + \" : \" + QString::number(fps, 'f', 2) + \" fps\");\n>  }\n>  \n> -std::string MainWindow::chooseCamera(CameraManager *cm)\n> +std::string MainWindow::chooseCamera()\n>  {\n>  \tQStringList cameras;\n>  \tbool result;\n>  \n> -\tif (cm->cameras().size() == 1)\n> -\t\treturn cm->cameras()[0]->name();\n> +\tif (cm_->cameras().size() == 1)\n> +\t\treturn cm_->cameras()[0]->name();\n>  \n> -\tfor (const std::shared_ptr<Camera> &cam : cm->cameras())\n> +\tfor (const std::shared_ptr<Camera> &cam : cm_->cameras())\n>  \t\tcameras.append(QString::fromStdString(cam->name()));\n>  \n>  \tQString name = QInputDialog::getItem(this, \"Select Camera\",\n> @@ -86,19 +86,19 @@ std::string MainWindow::chooseCamera(CameraManager *cm)\n>  \treturn name.toStdString();\n>  }\n>  \n> -int MainWindow::openCamera(CameraManager *cm)\n> +int MainWindow::openCamera()\n>  {\n>  \tstd::string cameraName;\n>  \n>  \tif (options_.isSet(OptCamera))\n>  \t\tcameraName = static_cast<std::string>(options_[OptCamera]);\n>  \telse\n> -\t\tcameraName = chooseCamera(cm);\n> +\t\tcameraName = chooseCamera();\n>  \n>  \tif (cameraName == \"\")\n>  \t\treturn -EINVAL;\n>  \n> -\tcamera_ = cm->get(cameraName);\n> +\tcamera_ = cm_->get(cameraName);\n>  \tif (!camera_) {\n>  \t\tstd::cout << \"Camera \" << cameraName << \" not found\"\n>  \t\t\t  << std::endl;\n> diff --git a/src/qcam/main_window.h b/src/qcam/main_window.h\n> index 04fb9e3ea869..d19cda16e36b 100644\n> --- a/src/qcam/main_window.h\n> +++ b/src/qcam/main_window.h\n> @@ -44,8 +44,8 @@ private Q_SLOTS:\n>  \tvoid updateTitle();\n>  \n>  private:\n> -\tstd::string chooseCamera(CameraManager *cm);\n> -\tint openCamera(CameraManager *cm);\n> +\tstd::string chooseCamera();\n> +\tint openCamera();\n>  \n>  \tint startCapture();\n>  \tvoid stopCapture();\n> @@ -58,6 +58,7 @@ private:\n>  \n>  \tconst OptionsParser::Options &options_;\n>  \n> +\tCameraManager *cm_;\n>  \tstd::shared_ptr<Camera> camera_;\n>  \tFrameBufferAllocator *allocator_;\n>","headers":{"Return-Path":"<laurent.pinchart@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 8685661922\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 14 Feb 2020 01:24:08 +0100 (CET)","from pendragon.ideasonboard.com (81-175-216-236.bb.dnainternet.fi\n\t[81.175.216.236])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id E29DF504;\n\tFri, 14 Feb 2020 01:24:07 +0100 (CET)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1581639848;\n\tbh=6220PvgoNrOcsAoLK4LIA28lLUbw+If0HgVrs+fjPrg=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=Cl+UjBRNvC9Nm69DrMxUFy+cE4REkcA+01YqnZpcTyn9z890UT+Plxb7et1zDu6PX\n\tbC0r8vbFMbxM/O06GtsSOsgk+jM3sF6vRL5L7qahszMGsszTtaZEw0Bd21tmrE81+M\n\tDYvhBcQjfI6NMtxR3i1qN18YZsAN4tOLrvdtIlJo=","Date":"Fri, 14 Feb 2020 02:23:50 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera devel <libcamera-devel@lists.libcamera.org>","Message-ID":"<20200214002350.GR29760@pendragon.ideasonboard.com>","References":"<20200214001810.19302-1-kieran.bingham@ideasonboard.com>\n\t<20200214001810.19302-4-kieran.bingham@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20200214001810.19302-4-kieran.bingham@ideasonboard.com>","User-Agent":"Mutt/1.10.1 (2018-07-13)","Subject":"Re: [libcamera-devel] [PATCH v2 3/7] qcam: Store CameraManager as\n\tclass member","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>","X-List-Received-Date":"Fri, 14 Feb 2020 00:24:08 -0000"}}]