#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; } }