diff options
author | claiff <claiff@mail.ru> | 2022-10-05 16:02:06 +0300 |
---|---|---|
committer | claiff <claiff@mail.ru> | 2022-10-05 16:02:06 +0300 |
commit | 3f1f70a3b945605c6abb7d23f46042b963db243a (patch) | |
tree | c7ae9c113d29aa3350eca04f27a933bd3b5f769c /src/file/settings/checker_decorator.cpp | |
parent | 9ed43c1057eeec6a01b8fdfd4d2ee54f9df39670 (diff) | |
parent | 43e721305c866ad4b2c4c35d1133f169e41dd49b (diff) | |
download | obmc-sila-smtp-refactor/3009.tar.xz |
Merge branch 'devtool' into refactor/3009refactor/3009
Diffstat (limited to 'src/file/settings/checker_decorator.cpp')
-rw-r--r-- | src/file/settings/checker_decorator.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/file/settings/checker_decorator.cpp b/src/file/settings/checker_decorator.cpp new file mode 100644 index 0000000..ef560ad --- /dev/null +++ b/src/file/settings/checker_decorator.cpp @@ -0,0 +1,42 @@ +#include "checker_decorator.hpp" + +namespace smtp::file::settings +{ + + // + //Constructors + // + + CheckerDecorator::CheckerDecorator( checker::RegistratorSettings const& registrator_errors ) + : mRegistratorErrors( registrator_errors ) + { + } + + // + //Public methods + // + + manage::SettingsFileDataType CheckerDecorator::Read() const + { + manage::SettingsFileDataType result; + if(!mBase) + { + return result; + } + result = mBase->Read(); + return mRegistratorErrors.Check( result ) ? result : manage::SettingsFileDataType{}; + } + + bool CheckerDecorator::Write( manage::SettingsFileDataType const& settings_fields ) const + { + if( !mBase ) + { + return false; + } + if( mRegistratorErrors.Check( settings_fields ) ) + { + return mBase->Write(settings_fields); + } + return false; + } +} |