E-MailRelay
|
A Filter class that runs a sequence of sub-filters. More...
#include <gfilterchain.h>
Public Member Functions | |
FilterChain (GNet::EventState, GSmtp::FilterFactoryBase &, Filter::Type, const Filter::Config &, const GSmtp::FilterFactoryBase::Spec &spec) | |
Constructor. More... | |
~FilterChain () override | |
Destructor. More... | |
FilterChain (const FilterChain &)=delete | |
FilterChain (FilterChain &&)=delete | |
FilterChain & | operator= (const FilterChain &)=delete |
FilterChain & | operator= (FilterChain &&)=delete |
![]() | |
virtual | ~Filter ()=default |
Destructor. | |
virtual std::string | id () const =0 |
Returns the id passed to the derived-class constructor. More... | |
virtual bool | quiet () const =0 |
Returns true if there is no need for logging. | |
virtual void | start (const GStore::MessageId &)=0 |
Starts the filter for the given message. More... | |
virtual G::Slot::Signal< int > & | doneSignal () noexcept=0 |
Returns a signal which is raised once start() has completed or failed. More... | |
virtual void | cancel ()=0 |
Aborts any incomplete filtering. | |
virtual Result | result () const =0 |
Returns the filter result, after the doneSignal() has been emitted. | |
virtual std::string | response () const =0 |
Returns a non-empty SMTP response string iff the filter failed, or an empty response if successful or abandoned. | |
virtual int | responseCode () const =0 |
An override for the SMTP response code for when the filter has failed. More... | |
virtual std::string | reason () const =0 |
Returns a non-empty reason string iff the filter failed, or an empty reason if successful or abandoned. | |
virtual bool | special () const =0 |
Returns true if the filter indicated special handling is required. | |
std::string | str (Type type) const |
Returns a diagnostic string for logging, including the filter result. More... | |
Additional Inherited Members | |
![]() | |
enum class | Result { ok = 0 , abandon = 1 , fail = 2 } |
enum class | Type { server , client , routing } |
![]() | |
static std::string_view | strtype (Type type) noexcept |
Returns a type string for logging: "filter", "client-filter" or "routing-filter". More... | |
A Filter class that runs a sequence of sub-filters.
The sub-filters are run in sequence only as long as they return success.
Definition at line 42 of file gfilterchain.h.
GFilters::FilterChain::FilterChain | ( | GNet::EventState | es, |
GSmtp::FilterFactoryBase & | ff, | ||
Filter::Type | filter_type, | ||
const Filter::Config & | filter_config, | ||
const GSmtp::FilterFactoryBase::Spec & | spec | ||
) |
Constructor.
Definition at line 30 of file gfilterchain.cpp.
|
override |
Destructor.
Definition at line 56 of file gfilterchain.cpp.