Yate
Public Member Functions | Static Public Member Functions | Protected Attributes
MimeHeaderLine Class Reference

MIME header line. More...

#include <yatemime.h>

Inheritance diagram for MimeHeaderLine:
NamedString String GenObject MimeAuthLine

List of all members.

Public Member Functions

 MimeHeaderLine (const char *name, const String &value, char sep=0)
 MimeHeaderLine (const MimeHeaderLine &original, const char *newName=0)
virtual ~MimeHeaderLine ()
virtual void * getObject (const String &name) const
virtual MimeHeaderLineclone (const char *newName=0) const
virtual void buildLine (String &line) const
MimeHeaderLineoperator= (const char *value)
const ObjListparams () const
char separator () const
void setParam (const char *name, const char *value=0)
void delParam (const char *name)
const NamedStringgetParam (const char *name) const

Static Public Member Functions

static void addQuotes (String &str, bool force=false)
static void delQuotes (String &str, bool force=false)
static String quote (const String &str, bool force=false)
static String unquote (const String &str, bool force=false)
static int findSep (const char *str, char sep, int offs=0)
static void buildHeaders (String &buf, const ObjList &headers)

Protected Attributes

ObjList m_params
char m_separator

Detailed Description

MIME header line.

A MIME header line. The NamedString's value contain the first parameter after the header name


Constructor & Destructor Documentation

MimeHeaderLine ( const char *  name,
const String value,
char  sep = 0 
)

Constructor. Builds a MIME header line from a string buffer. Splits the value into header parameters

Parameters:
nameThe header name
valueThe header value
sepOptional parameter separator. If 0, the default ';' will be used
MimeHeaderLine ( const MimeHeaderLine original,
const char *  newName = 0 
)

Constructor. Builds this MIME header line from another one

Parameters:
originalOriginal header line to build from.
newNameOptional new header name. If 0, the original name will be used
virtual ~MimeHeaderLine ( ) [virtual]

Destructor.


Member Function Documentation

static void addQuotes ( String str,
bool  force = false 
) [static]

Utility function, puts quotes around a string.

Parameters:
strString to put quotes around.
forceTrue to force quoting even if was already quoted
static void buildHeaders ( String buf,
const ObjList headers 
) [static]

Build a string from a list of MIME header lines. Add a CR/LF terminator after each line

Parameters:
bufDestination string
headersThe list with the header lines

Referenced by MimeBody::buildHeaders().

virtual void buildLine ( String line) const [virtual]

Build a string line from this MIME header without adding a line separator

Parameters:
lineDestination string

Reimplemented in MimeAuthLine.

virtual MimeHeaderLine* clone ( const char *  newName = 0) const [virtual]

Duplicate this MIME header line.

Parameters:
newNameOptional new header name. If 0, this header's name will be used
Returns:
Copy of this MIME header line

Reimplemented in MimeAuthLine.

void delParam ( const char *  name)

Remove a parameter from list

Parameters:
nameParameter's name
static void delQuotes ( String str,
bool  force = false 
) [static]

Utility function, removes quotes around a string.

Parameters:
strString to remove quotes.
forceTrue to force unquoting even if wasn't properly quoted
static int findSep ( const char *  str,
char  sep,
int  offs = 0 
) [static]

Utility function to find a separator not in "quotes" or inside <uri>.

Parameters:
strInput string used to find the separator.
sepThe separator to find.
offsStarting offset in input string.
Returns:
The position of the separator in input string or -1 if not found.
virtual void* getObject ( const String name) const [virtual]

RTTI method, get a pointer to a derived class given the class name.

Parameters:
nameName of the class we are asking for
Returns:
Pointer to the requested class or NULL if this object doesn't implement it

Reimplemented from NamedString.

Reimplemented in MimeAuthLine.

const NamedString* getParam ( const char *  name) const

Get a header parameter

Parameters:
nameParameter's name
Returns:
Pointer to the desired parameter or 0 if not found
MimeHeaderLine& operator= ( const char *  value) [inline]

Assignement operator. Set the header's value

Parameters:
valueThe new headr value

Reimplemented from NamedString.

References NamedString::operator=().

const ObjList& params ( ) const [inline]

Get the header's parameters

Returns:
This header's list of parameters
static String quote ( const String str,
bool  force = false 
) [static]

Utility function, puts quotes around a string.

Parameters:
strString to put quotes around.
forceTrue to force quoting even if was already quoted
Returns:
The input string enclosed in quotes.
char separator ( ) const [inline]

Get the character used as separator in header line

Returns:
This header's separator
void setParam ( const char *  name,
const char *  value = 0 
)

Replace the value of an existing parameter or add a new one

Parameters:
nameParameter's name
valueParameter's value
static String unquote ( const String str,
bool  force = false 
) [static]

Utility function, removes quotes around a string.

Parameters:
strString to remove quotes around.
forceTrue to force unquoting even if wasn't properly quoted
Returns:
The input string with enclosing quotes removed.

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