Public Types | Public Member Functions | Static Public Member Functions | List of all members
GSmtp::ClientProtocolReply Class Reference

A private implementation class used by ClientProtocol. More...

#include <gclientprotocol.h>

Public Types

enum  Type {
  PositivePreliminary = 1, PositiveCompletion = 2, PositiveIntermediate = 3, TransientNegative = 4,
  PermanentNegative = 5
}
 
enum  SubType {
  Syntax = 0, Information = 1, Connections = 2, MailSystem = 3,
  Invalid_SubType = 4
}
 
enum  Value {
  Internal_2xx = 222, Internal_2yy = 223, Internal_2zz = 224, ServiceReady_220 = 220,
  Ok_250 = 250, Authenticated_235 = 235, Challenge_334 = 334, OkForData_354 = 354,
  SyntaxError_500 = 500, SyntaxError_501 = 501, NotImplemented_502 = 502, BadSequence_503 = 503,
  NotAuthenticated_535 = 535, NotAvailable_454 = 454, Invalid = 0
}
 

Public Member Functions

 ClientProtocolReply (const std::string &line=std::string())
 Constructor for one line of text. More...
 
bool add (const ClientProtocolReply &other)
 Adds more lines to this reply. More...
 
bool incomplete () const
 Returns true if the reply is incomplete. More...
 
bool validFormat () const
 Returns true if a valid format. More...
 
bool positive () const
 Returns true if the numeric value of the reply is less that four hundred. More...
 
bool is (Value v) const
 Returns true if the reply value is 'v'. More...
 
int value () const
 Returns the numeric value of the reply. More...
 
std::string text () const
 Returns the complete text of the reply, excluding the numeric part, and with embedded newlines. More...
 
std::string errorText () const
 Returns the text() string but with the guarantee that the returned string is empty if and only if the reply value is exactly 250. More...
 
bool textContains (std::string s) const
 Returns true if the text() contains the given substring. More...
 
std::string textLine (const std::string &prefix) const
 Returns a line of text() which starts with prefix. More...
 
Type type () const
 Returns the reply type (category). More...
 
SubType subType () const
 Returns the reply sub-type. More...
 

Static Public Member Functions

static ClientProtocolReply ok ()
 Factory function for an ok reply. More...
 
static ClientProtocolReply ok (Value)
 Factory function for an ok reply with a specific 2xx value. More...
 
static ClientProtocolReply error (const std::string &reason)
 Factory function for a generalised error reply. More...
 

Detailed Description

A private implementation class used by ClientProtocol.

Definition at line 48 of file gclientprotocol.h.

Member Enumeration Documentation

Enumerator
Syntax 
Information 
Connections 
MailSystem 
Invalid_SubType 

Definition at line 59 of file gclientprotocol.h.

Enumerator
PositivePreliminary 
PositiveCompletion 
PositiveIntermediate 
TransientNegative 
PermanentNegative 

Definition at line 51 of file gclientprotocol.h.

Enumerator
Internal_2xx 
Internal_2yy 
Internal_2zz 
ServiceReady_220 
Ok_250 
Authenticated_235 
Challenge_334 
OkForData_354 
SyntaxError_500 
SyntaxError_501 
NotImplemented_502 
BadSequence_503 
NotAuthenticated_535 
NotAvailable_454 
Invalid 

Definition at line 67 of file gclientprotocol.h.

Constructor & Destructor Documentation

GSmtp::ClientProtocolReply::ClientProtocolReply ( const std::string &  line = std::string())
explicit

Constructor for one line of text.

Definition at line 623 of file gclientprotocol.cpp.

References G::Str::replaceAll(), G::Str::toInt(), and G::Str::trimLeft().

Member Function Documentation

bool GSmtp::ClientProtocolReply::add ( const ClientProtocolReply other)

Adds more lines to this reply.

Returns false if the numeric values are different.

Definition at line 749 of file gclientprotocol.cpp.

References G_ASSERT, text(), and value().

GSmtp::ClientProtocolReply GSmtp::ClientProtocolReply::error ( const std::string &  reason)
static

Factory function for a generalised error reply.

Definition at line 668 of file gclientprotocol.cpp.

References errorText(), G_ASSERT, incomplete(), positive(), and G::Str::printable().

std::string GSmtp::ClientProtocolReply::errorText ( ) const

Returns the text() string but with the guarantee that the returned string is empty if and only if the reply value is exactly 250.

Definition at line 702 of file gclientprotocol.cpp.

Referenced by error(), and ok().

bool GSmtp::ClientProtocolReply::incomplete ( ) const

Returns true if the reply is incomplete.

Definition at line 682 of file gclientprotocol.cpp.

Referenced by error(), and ok().

bool GSmtp::ClientProtocolReply::is ( Value  v) const

Returns true if the reply value is 'v'.

Definition at line 697 of file gclientprotocol.cpp.

GSmtp::ClientProtocolReply GSmtp::ClientProtocolReply::ok ( )
static

Factory function for an ok reply.

Definition at line 646 of file gclientprotocol.cpp.

References errorText(), G_ASSERT, incomplete(), and positive().

GSmtp::ClientProtocolReply GSmtp::ClientProtocolReply::ok ( Value  v)
static

Factory function for an ok reply with a specific 2xx value.

Definition at line 655 of file gclientprotocol.cpp.

References G_ASSERT.

bool GSmtp::ClientProtocolReply::positive ( ) const

Returns true if the numeric value of the reply is less that four hundred.

Definition at line 687 of file gclientprotocol.cpp.

Referenced by error(), and ok().

GSmtp::ClientProtocolReply::SubType GSmtp::ClientProtocolReply::subType ( ) const

Returns the reply sub-type.

Definition at line 739 of file gclientprotocol.cpp.

References G_ASSERT.

std::string GSmtp::ClientProtocolReply::text ( ) const

Returns the complete text of the reply, excluding the numeric part, and with embedded newlines.

Definition at line 708 of file gclientprotocol.cpp.

Referenced by add().

bool GSmtp::ClientProtocolReply::textContains ( std::string  s) const

Returns true if the text() contains the given substring.

Definition at line 760 of file gclientprotocol.cpp.

References G::Str::toUpper().

std::string GSmtp::ClientProtocolReply::textLine ( const std::string &  prefix) const

Returns a line of text() which starts with prefix.

Definition at line 713 of file gclientprotocol.cpp.

GSmtp::ClientProtocolReply::Type GSmtp::ClientProtocolReply::type ( ) const

Returns the reply type (category).

Definition at line 733 of file gclientprotocol.cpp.

References G_ASSERT.

bool GSmtp::ClientProtocolReply::validFormat ( ) const

Returns true if a valid format.

Definition at line 677 of file gclientprotocol.cpp.

int GSmtp::ClientProtocolReply::value ( ) const

Returns the numeric value of the reply.

Definition at line 692 of file gclientprotocol.cpp.

Referenced by add().


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