|
PACS System 0.1.0
PACS DICOM system library
|
#include <config_loader.h>

Static Public Member Functions | |
| static auto | load (const std::filesystem::path &path) -> kcenon::common::Result< production_config > |
| Load configuration from a YAML file. | |
| static auto | load_from_string (std::string_view yaml_content) -> kcenon::common::Result< production_config > |
| Load configuration from a YAML string. | |
| static auto | create_default () -> production_config |
| Create a default configuration. | |
| static auto | validate (const production_config &config) -> kcenon::common::VoidResult |
| Validate a configuration. | |
Static Private Member Functions | |
| static auto | parse_value (std::string_view value) -> std::string |
| Parse a YAML value (simple types) | |
| static auto | parse_bool (std::string_view value) -> bool |
| Parse a boolean value. | |
| static auto | parse_int (std::string_view value) -> int |
| Parse an integer value. | |
| static auto | parse_anonymization_profile (std::string_view value) -> security::anonymization_profile |
| Parse anonymization profile. | |
| static auto | trim (std::string_view str) -> std::string |
| Trim whitespace from string. | |
Definition at line 248 of file config_loader.h.
|
staticnodiscard |
Create a default configuration.
Definition at line 263 of file config_loader.cpp.
References kcenon::pacs::samples::security_config::access_control, kcenon::pacs::samples::server_config::ae_title, kcenon::pacs::samples::security_config::anonymization, kcenon::pacs::samples::anonymization_config::auto_anonymize, kcenon::pacs::security::basic, kcenon::pacs::samples::rest_api_config::cors_enabled, kcenon::pacs::samples::storage_config::database, kcenon::pacs::samples::access_control_config::default_role, kcenon::pacs::samples::storage_config::duplicate_policy, kcenon::pacs::samples::access_control_config::enabled, kcenon::pacs::samples::rest_api_config::enabled, kcenon::pacs::samples::tls_config::enabled, kcenon::pacs::samples::monitoring_config::health_check_interval, kcenon::pacs::samples::server_config::idle_timeout, kcenon::pacs::samples::logging_config::level, kcenon::pacs::samples::production_config::logging, kcenon::pacs::samples::server_config::max_associations, kcenon::pacs::samples::monitoring_config::metrics_enabled, kcenon::pacs::samples::production_config::monitoring, kcenon::pacs::samples::storage_config::naming_scheme, kcenon::pacs::samples::database_config::path, kcenon::pacs::samples::rest_api_config::port, kcenon::pacs::samples::server_config::port, kcenon::pacs::samples::anonymization_config::profile, kcenon::pacs::samples::production_config::rest_api, kcenon::pacs::samples::storage_config::root_path, kcenon::pacs::samples::production_config::security, kcenon::pacs::samples::production_config::server, kcenon::pacs::samples::production_config::storage, and kcenon::pacs::samples::server_config::tls.
Referenced by main().

|
staticnodiscard |
Load configuration from a YAML file.
| path | Path to the YAML configuration file |
Definition at line 170 of file config_loader.cpp.
References buffer.
Referenced by main().

|
staticnodiscard |
Load configuration from a YAML string.
| yaml_content | YAML content as a string |
Definition at line 183 of file config_loader.cpp.
References kcenon::pacs::samples::security_config::access_control, kcenon::pacs::samples::server_config::ae_title, kcenon::pacs::samples::security_config::allowed_ae_titles, kcenon::pacs::samples::security_config::anonymization, kcenon::pacs::samples::logging_config::audit_log_path, kcenon::pacs::samples::anonymization_config::auto_anonymize, kcenon::pacs::samples::tls_config::ca_certificate, kcenon::pacs::samples::tls_config::certificate, kcenon::pacs::samples::rest_api_config::cors_enabled, kcenon::pacs::samples::storage_config::database, kcenon::pacs::samples::access_control_config::default_role, kcenon::pacs::samples::storage_config::duplicate_policy, kcenon::pacs::samples::access_control_config::enabled, kcenon::pacs::samples::rest_api_config::enabled, kcenon::pacs::samples::tls_config::enabled, kcenon::pacs::samples::monitoring_config::health_check_interval, kcenon::pacs::samples::server_config::idle_timeout, kcenon::pacs::samples::logging_config::level, kcenon::pacs::samples::production_config::logging, kcenon::pacs::samples::server_config::max_associations, kcenon::pacs::samples::monitoring_config::metrics_enabled, kcenon::pacs::samples::tls_config::min_version, kcenon::pacs::samples::production_config::monitoring, kcenon::pacs::samples::storage_config::naming_scheme, kcenon::pacs::samples::database_config::path, kcenon::pacs::samples::rest_api_config::port, kcenon::pacs::samples::server_config::port, kcenon::pacs::samples::tls_config::private_key, kcenon::pacs::samples::anonymization_config::profile, kcenon::pacs::samples::tls_config::require_client_cert, kcenon::pacs::samples::production_config::rest_api, kcenon::pacs::samples::storage_config::root_path, kcenon::pacs::samples::production_config::security, kcenon::pacs::samples::production_config::server, kcenon::pacs::samples::production_config::storage, and kcenon::pacs::samples::server_config::tls.
|
staticprivate |
Parse anonymization profile.
Definition at line 378 of file config_loader.cpp.
References kcenon::pacs::security::basic, kcenon::pacs::security::gdpr_compliant, kcenon::pacs::security::hipaa_safe_harbor, kcenon::pacs::security::retain_longitudinal, and kcenon::pacs::security::retain_patient_characteristics.
|
staticprivate |
Parse a boolean value.
Definition at line 363 of file config_loader.cpp.
|
staticprivate |
Parse an integer value.
Definition at line 369 of file config_loader.cpp.
|
staticprivate |
Parse a YAML value (simple types)
Definition at line 359 of file config_loader.cpp.
|
staticprivate |
Trim whitespace from string.
Definition at line 404 of file config_loader.cpp.
|
staticnodiscard |
Validate a configuration.
| config | Configuration to validate |
Definition at line 300 of file config_loader.cpp.