diff options
author | claiff <claiff@mail.ru> | 2022-10-05 16:03:08 +0300 |
---|---|---|
committer | claiff <claiff@mail.ru> | 2022-10-05 16:03:08 +0300 |
commit | 8edef99a5b52643e0b919c424357752cbbc9a8dd (patch) | |
tree | c7ae9c113d29aa3350eca04f27a933bd3b5f769c /src/file/settings.cpp | |
parent | 2b03fece7f5895591eabd2f04baa2df19b4c3417 (diff) | |
parent | 3f1f70a3b945605c6abb7d23f46042b963db243a (diff) | |
download | obmc-sila-smtp-8edef99a5b52643e0b919c424357752cbbc9a8dd.tar.xz |
Merge branch 'refactor/3009'
Diffstat (limited to 'src/file/settings.cpp')
-rw-r--r-- | src/file/settings.cpp | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/src/file/settings.cpp b/src/file/settings.cpp deleted file mode 100644 index eb8ed5d..0000000 --- a/src/file/settings.cpp +++ /dev/null @@ -1,99 +0,0 @@ -#include <fstream> - -#include "settings.hpp" -#include "logger/logger_set.hpp" -#include "converter/file_to_struct.hpp" -#include "converter/struct_to_file.hpp" -#include "parser/settings.hpp" - -namespace smtp::file -{ - - // - //Constructors - // - - Settings::Settings( std::string const& path_file, checker::RegistratorSettings const& registrator_errors ) - : mPathFile( path_file ) - , mRegistratorErrors( registrator_errors ) - { - - } - - // - //Public methods - // - - manage::SettingsFields Settings::Read() const - { - auto parsed_store = GetParsedStore(); - return converter::FileToStruct{}.Convert( parsed_store ); - } - - bool Settings::Write( manage::SettingsFields const& settings_fields ) const - { - auto parsed_data = converter::StructToFile{}.Convert( settings_fields ); - return mRegistratorErrors.Check( parsed_data ) && SetParsedData( parsed_data ); - } - - // - //Private methods - // - - manage::SettingsFileDataType Settings::GetParsedStore() const - { - static const std::string METHOD_NAME = "Read settings"; - - std::ifstream settings_file{mPathFile, std::fstream::in}; - if( !settings_file.is_open() ) - { - logger::LoggerSet::GetInstance()->LogError( METHOD_NAME, "Unable to open file to read " + mPathFile ); - return {}; - } - auto result = GetDataFromFile( settings_file ); - - settings_file.close(); - return mRegistratorErrors.Check( result ) ? result : manage::SettingsFileDataType{}; - } - - manage::SettingsFileDataType Settings::GetDataFromFile( std::ifstream& settings_file ) const - { - std::string line{}; - manage::SettingsFileDataType result; - - while( std::getline( settings_file, line )) - { - auto parsed_data = parser::Settings{}.Parse( line ); - result.insert( parsed_data ); - } - return result; - } - - bool Settings::SetParsedData( manage::SettingsFileDataType const& parsed_data ) const - { - static const std::string METHOD_NAME = "Write settings"; - - std::ofstream settings_file{mPathFile, std::fstream::out | std::fstream::trunc}; - if( !settings_file.is_open()) - { - logger::LoggerSet::GetInstance()->LogError( METHOD_NAME, "Unable to open file to write " + mPathFile ); - return false; - } - for( const auto& data : parsed_data ) - { - auto line = BuildParam( data ); - settings_file << line << "\n"; - } - settings_file.close(); - return true; - } - - std::string Settings::BuildParam( std::pair < std::string, std::string > const& data ) const - { - std::string result; - result += data.first; - result += '='; - result += data.second; - return result; - } -} |