[libcamera-devel] [PATCH 04/14] qcam: Pass camera manager to MainWindow class

Laurent Pinchart laurent.pinchart at ideasonboard.com
Sun Aug 18 03:13:19 CEST 2019


Pass the CameraManager instance from the main() function to the
MainWindow class instead of accessing it through
CameraManager::instance(). This prepares for the removal of the
CameraManager::instance() method.

Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 src/qcam/main.cpp        | 2 +-
 src/qcam/main_window.cpp | 7 +++----
 src/qcam/main_window.h   | 5 +++--
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/qcam/main.cpp b/src/qcam/main.cpp
index da942f3daed6..05d3b77e9edb 100644
--- a/src/qcam/main.cpp
+++ b/src/qcam/main.cpp
@@ -73,7 +73,7 @@ int main(int argc, char **argv)
 		return EXIT_FAILURE;
 	}
 
-	MainWindow *mainWindow = new MainWindow(options);
+	MainWindow *mainWindow = new MainWindow(cm, options);
 	mainWindow->show();
 	ret = app.exec();
 	delete mainWindow;
diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp
index 33fde8b10fd8..ef4ad4a22dca 100644
--- a/src/qcam/main_window.cpp
+++ b/src/qcam/main_window.cpp
@@ -21,7 +21,7 @@
 
 using namespace libcamera;
 
-MainWindow::MainWindow(const OptionsParser::Options &options)
+MainWindow::MainWindow(CameraManager *cm, const OptionsParser::Options &options)
 	: options_(options), isCapturing_(false)
 {
 	int ret;
@@ -35,7 +35,7 @@ MainWindow::MainWindow(const OptionsParser::Options &options)
 	viewfinder_->setFixedSize(500, 500);
 	adjustSize();
 
-	ret = openCamera();
+	ret = openCamera(cm);
 	if (!ret)
 		ret = startCapture();
 
@@ -66,9 +66,8 @@ void MainWindow::updateTitle()
 	setWindowTitle(title_ + " : " + QString::number(fps, 'f', 2) + " fps");
 }
 
-int MainWindow::openCamera()
+int MainWindow::openCamera(CameraManager *cm)
 {
-	CameraManager *cm = CameraManager::instance();
 	std::string cameraName;
 
 	if (!options_.isSet(OptCamera)) {
diff --git a/src/qcam/main_window.h b/src/qcam/main_window.h
index b45cbca725fa..6873155aaa03 100644
--- a/src/qcam/main_window.h
+++ b/src/qcam/main_window.h
@@ -16,6 +16,7 @@
 #include <QTimer>
 
 #include <libcamera/camera.h>
+#include <libcamera/camera_manager.h>
 #include <libcamera/stream.h>
 
 #include "../cam/options.h"
@@ -35,14 +36,14 @@ class MainWindow : public QMainWindow
 	Q_OBJECT
 
 public:
-	MainWindow(const OptionsParser::Options &options);
+	MainWindow(CameraManager *cm, const OptionsParser::Options &options);
 	~MainWindow();
 
 private Q_SLOTS:
 	void updateTitle();
 
 private:
-	int openCamera();
+	int openCamera(CameraManager *cm);
 
 	int startCapture();
 	void stopCapture();
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list