21#ifndef G_SMTP_FORWARD_H
22#define G_SMTP_FORWARD_H
85 void sendMessage( std::unique_ptr<GStore::StoredMessage> message ) ;
108 void doOnDelete(
const std::string & reason ,
bool done ) ;
124 void onErrorTimeout() ;
125 void onContinueTimeout() ;
127 void start( std::unique_ptr<GStore::StoredMessage> ) ;
129 void onEventSignal(
const std::string & ,
const std::string & ,
const std::string & ) ;
130 void onDelete(
const std::string & reason ) ;
131 void onDeleteSignal(
const std::string & ) ;
132 void onDeletedSignal(
const std::string & ) ;
135 void routingFilterDone(
int ) ;
136 bool unconnectable(
const std::string & )
const ;
138 static bool contains(
const G::StringArray & ,
const std::string & ) ;
147 std::string m_forward_to_address ;
154 std::string m_error ;
155 std::shared_ptr<GStore::MessageStore::Iterator> m_iter ;
156 std::unique_ptr<GStore::StoredMessage> m_message ;
157 unsigned int m_message_count ;
158 std::unique_ptr<Filter> m_routing_filter ;
159 std::string m_selector ;
160 bool m_has_connected ;
An interface used by GAuth::SaslClient to obtain a client id and its authentication secret.
A lightweight object containing an ExceptionHandler pointer, optional ExceptionSource pointer and opt...
A class that represents the remote target for out-going client connections.
A timer class template in which the timeout is delivered to the specified method.
A factory interface for making GSmtp::Filter message processors.
A class for forwarding messages from a message store that manages a GSmtp::Client instance,...
G::Slot::Signal< const std::string &, const std::string &, const std::string & > & eventSignal() noexcept
See GNet::Client::eventSignal()
Forward(GNet::EventState, GStore::MessageStore &store, FilterFactoryBase &, const GNet::Location &forward_to_default, const GAuth::SaslClientSecrets &, const Config &config)
Constructor.
std::string peerAddressString() const
Returns the Client's peerAddressString() if currently connected.
void doOnDelete(const std::string &reason, bool done)
Used by owning ClientPtr when handling an exception.
bool finished() const
Returns true after quitAndFinish().
virtual ~Forward()
Destructor.
G::Slot::Signal< const Client::MessageDoneInfo & > & messageDoneSignal() noexcept
Returns a signal that indicates that sendMessage() has completed or failed.
void quitAndFinish()
Finishes a sendMessage() sequence.
void sendMessage(std::unique_ptr< GStore::StoredMessage > message)
Starts sending the given message.
A class which allows SMTP messages to be stored and retrieved.
An abstract interface for messages which have come from the store.
std::vector< std::string > StringArray
A std::vector of std::strings.
A structure containing GSmtp::Client configuration parameters.
Signal parameters for GNet::Client::messageDoneSignal()
A slot holder, with connect() and emit() methods.