unilink  0.4.3
A simple C++ library for unified async communication
unilink::config::ConfigManager Class Reference

#include <config_manager.hpp>

Inheritance diagram for unilink::config::ConfigManager:
unilink::config::ConfigManagerInterface

Classes

struct  Impl
 

Public Member Functions

 ConfigManager ()
 
 ~ConfigManager () override
 
 ConfigManager (ConfigManager &&) noexcept
 
ConfigManageroperator= (ConfigManager &&) noexcept
 
 ConfigManager (const ConfigManager &)=delete
 
ConfigManageroperator= (const ConfigManager &)=delete
 
std::any get (const std::string &key) const override
 
std::any get (const std::string &key, const std::any &default_value) const override
 
bool has (const std::string &key) const override
 
ValidationResult set (const std::string &key, const std::any &value) override
 
bool remove (const std::string &key) override
 
void clear () override
 
ValidationResult validate () const override
 
ValidationResult validate (const std::string &key) const override
 
void register_item (const ConfigItem &item) override
 
void register_validator (const std::string &key, std::function< ValidationResult(const std::any &)> validator) override
 
void on_change (const std::string &key, ConfigChangeCallback callback) override
 
void remove_change_callback (const std::string &key) override
 
bool save_to_file (const std::string &filepath) const override
 
bool load_from_file (const std::string &filepath) override
 
std::vector< std::string > get_keys () const override
 
ConfigType get_type (const std::string &key) const override
 
std::string get_description (const std::string &key) const override
 
bool is_required (const std::string &key) const override
 

Detailed Description

Thread-safe configuration manager implementation

Definition at line 32 of file config_manager.hpp.

Constructor & Destructor Documentation

◆ ConfigManager() [1/3]

unilink::config::ConfigManager::ConfigManager ( )

Definition at line 115 of file config_manager.cc.

◆ ~ConfigManager()

unilink::config::ConfigManager::~ConfigManager ( )
overridedefault

◆ ConfigManager() [2/3]

unilink::config::ConfigManager::ConfigManager ( ConfigManager &&  )
defaultnoexcept

◆ ConfigManager() [3/3]

unilink::config::ConfigManager::ConfigManager ( const ConfigManager )
delete

Member Function Documentation

◆ clear()

void unilink::config::ConfigManager::clear ( )
overridevirtual

Implements unilink::config::ConfigManagerInterface.

Definition at line 181 of file config_manager.cc.

◆ get() [1/2]

std::any unilink::config::ConfigManager::get ( const std::string &  key) const
overridevirtual

Implements unilink::config::ConfigManagerInterface.

Definition at line 121 of file config_manager.cc.

◆ get() [2/2]

std::any unilink::config::ConfigManager::get ( const std::string &  key,
const std::any &  default_value 
) const
overridevirtual

Implements unilink::config::ConfigManagerInterface.

Definition at line 130 of file config_manager.cc.

◆ get_description()

std::string unilink::config::ConfigManager::get_description ( const std::string &  key) const
overridevirtual

Implements unilink::config::ConfigManagerInterface.

Definition at line 349 of file config_manager.cc.

◆ get_keys()

std::vector< std::string > unilink::config::ConfigManager::get_keys ( ) const
overridevirtual

Implements unilink::config::ConfigManagerInterface.

Definition at line 328 of file config_manager.cc.

◆ get_type()

ConfigType unilink::config::ConfigManager::get_type ( const std::string &  key) const
overridevirtual

Implements unilink::config::ConfigManagerInterface.

Definition at line 340 of file config_manager.cc.

◆ has()

bool unilink::config::ConfigManager::has ( const std::string &  key) const
overridevirtual

Implements unilink::config::ConfigManagerInterface.

Definition at line 139 of file config_manager.cc.

◆ is_required()

bool unilink::config::ConfigManager::is_required ( const std::string &  key) const
overridevirtual

Implements unilink::config::ConfigManagerInterface.

Definition at line 358 of file config_manager.cc.

◆ load_from_file()

bool unilink::config::ConfigManager::load_from_file ( const std::string &  filepath)
overridevirtual

Implements unilink::config::ConfigManagerInterface.

Definition at line 257 of file config_manager.cc.

◆ on_change()

void unilink::config::ConfigManager::on_change ( const std::string &  key,
ConfigChangeCallback  callback 
)
overridevirtual

Implements unilink::config::ConfigManagerInterface.

Definition at line 223 of file config_manager.cc.

◆ operator=() [1/2]

ConfigManager & unilink::config::ConfigManager::operator= ( ConfigManager &&  )
defaultnoexcept

◆ operator=() [2/2]

ConfigManager& unilink::config::ConfigManager::operator= ( const ConfigManager )
delete

◆ register_item()

void unilink::config::ConfigManager::register_item ( const ConfigItem item)
overridevirtual

Implements unilink::config::ConfigManagerInterface.

Definition at line 209 of file config_manager.cc.

◆ register_validator()

void unilink::config::ConfigManager::register_validator ( const std::string &  key,
std::function< ValidationResult(const std::any &)>  validator 
)
overridevirtual

Implements unilink::config::ConfigManagerInterface.

Definition at line 214 of file config_manager.cc.

◆ remove()

bool unilink::config::ConfigManager::remove ( const std::string &  key)
overridevirtual

Implements unilink::config::ConfigManagerInterface.

Definition at line 171 of file config_manager.cc.

◆ remove_change_callback()

void unilink::config::ConfigManager::remove_change_callback ( const std::string &  key)
overridevirtual

Implements unilink::config::ConfigManagerInterface.

Definition at line 228 of file config_manager.cc.

◆ save_to_file()

bool unilink::config::ConfigManager::save_to_file ( const std::string &  filepath) const
overridevirtual

Implements unilink::config::ConfigManagerInterface.

Definition at line 233 of file config_manager.cc.

◆ set()

ValidationResult unilink::config::ConfigManager::set ( const std::string &  key,
const std::any &  value 
)
overridevirtual

Implements unilink::config::ConfigManagerInterface.

Definition at line 144 of file config_manager.cc.

◆ validate() [1/2]

ValidationResult unilink::config::ConfigManager::validate ( ) const
overridevirtual

Implements unilink::config::ConfigManagerInterface.

Definition at line 186 of file config_manager.cc.

◆ validate() [2/2]

ValidationResult unilink::config::ConfigManager::validate ( const std::string &  key) const
overridevirtual

Implements unilink::config::ConfigManagerInterface.

Definition at line 199 of file config_manager.cc.


The documentation for this class was generated from the following files: