Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
Internet Protocols Module Reference Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

RWPop3Client

Module:  Internet Protocols Module   Package:  POP3


Does not inherit

Local Index

Members

Non-Members

Header File

#include <rw/pop3/RWPop3Client.h>

Description

RWPop3Client enables low-level access to the POP3 client-side protocol. The names of its methods parallel the names of the protocol commands. The RWPop3Client class maintains a finite state machine to enforce correct POP3 protocol action ordering. In the case of misordered method invocation, an RWProtocolClientCmdSequenceError exception is thrown.

Each client method returns an RWTIOUResult whose redeemable is a particular type of RWPop3Reply. RWPop3Reply and its subclasses -- RWPop3ConnReply, RWPop3StatReply, and RWPop3DataReply -- contain encapsulations of standard POP3 protocol reply messages. The derived classes of RWPop3Reply return additional information specific to that type of protocol reply.

All multi-line POP3 responses are provided on a portal returned from RWPop3DataReply::getPortal(). These lines are bounded by the octet pair <cr><lf>. The final line of a multi-line response consists of the triplet <period><cr><lf>.

RWPop3Client objects are lightweight. They are implemented using the interface-implementation idiom. The RWPop3Client is a handle to an implementation that performs the protocol interaction.

Example

Public Constructor

RWPop3Client();

Public Member Functions

RWTIOUResult<RWPop3ConnReply>
connect(const RWSockAddrBase& address); 
RWTIOUResult<RWPop3Reply>
dele(int message);
unsigned long
getTimeout(void) const;
RWTIOUResult<RWPop3DataReply>
list(int message=0);
RWTIOUResult<RWPop3Reply>
noop(); 
RWTIOUResult<RWPop3Reply>
pass(const RWCString& password); 
RWTIOUResult<RWPop3Reply>
quit();
RWTIOUResult<RWPop3DataReply>
retr(int message);
RWTIOUResult<RWPop3Reply>
rset();
void
setTimeout(unsigned long timeout);
RWTIOUResult<RWPop3StatReply>
stat();
RWTIOUResult<RWPop3DataReply>
top(int message, int lines);
RWTIOUResult<RWPop3DataReply>
uidl(int message=0);
RWTIOUResult<RWPop3Reply>
user(const RWCString& user); 

Related Global Function

bool
pop3StreamFilter(const RWCString& buffer);


Previous fileTop of DocumentContentsIndex pageNext file

© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.