- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

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

enum GSmtp::ClientProtocolReply::SubType

Enumerator
Syntax |
Information |
Connections |
MailSystem |
Invalid_SubType |

Definition at line 59 of file gclientprotocol.h.

enum GSmtp::ClientProtocolReply::Type

Enumerator
PositivePreliminary |
PositiveCompletion |
PositiveIntermediate |
TransientNegative |
PermanentNegative |

Definition at line 51 of file gclientprotocol.h.

enum GSmtp::ClientProtocolReply::Value

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 637 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 763 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 682 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 716 of file gclientprotocol.cpp.

Referenced by error(), and ok().

bool GSmtp::ClientProtocolReply::incomplete | ( |  | ) | const

Returns true if the reply is incomplete.

Definition at line 696 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 711 of file gclientprotocol.cpp.

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

Factory function for an ok reply.

Definition at line 660 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 669 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 701 of file gclientprotocol.cpp.

Referenced by error(), and ok().

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

Returns the reply sub-type.

Definition at line 753 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 722 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 774 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 727 of file gclientprotocol.cpp.

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

Returns the reply type (category).

Definition at line 747 of file gclientprotocol.cpp.

References G_ASSERT.

bool GSmtp::ClientProtocolReply::validFormat | ( |  | ) | const

Returns true if a valid format.

Definition at line 691 of file gclientprotocol.cpp.

int GSmtp::ClientProtocolReply::value | ( |  | ) | const

Returns the numeric value of the reply.

Definition at line 706 of file gclientprotocol.cpp.

Referenced by add().

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

- gclientprotocol.h
- gclientprotocol.cpp