40 virtual void add_provider(std::unique_ptr<ConfigProvider> provider) = 0;
Interface that defines a complete app layer configuration.
ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_remarks_include(ConfigScopeType type, const std::string &scope) const
virtual ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_remarks_include_raw(ConfigScopeType type, const std::string &scope) const =0
ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_warnings_exclude(ConfigScopeType type, const std::string &scope) const
ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_warnings_include(ConfigScopeType type, const std::string &scope) const
ChainableResult< ConfigValue< bool > > verify_checksums(ConfigScopeType type, const std::string &scope) const
virtual ChainableResult< ConfigValue< bool > > verify_checksums_raw(ConfigScopeType type, const std::string &scope) const =0
virtual ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_remarks_include_validated(ConfigScopeType type, const std::string &scope) const
virtual void add_provider(std::unique_ptr< ConfigProvider > provider)=0
Prepends a ConfigProvider to the provider chain at highest priority.
virtual ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_remarks_exclude_raw(ConfigScopeType type, const std::string &scope) const =0
virtual ~AppConfig()=default
virtual ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_warnings_include_validated(ConfigScopeType type, const std::string &scope) const
ChainableResult< ConfigValue< PrimaryPairingMode > > primary_pairing_mode(ConfigScopeType type, const std::string &scope) const
ChainableResult< ConfigValue< std::vector< std::string > > > primary_pairing_partners(ConfigScopeType type, const std::string &scope) const
virtual ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_warnings_include_raw(ConfigScopeType type, const std::string &scope) const =0
virtual ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_warnings_exclude_validated(ConfigScopeType type, const std::string &scope) const
virtual ChainableResult< ConfigValue< std::vector< std::string > > > primary_pairing_partners_raw(ConfigScopeType type, const std::string &scope) const =0
virtual ChainableResult< ConfigValue< PrimaryPairingMode > > primary_pairing_mode_validated(ConfigScopeType type, const std::string &scope) const
virtual ChainableResult< ConfigValue< bool > > verify_checksums_validated(ConfigScopeType type, const std::string &scope) const
ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_remarks_exclude(ConfigScopeType type, const std::string &scope) const
virtual ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_remarks_exclude_validated(ConfigScopeType type, const std::string &scope) const
virtual ChainableResult< ConfigValue< PrimaryPairingMode > > primary_pairing_mode_raw(ConfigScopeType type, const std::string &scope) const =0
virtual ChainableResult< ConfigValue< std::vector< std::string > > > diagnostic_warnings_exclude_raw(ConfigScopeType type, const std::string &scope) const =0
virtual ChainableResult< ConfigValue< std::vector< std::string > > > primary_pairing_partners_validated(ConfigScopeType type, const std::string &scope) const
A result type that maintains a chainable sequence of errors for debugging and error reporting.
An interface which config implementations can use to load config values.
ConfigScopeType
Specifies the scope type for configuration value lookups.
Cross-cutting configuration validators shared across all architectural layers.