summaryrefslogtreecommitdiff
path: root/src/management/builder/settings.cpp
diff options
context:
space:
mode:
authorclaiff <claiff@mail.ru>2022-10-05 16:02:06 +0300
committerclaiff <claiff@mail.ru>2022-10-05 16:02:06 +0300
commit3f1f70a3b945605c6abb7d23f46042b963db243a (patch)
treec7ae9c113d29aa3350eca04f27a933bd3b5f769c /src/management/builder/settings.cpp
parent9ed43c1057eeec6a01b8fdfd4d2ee54f9df39670 (diff)
parent43e721305c866ad4b2c4c35d1133f169e41dd49b (diff)
downloadobmc-sila-smtp-3f1f70a3b945605c6abb7d23f46042b963db243a.tar.xz
Merge branch 'devtool' into refactor/3009refactor/3009
Diffstat (limited to 'src/management/builder/settings.cpp')
-rw-r--r--src/management/builder/settings.cpp27
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
{