diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2022-10-20 00:44:55 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2022-10-20 13:36:25 +0300 |
commit | 84ad104499d9efc0253dae1a60ee070ed375ad95 (patch) | |
tree | d10fd53eb79cebb28fa3f72b18b46dddb6382b83 /src/qcam/main.cpp | |
parent | daf3f4b59f4ea0ecb42c6a39fe909f071d3a2842 (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.cpp | 89 |
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; -} |