unilink  0.4.3
A simple C++ library for unified async communication
unilink::config::ConfigManagerInterface Class Referenceabstract

#include <iconfig_manager.hpp>

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

Public Member Functions

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

Detailed Description

Abstract interface for configuration management

Definition at line 76 of file iconfig_manager.hpp.

Constructor & Destructor Documentation

◆ ~ConfigManagerInterface()

virtual unilink::config::ConfigManagerInterface::~ConfigManagerInterface ( )
virtualdefault

Member Function Documentation

◆ clear()

virtual void unilink::config::ConfigManagerInterface::clear ( )
pure virtual

◆ get() [1/2]

virtual std::any unilink::config::ConfigManagerInterface::get ( const std::string &  key) const
pure virtual

◆ get() [2/2]

virtual std::any unilink::config::ConfigManagerInterface::get ( const std::string &  key,
const std::any &  default_value 
) const
pure virtual

◆ get_description()

virtual std::string unilink::config::ConfigManagerInterface::get_description ( const std::string &  key) const
pure virtual

◆ get_keys()

virtual std::vector<std::string> unilink::config::ConfigManagerInterface::get_keys ( ) const
pure virtual

◆ get_type()

virtual ConfigType unilink::config::ConfigManagerInterface::get_type ( const std::string &  key) const
pure virtual

◆ has()

virtual bool unilink::config::ConfigManagerInterface::has ( const std::string &  key) const
pure virtual

◆ is_required()

virtual bool unilink::config::ConfigManagerInterface::is_required ( const std::string &  key) const
pure virtual

◆ load_from_file()

virtual bool unilink::config::ConfigManagerInterface::load_from_file ( const std::string &  filepath)
pure virtual

◆ on_change()

virtual void unilink::config::ConfigManagerInterface::on_change ( const std::string &  key,
ConfigChangeCallback  callback 
)
pure virtual

◆ register_item()

virtual void unilink::config::ConfigManagerInterface::register_item ( const ConfigItem item)
pure virtual

◆ register_validator()

virtual void unilink::config::ConfigManagerInterface::register_validator ( const std::string &  key,
std::function< ValidationResult(const std::any &)>  validator 
)
pure virtual

◆ remove()

virtual bool unilink::config::ConfigManagerInterface::remove ( const std::string &  key)
pure virtual

◆ remove_change_callback()

virtual void unilink::config::ConfigManagerInterface::remove_change_callback ( const std::string &  key)
pure virtual

◆ save_to_file()

virtual bool unilink::config::ConfigManagerInterface::save_to_file ( const std::string &  filepath) const
pure virtual

◆ set()

virtual ValidationResult unilink::config::ConfigManagerInterface::set ( const std::string &  key,
const std::any &  value 
)
pure virtual

◆ validate() [1/2]

virtual ValidationResult unilink::config::ConfigManagerInterface::validate ( ) const
pure virtual

◆ validate() [2/2]

virtual ValidationResult unilink::config::ConfigManagerInterface::validate ( const std::string &  key) const
pure virtual

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