21#ifndef G_MESSAGE_ID_FILTER_H
22#define G_MESSAGE_ID_FILTER_H
31 class MessageIdFilter ;
41 G_EXCEPTION( Error ,
tx(
"failed to add message id to content file") ) ;
44 Filter::Type ,
const Filter::Config & ,
const std::string & spec ) ;
47 static std::string
process(
const G::Path & ,
const std::string & domain ) ;
52 Result run(
const GStore::MessageId & ,
bool & , GStore::FileStore::State )
override ;
56 static std::string newId(
const std::string & ) ;
60 std::string m_domain ;
A filter that adds a RFC-822 Message-ID to the message content if it does not have one already.
static std::string process(const G::Path &, const std::string &domain)
Edits a content file by adding a message-id if necessary.
MessageIdFilter(GNet::ExceptionSink, GStore::FileStore &, Filter::Type, const Filter::Config &, const std::string &spec)
Constructor.
A GSmtp::Filter base class for filters that run synchronously.
A tuple containing an ExceptionHandler interface pointer and a bound 'exception source' pointer.
A concrete implementation of the MessageStore interface dealing in paired flat files.
A somewhat opaque identifer for a GStore::MessageStore message id.
A Path object represents a file system path.
A class like c++17's std::string_view.
constexpr const char * tx(const char *p)
A briefer alternative to G::gettext_noop().