summaryrefslogtreecommitdiff
path: root/src/service/settings.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/service/settings.hpp')
-rw-r--r--src/service/settings.hpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/service/settings.hpp b/src/service/settings.hpp
new file mode 100644
index 0000000..b6319f6
--- /dev/null
+++ b/src/service/settings.hpp
@@ -0,0 +1,36 @@
+#pragma once
+
+#include <string>
+
+namespace smtp::service
+{
+ struct SettingsFields
+ {
+ bool is_need_auth;
+ bool is_need_ssl;
+ std::string username;
+ std::string password;
+ std::string host;
+ std::string port;
+ };
+
+ class Settings
+ {
+ public:
+ Settings();
+ explicit Settings( SettingsFields data );
+ ~Settings() = default;
+
+ bool CheckAndSetSettings( SettingsFields data );
+
+ bool IsNeedAuth() const noexcept;
+ bool IsNeedSsl() const noexcept;
+
+ std::string GetUserName() const;
+ std::string GetPassword() const;
+ std::string GetHost() const;
+ std::string GetPort() const;
+ private:
+ SettingsFields mSettingsFields;
+ };
+}