ReUseX  0.0.5
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
rux_app.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 Povl Filip Sonne-Frederiksen
2//
3// SPDX-License-Identifier: GPL-3.0-or-later
4
5#pragma once
6
7#include <reusex/pipeline/stages.hpp>
8
9#include <filesystem>
10#include <functional>
11#include <optional>
12
13namespace rux {
14
16struct GuiLaunch {
18 std::optional<std::filesystem::path> project;
20 int quit_after_ms = -1;
24};
25
30 std::function<int(int argc, char **argv, const GuiLaunch &)>;
31
50int run(int argc, char **argv, GuiLauncher launch_gui = {});
51
60
61} // namespace rux
std::function< StageResult(const StageContext &)> StageExecutor
Stage execution strategy.
Definition stages.hpp:148
bool logging_left_up()
True when run() returned with spdlog still up because detached Qt-client work (rux_qt/background....
std::function< int(int argc, char **argv, const GuiLaunch &)> GuiLauncher
Starts the desktop app and returns its exit code.
Definition rux_app.hpp:29
int run(int argc, char **argv, GuiLauncher launch_gui={})
The whole of the rux CLI, minus the main() symbol itself (#249).
void finish_logging()
The spdlog teardown run() skipped.
What plain rux (no subcommand) asks the desktop app to do.
Definition rux_app.hpp:16
int quit_after_ms
Dev/test --quit-after-ms; negative = run normally.
Definition rux_app.hpp:20
reusex::pipeline::StageExecutor stage_executor
How the Pipeline workspace runs a stage in-process: rux_lib's executor, which can also run optimize (...
Definition rux_app.hpp:23
std::optional< std::filesystem::path > project
Set only for an explicit -p — never the ./project.rux default.
Definition rux_app.hpp:18