Class PopCommand.

Inherits EventHandler

This class represents a single POP3 command. It is analogous to an IMAP Command, except that it does all the work itself, rather than leaving it to subclasses.

PopCommand::PopCommand( POP * pop, Command cmd, EStringList * args )

Creates a new PopCommand object representing the command cmd, for the POP server pop, with the arguments in args.

bool PopCommand::apop()

Handles APOP authentication.

bool PopCommand::auth()

Handles the AUTH command.

bool PopCommand::dele()

Marks the specified message for later deletion. Although the RFC prohibits the client from marking the same message twice, we blithely allow it.

The message is not marked in the database, since if it were, a different IMAP or POP command could delete it before this POP enters Update state.

bool PopCommand::done()

Returns true if this PopCommand has finished executing, and false if execute() hasn't been called, or if it has work left to do. Once the work is done, execute() calls finish() to signal completion.

bool PopCommand::fetch822Size()

Handles the guts of the STAT/LIST data acquisition.

void PopCommand::finish()

Marks this command as having finished execute()-ing. Any responses are written to the client, and the POP server is instructed to move on to processing the next command.

bool PopCommand::list()

Handles the LIST command.

EString PopCommand::nextArg()

This function returns the next argument supplied by the client for this command, or an empty string if there are no more arguments. (Should we assume that nextArg will never be called more times than there are arguments? The POP parser does enforce this.)

bool PopCommand::pass()

Handles the PASS command.

void PopCommand::read()

Tries to read a single response line from the client and pass it to the SaslMechanism.

bool PopCommand::retr( bool lines )

Handles both the RETR (if lines is false) and TOP (if lines is true) commands.

bool PopCommand::session()

Acquires a Session object for the POP server when it enters Transaction state.

bool PopCommand::startTls()

Handles the STLS command.

bool PopCommand::stat()

Handles the STAT command.

bool PopCommand::uidl()

Handles the UIDL command.

bool PopCommand::user()

Handles the USER command.

This web page based on source code belonging to The Archiveopteryx Developers. All rights reserved.