E-MailRelay

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | List of all members
GSmtp::ProtocolMessageForward Class Reference

A concrete implementation of the ProtocolMessage interface that stores incoming messages in the message store and then immediately forwards them on to the downstream server. More...

`#include <gprotocolmessageforward.h>`

Inheritance diagram for GSmtp::ProtocolMessageForward:

## Public Member Functions
| ProtocolMessageForward (MessageStore &store, unique_ptr< ProtocolMessage > pm, const GSmtp::Client::Config &client_config, const GAuth::Secrets &client_secrets, const std::string &remote_server_address)
| Constructor. More...
virtual | ~ProtocolMessageForward ()
| Destructor.
virtual G::Slot::Signal4< bool, unsigned long, std::string, std::string > & | doneSignal () override
| Override from GSmtp::ProtocolMessage.
virtual void | reset () override
| Override from GSmtp::ProtocolMessage.
virtual void | clear () override
| Override from GSmtp::ProtocolMessage.
virtual bool | setFrom (const std::string &from_user, const std::string &) override
| Override from GSmtp::ProtocolMessage.
virtual bool | addTo (const std::string &to_user, VerifierStatus to_status) override
| Override from GSmtp::ProtocolMessage.
virtual void | addReceived (const std::string &) override
| Override from GSmtp::ProtocolMessage.
virtual bool | addText (const char *, size_t) override
| Override from GSmtp::ProtocolMessage.
virtual std::string | from () const override
| Override from GSmtp::ProtocolMessage.
virtual void | process (const std::string &auth_id, const std::string &peer_socket_address, const std::string &peer_certificate) override
| Override from GSmtp::ProtocolMessage.
Public Member Functions inherited from GSmtp::ProtocolMessage
virtual | ~ProtocolMessage ()
| Destructor.
bool | addTextLine (const std::string &)
| A convenience function that calls addText() taking a string parameter. More...

## Protected Member Functions
G::Slot::Signal4< bool, unsigned long, std::string, std::string > & | storageDoneSignal ()
| Returns the signal which is used to signal that the storage is complete. More...
void | processDone (bool, unsigned long, std::string, std::string)
| Called by derived classes that have intercepted the storageDoneSignal() when their own post-storage processing is complete. More...

## Detailed Description

A concrete implementation of the ProtocolMessage interface that stores incoming messages in the message store and then immediately forwards them on to the downstream server.

The implementation delegates to an instance of the ProtocolMessageStore class (ie. its sibling class) to do the storage, and to an instance of the GSmtp::Client class to do the forwarding.

See also
  GSmtp::ProtocolMessageStore

Definition at line 54 of file gprotocolmessageforward.h.

## Constructor & Destructor Documentation

GSmtp::ProtocolMessageForward::ProtocolMessageForward | ( | MessageStore & | store,
|  | unique_ptr< ProtocolMessage > | pm,
|  | const GSmtp::Client::Config & | client_config,
|  | const GAuth::Secrets & | client_secrets,
|  | const std::string & | remote_server_address
| ) |  |

Constructor.

The 'store' and 'client-secrets' references are kept.

Definition at line 32 of file gprotocolmessageforward.cpp.

## Member Function Documentation

void GSmtp::ProtocolMessageForward::processDone | ( | bool | success,
|  | unsigned long | id,
|  | std::string | response,
|  | std::string | reason
| ) |  |
| protected

Called by derived classes that have intercepted the storageDoneSignal() when their own post-storage processing is complete.

Definition at line 110 of file gprotocolmessageforward.cpp.

G::Slot::Signal4< bool, unsigned long, std::string, std::string > & GSmtp::ProtocolMessageForward::storageDoneSignal | ( |  | ) |
| protected

Returns the signal which is used to signal that the storage is complete.

Derived classes can use this to intercept the storage-done signal emit()ed by the ProtocolMessageStore object.

Definition at line 57 of file gprotocolmessageforward.cpp.

The documentation for this class was generated from the following files:

- /tmp/slackrepo/SBo/slackrepo.S3SYfd/build_emailrelay/emailrelay-2.0.1/src/gsmtp/gprotocolmessageforward.h
- /tmp/slackrepo/SBo/slackrepo.S3SYfd/build_emailrelay/emailrelay-2.0.1/src/gsmtp/gprotocolmessageforward.cpp