# SIPMIMEInfo Class Reference

`#include <sippdu.h>`

List of all members.

## Public Member Functions

| SIPMIMEInfo (bool compactForm=false)
virtual void | PrintOn (ostream &strm) const
virtual void | ReadFrom (istream &strm)
void | SetCompactForm (bool form)
PString | GetContentType () const
void | SetContentType (const PString &v)
PString | GetContentEncoding () const
void | SetContentEncoding (const PString &v)
PString | GetFrom () const
void | SetFrom (const PString &v)
PString | GetPAssertedIdentity () const
void | SetPAssertedIdentity (const PString &v)
PString | GetPPreferredIdentity () const
void | SetPPreferredIdentity (const PString &v)
PString | GetAccept () const
void | SetAccept (const PString &v)
PString | GetAcceptEncoding () const
void | SetAcceptEncoding (const PString &v)
PString | GetAcceptLanguage () const
void | SetAcceptLanguage (const PString &v)
PString | GetAllow () const
void | SetAllow (const PString &v)
PString | GetCallID () const
void | SetCallID (const PString &v)
PString | GetContact () const
bool | GetContacts (std::vector< SIPURL > &contacts) const
void | SetContact (const PString &v)
void | SetContact (const SIPURL &url)
PString | GetSubject () const
void | SetSubject (const PString &v)
PString | GetTo () const
void | SetTo (const PString &v)
PString | GetVia () const
void | SetVia (const PString &v)
PStringList | GetViaList () const
void | SetViaList (const PStringList &v)
PString | GetReferTo () const
void | SetReferTo (const PString &r)
PString | GetReferredBy () const
void | SetReferredBy (const PString &r)
PINDEX | GetContentLength () const
void | SetContentLength (PINDEX v)
PBoolean | IsContentLengthPresent () const
PString | GetCSeq () const
void | SetCSeq (const PString &v)
PString | GetDate () const
void | SetDate (const PString &v)
void | SetDate (const PTime &t)
void | SetDate (void)
unsigned | GetExpires (unsigned dflt=UINT_MAX) const
void | SetExpires (unsigned v)
PINDEX | GetMaxForwards () const
void | SetMaxForwards (PINDEX v)
PINDEX | GetMinExpires () const
void | SetMinExpires (PINDEX v)
PString | GetProxyAuthenticate () const
void | SetProxyAuthenticate (const PString &v)
PStringList | GetRoute () const
void | SetRoute (const PStringList &v)
PStringList | GetRecordRoute () const
void | SetRecordRoute (const PStringList &v)
unsigned | GetCSeqIndex () const
PString | GetSupported () const
void | SetSupported (const PString &v)
PString | GetUnsupported () const
void | SetUnsupported (const PString &v)
PString | GetEvent () const
void | SetEvent (const PString &v)
PString | GetSubscriptionState () const
void | SetSubscriptionState (const PString &v)
PString | GetUserAgent () const
void | SetUserAgent (const PString &v)
PString | GetOrganization () const
void | SetOrganization (const PString &v)
void | GetProductInfo (OpalProductInfo &info)
void | SetProductInfo (const PString &ua, const OpalProductInfo &info)
PString | GetWWWAuthenticate () const
void | SetWWWAuthenticate (const PString &v)
PString | GetSIPIfMatch () const
void | SetSIPIfMatch (const PString &v)
PString | GetSIPETag () const
void | SetSIPETag (const PString &v)
PString | GetFieldParameter (const PString &fieldName, const PString &paramName, const PString &defaultValue=PString::Empty()) const
void | SetFieldParameter (const PString &fieldName, const PString &paramName, const PString &newValue)

## Static Public Member Functions

static PString | ExtractFieldParameter (const PString &fieldValue, const PString &paramName, const PString &defaultValue=PString::Empty())
static PString | InsertFieldParameter (const PString &fieldValue, const PString &paramName, const PString &newValue)

## Protected Member Functions

PStringList | GetRouteList (const char *name) const
void | SetRouteList (const char *name, const PStringList &v)

## Protected Attributes

bool | compactForm
| Encode using compact form.

## Detailed Description

Session Initiation Protocol MIME info container This is a string dictionary: for each item mime header is key, value is value. Headers may be full ("From") or compact ("f"). Colons not included. PMIMEInfo::ReadFrom (>>) parses from stream. That adds a header-value element for each mime line. If a mime header is duplicated in the stream then the additional value is appended to the existing, separated by "/n". PMIMEInfo::ReadFrom supports multi-line values if the next line starts with a space - it just appends the next line to the existing string with the separating space. There is no checking of header names or values. compactForm decides whether 'Set' methods store full or compact headers. 'Set' methods replace values, there is no method for appending except ReadFrom. 'Get' methods work whether stored headers are full or compact.

to do to satisfy RFC3261 (mandatory(*) & should): Accept Accept-Encoding Accept-Language Allow Max-Forwards Min-Expires Proxy-Authenticate Supported Unsupported WWW-Authenticate

## Constructor & Destructor Documentation

SIPMIMEInfo::SIPMIMEInfo | ( | bool | compactForm = `false` | ) |

## Member Function Documentation

virtual void SIPMIMEInfo::PrintOn | ( | ostream & | strm | ) | const`[virtual]`

virtual void SIPMIMEInfo::ReadFrom | ( | istream & | strm | ) | `[virtual]`

void SIPMIMEInfo::SetCompactForm | ( | bool | form | ) | `[inline]`

PString SIPMIMEInfo::GetContentType | ( |  | ) | const

void SIPMIMEInfo::SetContentType | ( | const PString & | v | ) |

PString SIPMIMEInfo::GetContentEncoding | ( |  | ) | const

void SIPMIMEInfo::SetContentEncoding | ( | const PString & | v | ) |

PString SIPMIMEInfo::GetFrom | ( |  | ) | const

void SIPMIMEInfo::SetFrom | ( | const PString & | v | ) |

PString SIPMIMEInfo::GetPAssertedIdentity | ( |  | ) | const

void SIPMIMEInfo::SetPAssertedIdentity | ( | const PString & | v | ) |

PString SIPMIMEInfo::GetPPreferredIdentity | ( |  | ) | const

void SIPMIMEInfo::SetPPreferredIdentity | ( | const PString & | v | ) |

PString SIPMIMEInfo::GetAccept | ( |  | ) | const

void SIPMIMEInfo::SetAccept | ( | const PString & | v | ) |

PString SIPMIMEInfo::GetAcceptEncoding | ( |  | ) | const

void SIPMIMEInfo::SetAcceptEncoding | ( | const PString & | v | ) |

PString SIPMIMEInfo::GetAcceptLanguage | ( |  | ) | const

void SIPMIMEInfo::SetAcceptLanguage | ( | const PString & | v | ) |

PString SIPMIMEInfo::GetAllow | ( |  | ) | const

void SIPMIMEInfo::SetAllow | ( | const PString & | v | ) |

PString SIPMIMEInfo::GetCallID | ( |  | ) | const

void SIPMIMEInfo::SetCallID | ( | const PString & | v | ) |

PString SIPMIMEInfo::GetContact | ( |  | ) | const

bool SIPMIMEInfo::GetContacts | ( | std::vector< SIPURL > & | contacts | ) | const

void SIPMIMEInfo::SetContact | ( | const PString & | v | ) |

void SIPMIMEInfo::SetContact | ( | const SIPURL & | url | ) |

PString SIPMIMEInfo::GetSubject | ( |  | ) | const

void SIPMIMEInfo::SetSubject | ( | const PString & | v | ) |

PString SIPMIMEInfo::GetTo | ( |  | ) | const

void SIPMIMEInfo::SetTo | ( | const PString & | v | ) |

PString SIPMIMEInfo::GetVia | ( |  | ) | const

void SIPMIMEInfo::SetVia | ( | const PString & | v | ) |

PStringList SIPMIMEInfo::GetViaList | ( |  | ) | const

void SIPMIMEInfo::SetViaList | ( | const PStringList & | v | ) |

PString SIPMIMEInfo::GetReferTo | ( |  | ) | const

void SIPMIMEInfo::SetReferTo | ( | const PString & | r | ) |

PString SIPMIMEInfo::GetReferredBy | ( |  | ) | const

void SIPMIMEInfo::SetReferredBy | ( | const PString & | r | ) |

PINDEX SIPMIMEInfo::GetContentLength | ( |  | ) | const

void SIPMIMEInfo::SetContentLength | ( | PINDEX | v | ) |

PBoolean SIPMIMEInfo::IsContentLengthPresent | ( |  | ) | const

PString SIPMIMEInfo::GetCSeq | ( |  | ) | const

void SIPMIMEInfo::SetCSeq | ( | const PString & | v | ) |

PString SIPMIMEInfo::GetDate | ( |  | ) | const

void SIPMIMEInfo::SetDate | ( | const PString & | v | ) |

void SIPMIMEInfo::SetDate | ( | const PTime & | t | ) |

void SIPMIMEInfo::SetDate | ( | void |  | ) |

unsigned SIPMIMEInfo::GetExpires | ( | unsigned | dflt = `UINT_MAX` | ) | const

void SIPMIMEInfo::SetExpires | ( | unsigned | v | ) |

PINDEX SIPMIMEInfo::GetMaxForwards | ( |  | ) | const

void SIPMIMEInfo::SetMaxForwards | ( | PINDEX | v | ) |

PINDEX SIPMIMEInfo::GetMinExpires | ( |  | ) | const

void SIPMIMEInfo::SetMinExpires | ( | PINDEX | v | ) |

PString SIPMIMEInfo::GetProxyAuthenticate | ( |  | ) | const

void SIPMIMEInfo::SetProxyAuthenticate | ( | const PString & | v | ) |

PStringList SIPMIMEInfo::GetRoute | ( |  | ) | const

void SIPMIMEInfo::SetRoute | ( | const PStringList & | v | ) |

PStringList SIPMIMEInfo::GetRecordRoute | ( |  | ) | const

void SIPMIMEInfo::SetRecordRoute | ( | const PStringList & | v | ) |

unsigned SIPMIMEInfo::GetCSeqIndex | ( |  | ) | const`[inline]`

PString SIPMIMEInfo::GetSupported | ( |  | ) | const

void SIPMIMEInfo::SetSupported | ( | const PString & | v | ) |

PString SIPMIMEInfo::GetUnsupported | ( |  | ) | const

void SIPMIMEInfo::SetUnsupported | ( | const PString & | v | ) |

PString SIPMIMEInfo::GetEvent | ( |  | ) | const

void SIPMIMEInfo::SetEvent | ( | const PString & | v | ) |

PString SIPMIMEInfo::GetSubscriptionState | ( |  | ) | const

void SIPMIMEInfo::SetSubscriptionState | ( | const PString & | v | ) |

PString SIPMIMEInfo::GetUserAgent | ( |  | ) | const

void SIPMIMEInfo::SetUserAgent | ( | const PString & | v | ) |

PString SIPMIMEInfo::GetOrganization | ( |  | ) | const

void SIPMIMEInfo::SetOrganization | ( | const PString & | v | ) |

void SIPMIMEInfo::GetProductInfo | ( | OpalProductInfo & | info | ) |

void SIPMIMEInfo::SetProductInfo | ( | const PString & | ua,
|  | const OpalProductInfo & | info |
| ) |  |  |

PString SIPMIMEInfo::GetWWWAuthenticate | ( |  | ) | const

void SIPMIMEInfo::SetWWWAuthenticate | ( | const PString & | v | ) |

PString SIPMIMEInfo::GetSIPIfMatch | ( |  | ) | const

void SIPMIMEInfo::SetSIPIfMatch | ( | const PString & | v | ) |

PString SIPMIMEInfo::GetSIPETag | ( |  | ) | const

void SIPMIMEInfo::SetSIPETag | ( | const PString & | v | ) |

PString SIPMIMEInfo::GetFieldParameter | ( | const PString & | fieldName,
|  | const PString & | paramName,
|  | const PString & | defaultValue = `PString::Empty()` |
| ) |  |  | const`[inline]`

return the value of a header field parameter, empty if none

Parameters:

  fieldName | Field name in dictionary
  paramName | Field parameter name
  defaultValue | Default value for parameter

void SIPMIMEInfo::SetFieldParameter | ( | const PString & | fieldName,
|  | const PString & | paramName,
|  | const PString & | newValue |
| ) |  |  | `[inline]`

set the value for a header field parameter, replace the current value, or add the parameter and its value if not already present.

Parameters:

  fieldName | Field name in dictionary
  paramName | Field parameter name
  newValue | New value for parameter

static PString SIPMIMEInfo::ExtractFieldParameter | ( | const PString & | fieldValue,
|  | const PString & | paramName,
|  | const PString & | defaultValue = `PString::Empty()` |
| ) |  |  | `[static]`

return the value of a header field parameter, empty if none

Parameters:

  fieldValue | Value of field string
  paramName | Field parameter name
  defaultValue | Default value for parameter

static PString SIPMIMEInfo::InsertFieldParameter | ( | const PString & | fieldValue,
|  | const PString & | paramName,
|  | const PString & | newValue |
| ) |  |  | `[static]`

set the value for a header field parameter, replace the current value, or add the parameter and its value if not already present.

Parameters:

  fieldValue | Value of field string
  paramName | Field parameter name
  newValue | New value for parameter

PStringList SIPMIMEInfo::GetRouteList | ( | const char * | name | ) | const`[protected]`

return list of route values from internal comma-delimited list

void SIPMIMEInfo::SetRouteList | ( | const char * | name,
|  | const PStringList & | v |
| ) |  |  | `[protected]`

store string list as one comma-delimited string of route values value formed as "<v[0]>,<v[1]>,<v[2]>" etc

## Member Data Documentation

bool SIPMIMEInfo::compactForm `[protected]`

Encode using compact form.

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

- sippdu.h