#pragma once #include #include #include namespace inaf::oasbo::Configurators { /** * @brief The YamlConfigurator class is a subclass of BaseConfigurator that provides functionality for reading and writing YAML configuration files. * It inherits from the BaseConfigurator class. Check Base_Configurator.h for more information. */ class YamlConfigurator: public BaseConfigurator { protected: YAML::Node file; void load(std::string path); public: std::string path; /** * @brief Constructs a YamlConfigurator object with the specified path to the YAML configuration file. * @param path The path to the YAML configuration file. */ YamlConfigurator(std::string path); int readConfigFromSource() override; int readConfigFromSource(std::string target) override; int pushConfigToSource() override; int pushConfigToSource(std::string target) override; int insert(std::map, std::string target) override; }; }