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

Public Member Functions

 mailboxList ()
 
 mailboxList (const mailboxList &mboxList)
 
shared_ptr< componentclone () const
 
void copyFrom (const component &other)
 
mailboxListoperator= (const mailboxList &other)
 
const std::vector< shared_ptr
< component > > 
getChildComponents ()
 
void appendMailbox (shared_ptr< mailbox > mbox)
 
void insertMailboxBefore (shared_ptr< mailbox > beforeMailbox, shared_ptr< mailbox > mbox)
 
void insertMailboxBefore (const size_t pos, shared_ptr< mailbox > mbox)
 
void insertMailboxAfter (shared_ptr< mailbox > afterMailbox, shared_ptr< mailbox > mbox)
 
void insertMailboxAfter (const size_t pos, shared_ptr< mailbox > mbox)
 
void removeMailbox (shared_ptr< mailbox > mbox)
 
void removeMailbox (const size_t pos)
 
void removeAllMailboxes ()
 
size_t getMailboxCount () const
 
bool isEmpty () const
 
shared_ptr< mailboxgetMailboxAt (const size_t pos)
 
const shared_ptr< const mailboxgetMailboxAt (const size_t pos) const
 
const std::vector< shared_ptr
< const mailbox > > 
getMailboxList () const
 
const std::vector< shared_ptr
< mailbox > > 
getMailboxList ()
 
shared_ptr< addressListtoAddressList () const
 
- Public Member Functions inherited from headerFieldValue
size_t getGeneratedSize (const generationContext &ctx)
 
- 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
 

Protected Member Functions

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
 
- 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

A list of mailboxes (basic type).

This class works exactly like 'addressList' except it prevents user from inserting mailbox groups where it is not allowed by the RFC.

Constructor & Destructor Documentation

mailboxList ( const mailboxList mboxList)

Member Function Documentation

void appendMailbox ( shared_ptr< mailbox mbox)

Add a mailbox at the end of the list.

Parameters
mboxmailbox to append

References addressList::appendAddress().

Referenced by MDNHelper::attachMDNRequest().

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.

Referenced by mailboxList::operator=().

void generateImpl ( const generationContext ctx,
utility::outputStream os,
const size_t  curLinePos = 0,
size_t newLinePos = NULL 
) const
protectedvirtual

Implements component.

References component::generate().

const std::vector< shared_ptr< component > > getChildComponents ( )
virtual

Return the list of children of this component.

Returns
list of child components

Implements component.

References addressList::getChildComponents().

shared_ptr< mailbox > getMailboxAt ( const size_t  pos)

Return the mailbox at the specified position.

Parameters
posposition
Returns
mailbox at position 'pos'
Exceptions
std::out_of_rangeif the position is out of range

References addressList::getAddressAt().

Referenced by MDNHelper::getPossibleMDNs(), MDNHelper::needConfirmation(), addressList::operator=(), and sendmailTransport::send().

const shared_ptr< const mailbox > getMailboxAt ( const size_t  pos) const

Return the mailbox at the specified position.

Parameters
posposition
Returns
mailbox at position 'pos'
Exceptions
std::out_of_rangeif the position is out of range

References addressList::getAddressAt().

size_t getMailboxCount ( ) const

Return the number of mailboxes in the list.

Returns
number of mailboxes

References addressList::getAddressCount().

Referenced by MDNHelper::getPossibleMDNs(), MDNHelper::needConfirmation(), addressList::operator=(), and sendmailTransport::send().

const std::vector< shared_ptr< const mailbox > > getMailboxList ( ) const

Return the mailbox list.

Returns
list of mailboxes

References addressList::getAddressList().

const std::vector< shared_ptr< mailbox > > getMailboxList ( )

Return the mailbox list.

Returns
list of mailboxes

References addressList::getAddressList().

void insertMailboxAfter ( shared_ptr< mailbox afterMailbox,
shared_ptr< mailbox mbox 
)

Insert a new mailbox after the specified mailbox.

Parameters
afterMailboxmailbox after which the new mailbox will be inserted
mboxmailbox to insert
Exceptions
std::out_of_rangeif the mailbox is not in the list

References addressList::insertAddressAfter().

void insertMailboxAfter ( const size_t  pos,
shared_ptr< mailbox mbox 
)

Insert a new mailbox after the specified position.

Parameters
posposition of the mailbox before the new mailbox
mboxmailbox to insert
Exceptions
std::out_of_rangeif the position is out of range

References addressList::insertAddressAfter().

void insertMailboxBefore ( shared_ptr< mailbox beforeMailbox,
shared_ptr< mailbox mbox 
)

Insert a new mailbox before the specified mailbox.

Parameters
beforeMailboxmailbox before which the new mailbox will be inserted
mboxmailbox to insert
Exceptions
std::out_of_rangeif the mailbox is not in the list

References addressList::insertAddressBefore().

void insertMailboxBefore ( const size_t  pos,
shared_ptr< mailbox mbox 
)

Insert a new mailbox before the specified position.

Parameters
posposition at which to insert the new mailbox (0 to insert at the beginning of the list)
mboxmailbox to insert
Exceptions
std::out_of_rangeif the position is out of range

References addressList::insertAddressBefore().

bool isEmpty ( ) const

Tests whether the list of mailboxes is empty.

Returns
true if there is no mailbox, false otherwise

References addressList::isEmpty().

Referenced by sendmailTransport::send().

mailboxList & operator= ( const mailboxList other)
void parseImpl ( const parsingContext ctx,
const string buffer,
const size_t  position,
const size_t  end,
size_t newPosition = NULL 
)
protectedvirtual

Reimplemented from component.

References vmime::end(), and address::parseNext().

void removeAllMailboxes ( )

Remove all mailboxes from the list.

References addressList::removeAllAddresses().

void removeMailbox ( shared_ptr< mailbox mbox)

Remove the specified mailbox from the list.

Parameters
mboxmailbox to remove
Exceptions
std::out_of_rangeif the mailbox is not in the list

References addressList::removeAddress().

void removeMailbox ( const size_t  pos)

Remove the mailbox at the specified position.

Parameters
posposition of the mailbox to remove
Exceptions
std::out_of_rangeif the position is out of range

References addressList::removeAddress().

shared_ptr< addressList > toAddressList ( ) const

Return a list of addresses.

Returns
list of addresses

References vmime::clone().


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