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

Public Member Functions

 ~parameterizedHeaderField ()
 
void copyFrom (const component &other)
 
parameterizedHeaderFieldoperator= (const parameterizedHeaderField &other)
 
bool hasParameter (const string &paramName) const
 
shared_ptr< parameterfindParameter (const string &paramName) const
 
shared_ptr< parametergetParameter (const string &paramName)
 
void appendParameter (shared_ptr< parameter > param)
 
void insertParameterBefore (shared_ptr< parameter > beforeParam, shared_ptr< parameter > param)
 
void insertParameterBefore (const size_t pos, shared_ptr< parameter > param)
 
void insertParameterAfter (shared_ptr< parameter > afterParam, shared_ptr< parameter > param)
 
void insertParameterAfter (const size_t pos, shared_ptr< parameter > param)
 
void removeParameter (shared_ptr< parameter > param)
 
void removeParameter (const size_t pos)
 
void removeAllParameters ()
 
size_t getParameterCount () const
 
bool isEmpty () const
 
const shared_ptr< parametergetParameterAt (const size_t pos)
 
const shared_ptr< const parametergetParameterAt (const size_t pos) const
 
const std::vector< shared_ptr
< const parameter > > 
getParameterList () const
 
const std::vector< shared_ptr
< parameter > > 
getParameterList ()
 
const std::vector< shared_ptr
< component > > 
getChildComponents ()
 
- Public Member Functions inherited from headerField
 ~headerField ()
 
shared_ptr< componentclone () const
 
headerFieldoperator= (const headerField &other)
 
void setName (const string &name)
 
const string getName () const
 
bool isCustom () const
 
virtual shared_ptr< const
headerFieldValue
getValue () const
 
template<typename T >
shared_ptr< const T > getValue () const
 
virtual shared_ptr
< headerFieldValue
getValue ()
 
template<typename T >
shared_ptr< T > getValue ()
 
virtual void setValue (shared_ptr< headerFieldValue > value)
 
virtual void setValueConst (shared_ptr< const headerFieldValue > value)
 
virtual void setValue (const headerFieldValue &value)
 
void setValue (const string &value)
 
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

 parameterizedHeaderField ()
 
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 headerField
 headerField ()
 
 headerField (const string &fieldName)
 
- 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 ()
 

Additional Inherited Members

- Static Public Member Functions inherited from headerField
static shared_ptr< headerFieldparseNext (const parsingContext &ctx, const string &buffer, const size_t position, const size_t end, size_t *newPosition=NULL)
 
- Protected Attributes inherited from headerField
string m_name
 
shared_ptr< headerFieldValuem_value
 

Detailed Description

A header field that can also contain parameters (name=value pairs).

Parameters can be created using vmime::parameterFactory.

Constructor & Destructor Documentation

parameterizedHeaderField ( )
protected

Member Function Documentation

void appendParameter ( shared_ptr< parameter param)

Add a parameter at the end of the list.

Parameters
paramparameter to append

Referenced by parameterizedHeaderField::copyFrom(), and parameterizedHeaderField::getParameter().

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

Reimplemented from headerField.

References parameterizedHeaderField::appendParameter(), vmime::clone(), headerField::copyFrom(), and parameterizedHeaderField::removeAllParameters().

Referenced by parameterizedHeaderField::operator=().

shared_ptr< parameter > findParameter ( const string paramName) const

Find the first parameter that matches the specified name.

Parameter name is case-insensitive. If no parameter is found, NULL is returned.

Parameters
paramNameparameter name
Returns
first parameter with the specified name, or NULL if no parameter with this name exists

References stringUtils::toLower().

Referenced by contentTypeField::getBoundary(), contentTypeField::getCharset(), contentDispositionField::getCreationDate(), contentDispositionField::getFilename(), contentDispositionField::getModificationDate(), contentDispositionField::getReadDate(), contentTypeField::getReportType(), and contentDispositionField::getSize().

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

Reimplemented from headerField.

References headerField::generateImpl().

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

Return the list of children of this component.

Returns
list of child components

Reimplemented from headerField.

References headerField::getChildComponents().

shared_ptr< parameter > getParameter ( const string paramName)

Find the first parameter that matches the specified name.

Parameter name is case-insensitive. If no parameter is found, one will be created and inserted into the parameter list.

Parameters
paramNameparameter name
Returns
first parameter with the specified name or a new field if no parameter is found

References parameterizedHeaderField::appendParameter(), and stringUtils::toLower().

Referenced by contentTypeField::setBoundary(), contentTypeField::setCharset(), contentDispositionField::setCreationDate(), contentDispositionField::setFilename(), contentDispositionField::setModificationDate(), contentDispositionField::setReadDate(), contentTypeField::setReportType(), and contentDispositionField::setSize().

const shared_ptr< parameter > getParameterAt ( const size_t  pos)

Return the parameter at the specified position.

Parameters
posposition
Returns
parameter at position 'pos'
const shared_ptr< const parameter > getParameterAt ( const size_t  pos) const

Return the parameter at the specified position.

Parameters
posposition
Returns
parameter at position 'pos'
size_t getParameterCount ( ) const

Return the number of parameters in the list.

Returns
number of parameters
const std::vector< shared_ptr< const parameter > > getParameterList ( ) const

Return the parameter list.

Returns
list of parameters
const std::vector< shared_ptr< parameter > > getParameterList ( )

Return the parameter list.

Returns
list of parameters
bool hasParameter ( const string paramName) const

Checks whether (at least) one parameter with this name exists.

Parameter name is case-insensitive.

Parameters
paramNameparameter name
Returns
true if at least one parameter with the specified name exists, or false otherwise

References stringUtils::toLower().

Referenced by contentTypeField::hasBoundary(), contentTypeField::hasCharset(), contentDispositionField::hasCreationDate(), contentDispositionField::hasFilename(), contentDispositionField::hasModificationDate(), contentDispositionField::hasReadDate(), contentTypeField::hasReportType(), contentDispositionField::hasSize(), and MDNHelper::isMDN().

void insertParameterAfter ( shared_ptr< parameter afterParam,
shared_ptr< parameter param 
)

Insert a new parameter after the specified parameter.

Parameters
afterParamparameter after which the new parameter will be inserted
paramparameter to insert
Exceptions
std::out_of_rangeif the parameter is not in the list
void insertParameterAfter ( const size_t  pos,
shared_ptr< parameter param 
)

Insert a new parameter after the specified position.

Parameters
posposition of the parameter before the new parameter
paramparameter to insert
Exceptions
std::out_of_rangeif the position is out of range
void insertParameterBefore ( shared_ptr< parameter beforeParam,
shared_ptr< parameter param 
)

Insert a new parameter before the specified parameter.

Parameters
beforeParamparameter before which the new parameter will be inserted
paramparameter to insert
Exceptions
std::out_of_rangeif the parameter is not in the list
void insertParameterBefore ( const size_t  pos,
shared_ptr< parameter param 
)

Insert a new parameter before the specified position.

Parameters
posposition at which to insert the new parameter (0 to insert at the beginning of the list)
paramparameter to insert
Exceptions
std::out_of_rangeif the position is out of range
bool isEmpty ( ) const

Tests whether the list of parameters is empty.

Returns
true if there is no parameter, false otherwise
void parseImpl ( const parsingContext ctx,
const string buffer,
const size_t  position,
const size_t  end,
size_t newPosition = NULL 
)
protectedvirtual
void removeAllParameters ( )

Remove all parameters from the list.

Referenced by parameterizedHeaderField::copyFrom(), and parameterizedHeaderField::~parameterizedHeaderField().

void removeParameter ( shared_ptr< parameter param)

Remove the specified parameter from the list.

Parameters
paramparameter to remove
Exceptions
std::out_of_rangeif the parameter is not in the list
void removeParameter ( const size_t  pos)

Remove the parameter at the specified position.

Parameters
posposition of the parameter to remove

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