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:
name The header name
value The header value
sep Optional 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:
original Original header line to build from.
newName Optional new header name. If 0, the original name will be used

virtual ~MimeHeaderLine (  )  [virtual]

Destructor.


Member Function Documentation

virtual void* getObject ( const String name  )  const [virtual]

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

Parameters:
name Name 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.

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

Duplicate this MIME header line.

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

Reimplemented in MimeAuthLine.

virtual void buildLine ( String line  )  const [virtual]

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

Parameters:
line Destination string

Reimplemented in MimeAuthLine.

MimeHeaderLine& operator= ( const char *  value  )  [inline]

Assignement operator. Set the header's value

Parameters:
value The 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

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:
name Parameter's name
value Parameter's value

void delParam ( const char *  name  ) 

Remove a parameter from list

Parameters:
name Parameter's name

const NamedString* getParam ( const char *  name  )  const

Get a header parameter

Parameters:
name Parameter's name
Returns:
Pointer to the desired parameter or 0 if not found

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

Utility function, puts quotes around a string.

Parameters:
str String to put quotes around.
force True to force quoting even if was already quoted

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

Utility function, removes quotes around a string.

Parameters:
str String to remove quotes.
force True to force unquoting even if wasn't properly quoted

static String quote ( const String str,
bool  force = false 
) [static]

Utility function, puts quotes around a string.

Parameters:
str String to put quotes around.
force True to force quoting even if was already quoted
Returns:
The input string enclosed in quotes.

static String unquote ( const String str,
bool  force = false 
) [static]

Utility function, removes quotes around a string.

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

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:
str Input string used to find the separator.
sep The separator to find.
offs Starting offset in input string.
Returns:
The position of the separator in input string or -1 if not found.

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:
buf Destination string
headers The list with the header lines

Referenced by MimeBody::buildHeaders().


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

Generated on Sat May 28 18:28:23 2011 for Yate by  doxygen 1.5.6