A class which allows SMTP messages (envelope+content) to be stored and retrieved. More...
#include <gmessagestore.h>
Classes | |
class | Iterator |
An iterator class for GSmtp::MessageStore. More... | |
class | IteratorImp |
A base class for MessageStore::Iterator implementations. More... | |
Public Member Functions | |
virtual | ~MessageStore () |
Destructor. More... | |
virtual std::auto_ptr< NewMessage > | newMessage (const std::string &from)=0 |
Creates a new message. More... | |
virtual bool | empty () const =0 |
Returns true if the message store is empty. More... | |
virtual std::auto_ptr< StoredMessage > | get (unsigned long id)=0 |
Pulls a message out of the store. More... | |
virtual Iterator | iterator (bool lock)=0 |
Returns an iterator for stored messages. More... | |
virtual Iterator | failures ()=0 |
Returns an iterator for failed messages. More... | |
virtual void | repoll ()=0 |
Ensures that the next updated() signal() has its parameter set to true. More... | |
virtual void | unfailAll ()=0 |
Causes messages marked as failed to be unmarked. More... | |
virtual void | updated ()=0 |
Called by associated classes to indicate that the store has changed. More... | |
virtual G::Signal1< bool > & | signal ()=0 |
Provides a signal which is activated when something might have changed in the store. More... | |
Static Public Member Functions | |
static G::Path | defaultDirectory () |
Returns a default spool directory, such as "/usr/local/var/spool/emailrelay". More... | |
A class which allows SMTP messages (envelope+content) to be stored and retrieved.
Definition at line 45 of file gmessagestore.h.
|
virtual |
Destructor.
Definition at line 27 of file gmessagestore.cpp.
|
static |
Returns a default spool directory, such as "/usr/local/var/spool/emailrelay".
(Typically has an os-specific implementation.)
Definition at line 30 of file gmessagestore_unix.cpp.
References G_SPOOLDIR.
Referenced by Main::Configuration::spoolDir(), and Main::CommandLineImp::switchSpec().
|
pure virtual |
Returns true if the message store is empty.
Implemented in GSmtp::FileStore.
Referenced by GSmtp::Client::sendMessagesFrom().
|
pure virtual |
Returns an iterator for failed messages.
Implemented in GSmtp::FileStore.
|
pure virtual |
Pulls a message out of the store.
Throws execptions on error.
See also NewMessage::id().
As a side effect some stored messages may be marked as bad, or deleted (if they have no recipients).
Implemented in GSmtp::FileStore.
|
pure virtual |
Returns an iterator for stored messages.
(Note that copies of iterators share state. For independent iterators call iterator() for each.)
If 'lock' is true then stored messages returned by the iterator are locked. Normally they are then processed (using StoredMessage::extractContentStream()) and then deleted (by StoredMessage::destroy()).
As a side effect of iteration when 'lock' is true, then some stored messages may be marked as bad, or deleted (if they have no recipients).
Implemented in GSmtp::FileStore.
|
pure virtual |
Creates a new message.
Implemented in GSmtp::FileStore.
|
pure virtual |
Ensures that the next updated() signal() has its parameter set to true.
Implemented in GSmtp::FileStore.
|
pure virtual |
Provides a signal which is activated when something might have changed in the store.
The boolean parameter is used to indicate that repoll()ing is requested.
Implemented in GSmtp::FileStore.
|
pure virtual |
Causes messages marked as failed to be unmarked.
Implemented in GSmtp::FileStore.
|
pure virtual |
Called by associated classes to indicate that the store has changed.
Results in the signal() being emited.
Implemented in GSmtp::FileStore.