summaryrefslogtreecommitdiff
path: root/src/management/settings.cpp
diff options
context:
space:
mode:
authorclaiff <claiff@mail.ru>2022-09-19 14:03:14 +0300
committerclaiff <claiff@mail.ru>2022-09-21 14:28:10 +0300
commit7a446d48b9270dbe2628b462a54a7a23ff43c572 (patch)
tree8e677b755c3cb529a40ee17078828bc8cc73bf31 /src/management/settings.cpp
parent629929ebbe386277c25740bc0f4971aac38444d0 (diff)
downloadobmc-sila-smtp-7a446d48b9270dbe2628b462a54a7a23ff43c572.tar.xz
temp
Diffstat (limited to 'src/management/settings.cpp')
-rw-r--r--src/management/settings.cpp57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/management/settings.cpp b/src/management/settings.cpp
new file mode 100644
index 0000000..65888aa
--- /dev/null
+++ b/src/management/settings.cpp
@@ -0,0 +1,57 @@
+#include "settings.hpp"
+#include "converter/string.hpp"
+
+namespace smtp::manage
+{
+ Settings::Settings( file::Settings const& file_reader )
+ : mFileReader( file_reader )
+ {
+ ReloadSettings();
+ }
+
+ bool Settings::SetSettings( manage::SettingsFields const& settings_fields )const
+ {
+ return mFileReader.Write( settings_fields );
+ }
+
+ std::string Settings::GetSettings()
+ {
+ ReloadSettings();
+ return converter::String{}.Convert(mSettingsFields);
+ }
+
+ void Settings::ReloadSettings()
+ {
+ mSettingsFields = mFileReader.Read();
+ }
+
+ bool Settings::IsNeedAuth() const noexcept
+ {
+ return mSettingsFields.is_need_auth;
+ }
+
+ bool Settings::IsNeedSsl() const noexcept
+ {
+ return mSettingsFields.is_need_ssl;
+ }
+
+ std::string Settings::GetUserName() const
+ {
+ return mSettingsFields.username;
+ }
+
+ std::string Settings::GetPassword() const
+ {
+ return mSettingsFields.password;
+ }
+
+ std::string Settings::GetHost() const
+ {
+ return mSettingsFields.host;
+ }
+
+ std::string Settings::GetPort() const
+ {
+ return mSettingsFields.port;
+ }
+}