#pragma once #include #include #include "general/struct.hpp" namespace smtp::converter { class FileToStruct { public: FileToStruct() = default; ~FileToStruct() = default; general::SettingsFields Convert( general::SettingsFileDataType const& from ) const; private: void ApplyAuth( general::SettingsFields& result, general::SettingsFileDataType const& from ) const; void ApplySsl( general::SettingsFields& result, general::SettingsFileDataType const& from ) const; void ApplyBool( general::SettingsFileDataType const& from, std::string const& search_field, bool& field ) const; void ApplyUsername( general::SettingsFields& result, general::SettingsFileDataType const& from ) const; void ApplyPassword( general::SettingsFields& result, general::SettingsFileDataType const& from ) const; void ApplyHost( general::SettingsFields& result, general::SettingsFileDataType const& from ) const; void ApplyPort( general::SettingsFields& result, general::SettingsFileDataType const& from ) const; void ApplyString( general::SettingsFileDataType const& from, std::string const& search_field, std::string& field ) const; }; }