diff options
author | claiff <claiff@mail.ru> | 2022-10-05 16:03:08 +0300 |
---|---|---|
committer | claiff <claiff@mail.ru> | 2022-10-05 16:03:08 +0300 |
commit | 8edef99a5b52643e0b919c424357752cbbc9a8dd (patch) | |
tree | c7ae9c113d29aa3350eca04f27a933bd3b5f769c /src/management/builder/settings.cpp | |
parent | 2b03fece7f5895591eabd2f04baa2df19b4c3417 (diff) | |
parent | 3f1f70a3b945605c6abb7d23f46042b963db243a (diff) | |
download | obmc-sila-smtp-8edef99a5b52643e0b919c424357752cbbc9a8dd.tar.xz |
Merge branch 'refactor/3009'
Diffstat (limited to 'src/management/builder/settings.cpp')
-rw-r--r-- | src/management/builder/settings.cpp | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/src/management/builder/settings.cpp b/src/management/builder/settings.cpp index 0b27bef..b682c49 100644 --- a/src/management/builder/settings.cpp +++ b/src/management/builder/settings.cpp @@ -1,23 +1,26 @@ #include "settings.hpp" #include "checker/errors/settings/port_number.hpp" #include "checker/errors/settings/server.hpp" +#include "file/settings/settings.hpp" +#include "file/settings/checker_decorator.hpp" +#include "file/settings/file_decorator.hpp" namespace smtp::manage::builder { - smtp::manage::Settings Settings::Build() const { - auto file_manipulator = GetFileSettings(); - return smtp::manage::Settings{file_manipulator}; - } - - file::Settings Settings::GetFileSettings() const - { - static const std::string PATH = "/var/lib/smtp/settings.txt"; - - auto registrator = BuildErrorRegistrator(); - return file::Settings{PATH, registrator}; - } + file::settings::Settings settings{ BuildFileManipulator() }; + return smtp::manage::Settings{settings}; + } + + file::settings::types::IFileManipulatorPtr Settings::BuildFileManipulator() const + { + static const std::string PATH = "/var/lib/smtp/settings.txt"; + + auto result = std::make_shared<file::settings::CheckerDecorator>(BuildErrorRegistrator()); + result->Apply(std::make_shared<file::settings::FileDecorator>(PATH)); + return result; + } checker::RegistratorSettings Settings::BuildErrorRegistrator() const { |