summaryrefslogtreecommitdiff
path: root/src/qcam/main.cpp
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2022-10-20 00:44:55 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2022-10-20 13:36:25 +0300
commit84ad104499d9efc0253dae1a60ee070ed375ad95 (patch)
treed10fd53eb79cebb28fa3f72b18b46dddb6382b83 /src/qcam/main.cpp
parentdaf3f4b59f4ea0ecb42c6a39fe909f071d3a2842 (diff)
Move test applications to src/apps/
The cam and qcam test application share code, currently through a crude hack that references the cam source files directly from the qcam meson.build file. To prepare for the introduction of hosting that code in a static library, move all applications to src/apps/. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Diffstat (limited to 'src/qcam/main.cpp')
-rw-r--r--src/qcam/main.cpp89
1 files changed, 0 insertions, 89 deletions
diff --git a/src/qcam/main.cpp b/src/qcam/main.cpp
deleted file mode 100644
index d3f01a85..00000000
--- a/src/qcam/main.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-or-later */
-/*
- * Copyright (C) 2019, Google Inc.
- *
- * main.cpp - qcam - The libcamera GUI test application
- */
-
-#include <signal.h>
-#include <string.h>
-
-#include <QApplication>
-#include <QtDebug>
-
-#include <libcamera/camera_manager.h>
-
-#include "../cam/options.h"
-#include "../cam/stream_options.h"
-#include "main_window.h"
-#include "message_handler.h"
-
-using namespace libcamera;
-
-void signalHandler([[maybe_unused]] int signal)
-{
- qInfo() << "Exiting";
- qApp->quit();
-}
-
-OptionsParser::Options parseOptions(int argc, char *argv[])
-{
- StreamKeyValueParser streamKeyValue;
-
- OptionsParser parser;
- parser.addOption(OptCamera, OptionString,
- "Specify which camera to operate on", "camera",
- ArgumentRequired, "camera");
- parser.addOption(OptHelp, OptionNone, "Display this help message",
- "help");
- parser.addOption(OptRenderer, OptionString,
- "Choose the renderer type {qt,gles} (default: qt)",
- "renderer", ArgumentRequired, "renderer");
- parser.addOption(OptStream, &streamKeyValue,
- "Set configuration of a camera stream", "stream", true);
- parser.addOption(OptVerbose, OptionNone,
- "Print verbose log messages", "verbose");
-
- OptionsParser::Options options = parser.parse(argc, argv);
- if (options.isSet(OptHelp))
- parser.usage();
-
- return options;
-}
-
-int main(int argc, char **argv)
-{
- QApplication app(argc, argv);
- int ret;
-
- OptionsParser::Options options = parseOptions(argc, argv);
- if (!options.valid())
- return EXIT_FAILURE;
- if (options.isSet(OptHelp))
- return 0;
-
- MessageHandler msgHandler(options.isSet(OptVerbose));
-
- struct sigaction sa = {};
- sa.sa_handler = &signalHandler;
- sigaction(SIGINT, &sa, nullptr);
-
- CameraManager *cm = new libcamera::CameraManager();
-
- ret = cm->start();
- if (ret) {
- qInfo() << "Failed to start camera manager:"
- << strerror(-ret);
- return EXIT_FAILURE;
- }
-
- MainWindow *mainWindow = new MainWindow(cm, options);
- mainWindow->show();
- ret = app.exec();
- delete mainWindow;
-
- cm->stop();
- delete cm;
-
- return ret;
-}