summaryrefslogtreecommitdiff
path: root/src/file/converter/settings.hpp
blob: 8f949429b30cb055686a5e706b840d5a85f37d2b (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
29
30
#pragma once

#include <unordered_map>
#include <string>

#include "managment/general.hpp"

namespace smtp::file::converter
{
    using ParsedDataType = std::unordered_map<std::string, std::string>;;

    class Settings
    {
    public:
        Settings() = default;
        ~Settings() = default;

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

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