diff options
Diffstat (limited to 'src/file/settings.cpp')
-rw-r--r-- | src/file/settings.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/file/settings.cpp b/src/file/settings.cpp index 83c1037..a856f6e 100644 --- a/src/file/settings.cpp +++ b/src/file/settings.cpp @@ -5,8 +5,9 @@ namespace smtp::file { - Settings::Settings( std::string const& path_file) + Settings::Settings( std::string const& path_file, checker::RegistratorSettings const& registrator_errors ) : mPathFile( path_file ) + , mRegistratorErrors( registrator_errors ) { } @@ -23,7 +24,7 @@ namespace smtp::file return SetParsedData( parsed_data ); } - ParsedStoreType Settings::GetParsedStore() const + manage::SettingsFileDataType Settings::GetParsedStore() const { std::ifstream settings_file{ mPathFile, std::fstream::in }; if ( !settings_file.is_open() ) @@ -32,18 +33,18 @@ namespace smtp::file return {}; } std::string line{}; - ParsedStoreType result; + manage::SettingsFileDataType result; while ( std::getline( settings_file, line ) ) { - auto parsed_data = parser::Settings{}.Parse(line); - result.insert( parsed_data ); + auto parsed_data = parser::Settings{}.Parse( line ); + result.insert( parsed_data ); } settings_file.close(); - return result; + return mRegistratorErrors.Check(result) ? result : manage::SettingsFileDataType{}; } - bool Settings::SetParsedData( ParsedStoreType const& parsed_data ) const + bool Settings::SetParsedData( manage::SettingsFileDataType const& parsed_data ) const { std::ofstream settings_file{ mPathFile, std::fstream::out | std::fstream::trunc }; if ( !settings_file.is_open() ) |