diff options
Diffstat (limited to 'src/file/settings/settings.hpp')
-rw-r--r-- | src/file/settings/settings.hpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/file/settings/settings.hpp b/src/file/settings/settings.hpp new file mode 100644 index 0000000..60634fe --- /dev/null +++ b/src/file/settings/settings.hpp @@ -0,0 +1,25 @@ +#pragma once + +#include "management/general.hpp" +#include "types/ifile_manipulator.hpp" + +namespace smtp::file::settings +{ + class Settings + { + public: + explicit Settings( types::IFileManipulatorPtr const& file_manipulator ); + ~Settings() = default; + + manage::SettingsFields Read() const; + bool Write( manage::SettingsFields const& settings_fields ) const; + private: + manage::SettingsFileDataType GetParsedStore() const; + manage::SettingsFileDataType GetDataFromFile( std::ifstream& settings_file ) const; + bool SetParsedData( manage::SettingsFileDataType const& parsed_data ) const; + std::string BuildParam( std::pair < std::string, std::string > const& data ) const; + + std::string mPathFile; + types::IFileManipulatorPtr mFileManipulator; + }; +} |