summaryrefslogtreecommitdiff
path: root/src/converter/struct_to_file.hpp
blob: 22f7260b5947cc95a1891fffa02affae31c828f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#pragma once

#include <unordered_map>
#include <string>

#include "management/general.hpp"

namespace smtp::converter
{
    class StructToFile
    {
    public:
        StructToFile() = default;
        ~StructToFile() = default;

        std::unordered_map<std::string, std::string> Convert( manage::SettingsFields const& from  ) const;
    private:
        void ApplyAuth( manage::SettingsFields const& from, manage::SettingsFileDataType& result ) const;
        void ApplySsl( manage::SettingsFields const& from, manage::SettingsFileDataType& result ) const;

        void ApplyUsername( manage::SettingsFields const& from, manage::SettingsFileDataType& result ) const;
        void ApplyPassword( manage::SettingsFields const& from, manage::SettingsFileDataType& result ) const;
        void ApplyHost( manage::SettingsFields const& from, manage::SettingsFileDataType& result ) const;
        void ApplyPort( manage::SettingsFields const& from, manage::SettingsFileDataType& result ) const;
    };
}