21#ifndef G_SMTP_PROTOCOL_MESSAGE_FORWARD_H
22#define G_SMTP_PROTOCOL_MESSAGE_FORWARD_H
41 class ProtocolMessageForward ;
59 std::unique_ptr<ProtocolMessage> pm ,
62 const std::string & remote_server_address ) ;
83 void reset()
override ;
84 void clear()
override ;
85 MessageId setFrom(
const std::string & from_user ,
const std::string & )
override ;
87 void addReceived(
const std::string & )
override ;
88 bool addText(
const char * , std::size_t )
override ;
89 std::string from()
const override ;
90 void process(
const std::string & auth_id,
const std::string & peer_socket_address ,
91 const std::string & peer_certificate )
override ;
100 void clientDone(
const std::string & ) ;
101 void messageDone(
const std::string & ) ;
102 std::string forward(
const MessageId & ,
bool & ) ;
112 std::unique_ptr<ProtocolMessage> m_pm ;
An interface used by GAuth::SaslClient to obtain a client id and its authentication secret.
A tuple containing an ExceptionHandler interface pointer and a bound 'exception source' pointer.
A class that represents the remote target for out-going client connections.
A factory interface for GSmtp::Filter message processors.
A somewhat opaque identifer for a MessageStore message.
A class which allows SMTP messages to be stored and retrieved.
A concrete implementation of the ProtocolMessage interface that stores incoming messages in the messa...
void processDone(bool, const MessageId &, const std::string &, const std::string &)
Called by derived classes that have intercepted the storageDoneSignal() when their own post-storage p...
ProtocolMessageForward(GNet::ExceptionSink, MessageStore &store, FilterFactory &, std::unique_ptr< ProtocolMessage > pm, const GSmtp::Client::Config &client_config, const GAuth::SaslClientSecrets &client_secrets, const std::string &remote_server_address)
Constructor.
~ProtocolMessageForward() override
Destructor.
ProtocolMessage::DoneSignal & storageDoneSignal()
Returns the signal which is used to signal that the storage is complete.
An interface used by the ServerProtocol class to assemble and process an incoming message.
A structure returned by GSmtp::Verifier to describe the status of a 'rcpt-to' or 'vrfy' recipient.
A linked list of CallFrame pointers.
SMTP and message-store classes.
A structure containing GSmtp::Client configuration parameters.