diff options
author | eportnov <eportnov@ibs.ru> | 2022-10-03 11:37:47 +0300 |
---|---|---|
committer | eportnov <eportnov@ibs.ru> | 2022-10-03 11:37:47 +0300 |
commit | e41b247e61ce4d4cc96badab3a14bf413e4f46f2 (patch) | |
tree | f68d57d9b472cbe1186f235034b97a1be75cac08 /src/converter/struct_to_string.hpp | |
parent | 7e2843c706c1a6e033662c45957a76e01d167438 (diff) | |
download | obmc-sila-smtp-e41b247e61ce4d4cc96badab3a14bf413e4f46f2.tar.xz |
refactoring
Diffstat (limited to 'src/converter/struct_to_string.hpp')
-rw-r--r-- | src/converter/struct_to_string.hpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/converter/struct_to_string.hpp b/src/converter/struct_to_string.hpp new file mode 100644 index 0000000..0a08327 --- /dev/null +++ b/src/converter/struct_to_string.hpp @@ -0,0 +1,31 @@ +#pragma once + +#include <unordered_map> +#include <string> + +#include "management/general.hpp" + +namespace smtp::converter +{ + class StructToString + { + public: + StructToString() = default; + ~StructToString() = default; + + std::string Convert( manage::SettingsFields const& from ) const; + private: + void ApplyAuth( manage::SettingsFields const& from, std::string& result ) const; + void ApplySsl( manage::SettingsFields const& from, std::string& result ) const; + + void ApplyUsername( manage::SettingsFields const& from, std::string& result ) const; + void ApplyPassword( manage::SettingsFields const& from, std::string& result ) const; + void ApplyHost( manage::SettingsFields const& from, std::string& result ) const; + void ApplyPort( manage::SettingsFields const& from, std::string& result ) const; + + std::string GetStringParam( std::string const& field, std::string const& param ) const; + std::string GetBoolParam( std::string const& field, bool param ) const; + }; +} + + |