{"id":2828,"url":"https://patchwork.libcamera.org/api/1.1/patches/2828/?format=json","web_url":"https://patchwork.libcamera.org/patch/2828/","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":"<20200214001810.19302-4-kieran.bingham@ideasonboard.com>","date":"2020-02-14T00:18:06","name":"[libcamera-devel,v2,3/7] qcam: Store CameraManager as class member","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"79f317921929e038e13afb0ede9dc896df06a11a","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/1.1/people/4/?format=json","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/2828/mbox/","series":[{"id":673,"url":"https://patchwork.libcamera.org/api/1.1/series/673/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=673","date":"2020-02-14T00:18:03","name":"qcam: Provide an initial toolbar","version":2,"mbox":"https://patchwork.libcamera.org/series/673/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/2828/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/2828/checks/","tags":{},"headers":{"Return-Path":"<kieran.bingham@ideasonboard.com>","Received":["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 BB24461A27\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 14 Feb 2020 01:18:14 +0100 (CET)","from localhost.localdomain\n\t(cpc89242-aztw30-2-0-cust488.18-1.cable.virginm.net [86.31.129.233])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 59A00504;\n\tFri, 14 Feb 2020 01:18:14 +0100 (CET)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1581639494;\n\tbh=PJBD0BJO2bAlaBlEtXIWFNa5qk3+v/4RVxho7ZVDOV4=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=Raazh/rJeIEazSpBQkyhBy0poJzEuTkvF8N1EoVCa6ks3iVKwoqvwyKoeaDd7lq5a\n\tbl6ASEq48TTDChVEBskkrboFyewh7U36ULG2pnA/tGJhTysL84yved2D6Nc4bmRvvl\n\tUWymSXT8rq5exyQ6FLd56JkLpwxQoA9aBA8208Ms=","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","To":"libcamera devel <libcamera-devel@lists.libcamera.org>","Date":"Fri, 14 Feb 2020 00:18:06 +0000","Message-Id":"<20200214001810.19302-4-kieran.bingham@ideasonboard.com>","X-Mailer":"git-send-email 2.20.1","In-Reply-To":"<20200214001810.19302-1-kieran.bingham@ideasonboard.com>","References":"<20200214001810.19302-1-kieran.bingham@ideasonboard.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH v2 3/7] qcam: Store CameraManager as class\n\tmember","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:18:14 -0000"},"content":"Intialise a local copy of the CameraManager instance to ease\naccess to the CameraManager which is frequently utilised.\n\nSigned-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n---\n src/qcam/main_window.cpp | 18 +++++++++---------\n src/qcam/main_window.h   |  5 +++--\n 2 files changed, 12 insertions(+), 11 deletions(-)","diff":"diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp\nindex 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;\ndiff --git a/src/qcam/main_window.h b/src/qcam/main_window.h\nindex 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 \n","prefixes":["libcamera-devel","v2","3/7"]}