11#ifndef PACS_EXAMPLE_PACS_SERVER_CONFIG_HPP
12#define PACS_EXAMPLE_PACS_SERVER_CONFIG_HPP
51 std::string duplicate_policy{
"reject"};
59 std::filesystem::path
path{
"./pacs.db"};
73 std::filesystem::path
file;
122 static auto parse_args(
int argc,
char* argv[])
123 -> std::optional<pacs_server_config>;
Access control configuration.
std::vector< std::string > allowed_ae_titles
Allowed AE titles (empty = accept all)
bool wal_mode
Enable WAL (Write-Ahead Logging) mode for better concurrency.
std::filesystem::path path
Path to SQLite database file.
std::filesystem::path file
Log file path (empty for console only)
std::string level
Log level: "trace", "debug", "info", "warning", "error", "critical".
bool console
Enable console output.
Complete PACS server configuration.
database_config database
Database settings.
logging_config logging
Logging settings.
access_control_config access_control
Access control settings.
static void print_help()
Print help message to stdout.
server_network_config server
Server network settings.
storage_config storage
Storage settings.
static auto parse_args(int argc, char *argv[]) -> std::optional< pacs_server_config >
Parse configuration from command line arguments.
Server network configuration.
uint16_t port
Port to listen on.
std::chrono::seconds idle_timeout
Idle timeout for associations in seconds (0 = no timeout)
std::string ae_title
Application Entity Title for this server (max 16 chars)
size_t max_associations
Maximum concurrent associations (0 = unlimited)
std::filesystem::path directory
Root directory for DICOM file storage.
std::string naming
File naming scheme: "hierarchical" or "flat".