summaryrefslogtreecommitdiff
path: root/src/file/errors/registrator.hpp
blob: 381db2f3e226faa9bb03ed4f313288668ae0c0f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#pragma once

#include <map>

#include "types/ierror.hpp"

namespace smtp::file::errors
{
    class Registrator
    {
    public:
        Registrator() = default;
        ~Registrator() = default;

        void Add( types::IErrorPtr const& error, int error_code );
        void Process( types::SettingsType settings_type ) const;
    private:
        void DefaultProcess( int error_code ) const;
        std::map< int, types::IErrorPtr > mErrorSet;
    };
}