VMime
emailAddress Class Reference
Inheritance diagram for emailAddress:
Collaboration diagram for emailAddress:

Public Member Functions

 emailAddress ()
 
 emailAddress (const emailAddress &eml)
 
 emailAddress (const string &email)
 
 emailAddress (const char *email)
 
 emailAddress (const string &localName, const string &domainName)
 
 emailAddress (const word &localName, const word &domainName)
 
const wordgetLocalName () const
 
void setLocalName (const word &localName)
 
const wordgetDomainName () const
 
void setDomainName (const word &domainName)
 
bool isEmpty () const
 
const string toString () const
 
const text toText () const
 
bool operator== (const class emailAddress &eml) const
 
bool operator!= (const class emailAddress &eml) const
 
void copyFrom (const component &other)
 
shared_ptr< componentclone () const
 
emailAddressoperator= (const emailAddress &other)
 
const std::vector< shared_ptr
< component > > 
getChildComponents ()
 
void parseImpl (const parsingContext &ctx, const string &buffer, const size_t position, const size_t end, size_t *newPosition=NULL)
 
void generateImpl (const generationContext &ctx, utility::outputStream &os, const size_t curLinePos=0, size_t *newLinePos=NULL) const
 
- Public Member Functions inherited from component
 component ()
 
virtual ~component ()
 
void parse (const string &buffer)
 
void parse (const parsingContext &ctx, const string &buffer)
 
void parse (shared_ptr< utility::inputStream > inputStream, const size_t length)
 
void parse (const string &buffer, const size_t position, const size_t end, size_t *newPosition=NULL)
 
void parse (const parsingContext &ctx, const string &buffer, const size_t position, const size_t end, size_t *newPosition=NULL)
 
void parse (shared_ptr< utility::inputStream > inputStream, const size_t position, const size_t end, size_t *newPosition=NULL)
 
void parse (const parsingContext &ctx, shared_ptr< utility::inputStream > inputStream, const size_t position, const size_t end, size_t *newPosition=NULL)
 
virtual const string generate (const size_t maxLineLength=lineLengthLimits::infinite, const size_t curLinePos=0) const
 
virtual void generate (utility::outputStream &outputStream, const size_t curLinePos=0, size_t *newLinePos=NULL) const
 
virtual void generate (const generationContext &ctx, utility::outputStream &outputStream, const size_t curLinePos=0, size_t *newLinePos=NULL) const
 
size_t getParsedOffset () const
 
size_t getParsedLength () const
 
virtual size_t getGeneratedSize (const generationContext &ctx)
 

Protected Attributes

word m_localName
 
word m_domainName
 

Additional Inherited Members

- Protected Member Functions inherited from component
void setParsedBounds (const size_t start, const size_t end)
 
virtual void parseImpl (const parsingContext &ctx, shared_ptr< utility::parserInputStreamAdapter > parser, const size_t position, const size_t end, size_t *newPosition=NULL)
 
- Protected Member Functions inherited from object
 object ()
 
 object (const object &)
 
objectoperator= (const object &)
 
virtual ~object ()
 

Detailed Description

An email address: local name and domain name (basic type).

Constructor & Destructor Documentation

emailAddress ( const emailAddress eml)
emailAddress ( const string email)

References component::parse().

emailAddress ( const char *  email)

References component::parse().

emailAddress ( const string localName,
const string domainName 
)
emailAddress ( const word localName,
const word domainName 
)

Member Function Documentation

shared_ptr< component > clone ( ) const
virtual

Clone this component.

Returns
a copy of this component

Implements component.

void copyFrom ( const component other)
virtual

Replace data in this component by data in other component.

Both components must be of the same type.

Exceptions
std::bad_cast_exceptionif the components are not of the same (dynamic) type
Parameters
otherother component to copy data from

Implements component.

References emailAddress::m_domainName, and emailAddress::m_localName.

Referenced by emailAddress::operator=().

void generateImpl ( const generationContext ctx,
utility::outputStream os,
const size_t  curLinePos = 0,
size_t newLinePos = NULL 
) const
virtual
const std::vector< shared_ptr< component > > getChildComponents ( )
virtual

Return the list of children of this component.

Returns
list of child components

Implements component.

const word & getDomainName ( ) const

Return the domain name of the address.

Returns
domain name of the address

References emailAddress::m_domainName.

const word & getLocalName ( ) const

Return the local name of the address.

Returns
local name of the address

References emailAddress::m_localName.

bool isEmpty ( ) const

Returns whether this email address is empty.

Address is considered as empty if the local part is not specified.

Returns
true if the address is empty, false otherwise

References word::isEmpty(), and emailAddress::m_localName.

Referenced by mailbox::isEmpty().

bool operator!= ( const class emailAddress eml) const
emailAddress & operator= ( const emailAddress other)
bool operator== ( const class emailAddress eml) const
void parseImpl ( const parsingContext ctx,
const string buffer,
const size_t  position,
const size_t  end,
size_t newPosition = NULL 
)
virtual
void setDomainName ( const word domainName)

Set the domain name of the address.

Parameters
domainNamedomain name of the address

References emailAddress::m_domainName.

void setLocalName ( const word localName)

Set the local name of the address.

Parameters
localNamelocal name of the address

References emailAddress::m_localName.

const string toString ( ) const

Returns the email address as a string, by joining components.

(ie. the local name, followed by a @ then the domain name.)

Returns
email address as a string

References emailAddress::generateImpl(), generationContext::getDefaultContext(), vmime::lineLengthLimits::infinite, and generationContext::setMaxLineLength().

const text toText ( ) const

Returns the email address as multibyte text, by joining components.

(ie. the local name, followed by a @ then the domain name.)

Returns
email address as multibyte text

References text::appendWord(), emailAddress::m_domainName, emailAddress::m_localName, and vmime::charsets::US_ASCII.

Referenced by SMTPCommand::MAIL(), and SMTPCommand::RCPT().

Member Data Documentation


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