ReUseX
0.0.5
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
input_handler.hpp
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: 2025 Povl Filip Sonne-Frederiksen
2
//
3
// SPDX-License-Identifier: GPL-3.0-or-later
4
5
#pragma once
6
7
#include "
format_handler.hpp
"
8
9
#include <filesystem>
10
#include <optional>
11
#include <string>
12
#include <vector>
13
14
namespace
rux::database
{
15
19
enum class
InputSource
{
20
Stdin
,
// Read from stdin (pipe or redirection)
21
Inline
,
// Inline value from command line argument
22
None
// No input provided (error condition)
23
};
24
33
class
InputHandler
{
34
public
:
42
static
DataPayload
read_input
(
const
std::optional<std::string> &inline_value);
43
49
static
bool
is_stdin_available
();
50
56
static
std::vector<uint8_t>
read_binary_from_stdin
();
57
63
static
std::string
read_text_from_stdin
();
64
71
static
InputSource
72
detect_source
(
const
std::optional<std::string> &inline_value);
73
};
74
75
}
// namespace rux::database
rux::database::InputHandler
Handles input for set operations.
Definition
input_handler.hpp:33
rux::database::InputHandler::read_input
static DataPayload read_input(const std::optional< std::string > &inline_value)
Detect and read input.
rux::database::InputHandler::is_stdin_available
static bool is_stdin_available()
Check if stdin is available (redirected or piped).
rux::database::InputHandler::read_text_from_stdin
static std::string read_text_from_stdin()
Read text data from stdin.
rux::database::InputHandler::read_binary_from_stdin
static std::vector< uint8_t > read_binary_from_stdin()
Read binary data from stdin.
rux::database::InputHandler::detect_source
static InputSource detect_source(const std::optional< std::string > &inline_value)
Detect input source.
format_handler.hpp
rux::database
Definition
cloud_router.hpp:9
rux::database::InputSource
InputSource
Input source for set operations.
Definition
input_handler.hpp:19
rux::database::InputSource::Inline
@ Inline
Definition
input_handler.hpp:21
rux::database::InputSource::None
@ None
Definition
input_handler.hpp:22
rux::database::InputSource::Stdin
@ Stdin
Definition
input_handler.hpp:20
rux::database::DataPayload
std::variant< std::string, std::vector< uint8_t >, nlohmann::json > DataPayload
Data payload that can be returned by routers.
Definition
format_handler.hpp:33
apps
rux
include
database
input_handler.hpp
Generated by
1.16.1