21#ifndef G_FILTER_CHAIN_H
22#define G_FILTER_CHAIN_H
59 std::string id()
const override ;
60 bool quiet()
const override ;
63 void cancel()
override ;
64 Result result()
const override ;
65 std::string response()
const override ;
66 int responseCode()
const override ;
67 std::string reason()
const override ;
68 bool special()
const override ;
73 void onFilterDone(
int ) ;
77 std::string m_filter_id ;
78 std::vector<std::unique_ptr<GSmtp::Filter>> m_filters ;
79 std::size_t m_filter_index {0U} ;
81 bool m_running {
false} ;
A Filter class that runs a sequence of sub-filters.
FilterChain(GNet::EventState, GSmtp::FilterFactoryBase &, Filter::Type, const Filter::Config &, const GSmtp::FilterFactoryBase::Spec &spec)
Constructor.
~FilterChain() override
Destructor.
A lightweight object containing an ExceptionHandler pointer, optional ExceptionSource pointer and opt...
A factory interface for making GSmtp::Filter message processors.
An interface for processing a message file through a filter.
A somewhat opaque identifer for a GStore::MessageStore message id.
Filter specification tuple for GSmtp::FilterFactoryBase::newFilter().