summaryrefslogtreecommitdiff
path: root/src/file/settings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/file/settings.cpp')
-rw-r--r--src/file/settings.cpp99
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;
- }
-}