# class MimeHeaderLine

MIME header line. More...

Full name | `TelEngine::MimeHeaderLine`
Definition | `#include <yatemime.h>`
Inherits | TelEngine::NamedString [public ]
Inherited by | MimeAuthLine
List of all Methods

Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- 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 MimeHeaderLine* clone (const char* newName = 0) const
- virtual void buildLine (String& line) const
- inline MimeHeaderLine& operator= (const char* value)
- inline const ObjList& params () const
- inline char separator () const
- void setParam (const char* name, const char* value = 0)
- void delParam (const char* name)
- const NamedString* getParam (const char* name) const

#### Public Static Methods

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

- ObjList m_params
- char m_separator

## Detailed Description

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

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

### MimeHeaderLine

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)

### MimeHeaderLine

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

~MimeHeaderLine ()

### ~MimeHeaderLine

[virtual]

Destructor.

void* getObject (const String& name)

### getObject

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

MimeHeaderLine* clone (const char* newName = 0)

### clone

[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

void buildLine (String& line)

### buildLine

[const virtual]

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

Parameters:

line | Destination string

inline MimeHeaderLine& operator= (const char* value)

### operator=

Assignement operator. Set the header's value

Parameters:

value | The new headr value

Reimplemented from NamedString.

inline const ObjList& params ()

### params

[const]

Get the header's parameters

Returns: This header's list of parameters

inline char separator ()

### separator

[const]

Get the character used as separator in header line

Returns: This header's separator

void setParam (const char* name, const char* value = 0)

### setParam

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)

### delParam

Remove a parameter from list

Parameters:

name | Parameter's name

const NamedString* getParam (const char* name)

### getParam

[const]

Get a header parameter

Parameters:

name | Parameter's name

Returns: Pointer to the desired parameter or 0 if not found

void addQuotes (String& str, bool force = false)

### addQuotes

[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

void delQuotes (String& str, bool force = false)

### delQuotes

[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

String quote (const String& str, bool force = false)

### quote

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

String unquote (const String& str, bool force = false)

### unquote

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

int findSep (const char* str, char sep, int offs = 0)

### findSep

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

void buildHeaders (String& buf, const ObjList& headers)

### buildHeaders

[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

ObjList m_params

### m_params

[protected]

char m_separator

### m_separator

[protected]

Generated by: paulc on bussard on Fri Dec 21 16:28:34 2012, using kdoc 2.0a54.