|
reSIProcate/stack
9694
|
#include <HeaderFieldValue.hxx>

Public Types | |
| enum | CopyPaddingEnum { CopyPadding } |
| enum | NoOwnershipEnum { NoOwnership } |
Public Member Functions | |
| HeaderFieldValue () | |
| HeaderFieldValue (const char *field, unsigned int fieldLength) | |
| HeaderFieldValue (const HeaderFieldValue &hfv) | |
| HeaderFieldValue (const HeaderFieldValue &hfv, CopyPaddingEnum) | |
| HeaderFieldValue (const HeaderFieldValue &hfv, NoOwnershipEnum) | |
| HeaderFieldValue & | operator= (const HeaderFieldValue &) |
| HeaderFieldValue & | copyWithPadding (const HeaderFieldValue &rhs) |
| ~HeaderFieldValue () | |
| EncodeStream & | encode (EncodeStream &str) const |
| void | init (const char *field, size_t length, bool own) |
| const char * | getBuffer () const |
| unsigned int | getLength () const |
| void | clear () |
| void | toShareData (Data &data) const |
| void | toBorrowData (Data &data) |
Static Public Attributes | |
| static const HeaderFieldValue | Empty |
Private Attributes | |
| const char * | mField |
| unsigned int | mFieldLength |
| bool | mMine |
Friends | |
| EncodeStream & | operator<< (EncodeStream &, HeaderFieldValue &) |
Definition at line 20 of file HeaderFieldValue.hxx.
| resip::HeaderFieldValue::HeaderFieldValue | ( | ) | [inline] |
Definition at line 35 of file HeaderFieldValue.hxx.
: mField(0), //this must be initialized to 0 or ParserCategory will parse mFieldLength(0), mMine(false) {}
| HeaderFieldValue::HeaderFieldValue | ( | const char * | field, |
| unsigned int | fieldLength | ||
| ) |
Definition at line 25 of file HeaderFieldValue.cxx.
: mField(field), mFieldLength(fieldLength), mMine(false) {}
| HeaderFieldValue::HeaderFieldValue | ( | const HeaderFieldValue & | hfv | ) |
Definition at line 31 of file HeaderFieldValue.cxx.
References mField, and mFieldLength.
: mField(0), mFieldLength(hfv.mFieldLength), mMine(true) { if(mFieldLength) { char* newField = new char[mFieldLength]; memcpy(newField, hfv.mField, mFieldLength); mField=newField; } }
| HeaderFieldValue::HeaderFieldValue | ( | const HeaderFieldValue & | hfv, |
| CopyPaddingEnum | e | ||
| ) |
Definition at line 90 of file HeaderFieldValue.cxx.
References resip::MsgHeaderScanner::allocateBuffer(), mField, and mFieldLength.
: mField(0), mFieldLength(hfv.mFieldLength), mMine(true) { char* newField = MsgHeaderScanner::allocateBuffer(mFieldLength); memcpy(newField, hfv.mField, mFieldLength); mField=newField; }

| HeaderFieldValue::HeaderFieldValue | ( | const HeaderFieldValue & | hfv, |
| NoOwnershipEnum | n | ||
| ) |
Definition at line 100 of file HeaderFieldValue.cxx.
: mField(hfv.mField), mFieldLength(hfv.mFieldLength), mMine(false) { // ?bwc? assert(!hfv.mMine); ? }
| HeaderFieldValue::~HeaderFieldValue | ( | ) |
| void resip::HeaderFieldValue::clear | ( | void | ) | [inline] |
Definition at line 65 of file HeaderFieldValue.hxx.
References mField, mFieldLength, and mMine.
Referenced by resip::LazyParser::clear(), and resip::SipMessage::clear().
{
if (mMine)
{
delete[] mField;
mMine=false;
}
mField=0;
mFieldLength=0;
}
| HeaderFieldValue & HeaderFieldValue::copyWithPadding | ( | const HeaderFieldValue & | rhs | ) |
Definition at line 68 of file HeaderFieldValue.cxx.
References resip::MsgHeaderScanner::allocateBuffer(), mField, mFieldLength, and mMine.
Referenced by resip::SipMessage::init().
{
if(this!=&rhs)
{
mFieldLength=rhs.mFieldLength;
if(mMine) delete [] mField;
mMine=true;
if(mFieldLength)
{
char* newField = MsgHeaderScanner::allocateBuffer(mFieldLength);
memcpy(newField, rhs.mField, mFieldLength);
mField=newField;
}
else
{
mField=0;
}
}
return *this;
}

| EncodeStream & HeaderFieldValue::encode | ( | EncodeStream & | str | ) | const |
Definition at line 117 of file HeaderFieldValue.cxx.
References mField, and mFieldLength.
Referenced by resip::LazyParser::encode(), resip::ParserContainerBase::HeaderKit::encode(), and resip::SipMessage::getCanonicalIdentityString().
{
str.write(mField, mFieldLength);
return str;
}
| const char* resip::HeaderFieldValue::getBuffer | ( | ) | const [inline] |
Definition at line 63 of file HeaderFieldValue.hxx.
References mField.
Referenced by resip::LazyParser::doParse(), resip::SipMessage::encode(), resip::SipMessage::encodeEmbedded(), resip::SipMessage::getCanonicalIdentityString(), resip::SipMessage::getContents(), and resip::SipMessage::init().
{return mField;}
| unsigned int resip::HeaderFieldValue::getLength | ( | ) | const [inline] |
Definition at line 64 of file HeaderFieldValue.hxx.
References mFieldLength.
Referenced by resip::LazyParser::doParse(), and resip::SipMessage::encode().
{return mFieldLength;}
| void resip::HeaderFieldValue::init | ( | const char * | field, |
| size_t | length, | ||
| bool | own | ||
| ) | [inline] |
Definition at line 51 of file HeaderFieldValue.hxx.
References mField, mFieldLength, and mMine.
Referenced by resip::SipMessage::setBody().
{
if(mMine)
{
delete [] mField;
}
mField=field;
mFieldLength=(unsigned int)length;
mMine=own;
}
| HeaderFieldValue & HeaderFieldValue::operator= | ( | const HeaderFieldValue & | rhs | ) |
Definition at line 45 of file HeaderFieldValue.cxx.
References mField, mFieldLength, and mMine.
{
if(this!=&rhs)
{
mFieldLength=rhs.mFieldLength;
if(mMine) delete [] mField;
mMine=true;
if(mFieldLength)
{
char* newField = new char[mFieldLength];
memcpy(newField, rhs.mField, mFieldLength);
mField=newField;
}
else
{
mField=0;
}
}
return *this;
}
| void resip::HeaderFieldValue::toBorrowData | ( | Data & | data | ) | [inline] |
Definition at line 83 of file HeaderFieldValue.hxx.
References resip::Data::Borrow, mField, mFieldLength, and resip::Data::setBuf().
{
data.setBuf(Data::Borrow, mField, mFieldLength);
}

| void resip::HeaderFieldValue::toShareData | ( | Data & | data | ) | const [inline] |
Definition at line 77 of file HeaderFieldValue.hxx.
References mField, mFieldLength, resip::Data::setBuf(), and resip::Data::Share.
Referenced by resip::SipMessage::encode(), and resip::SipMessage::encodeEmbedded().
{
data.setBuf(Data::Share, mField, mFieldLength);
}

| EncodeStream& operator<< | ( | EncodeStream & | , |
| HeaderFieldValue & | |||
| ) | [friend] |
const HeaderFieldValue HeaderFieldValue::Empty [static] |
Definition at line 23 of file HeaderFieldValue.hxx.
Referenced by resip::HeaderFieldValueList::push_back().
const char* resip::HeaderFieldValue::mField [private] |
Definition at line 90 of file HeaderFieldValue.hxx.
Referenced by clear(), copyWithPadding(), encode(), getBuffer(), HeaderFieldValue(), init(), operator=(), toBorrowData(), toShareData(), and ~HeaderFieldValue().
unsigned int resip::HeaderFieldValue::mFieldLength [private] |
Definition at line 91 of file HeaderFieldValue.hxx.
Referenced by clear(), copyWithPadding(), encode(), getLength(), HeaderFieldValue(), init(), operator=(), toBorrowData(), and toShareData().
bool resip::HeaderFieldValue::mMine [private] |
Definition at line 92 of file HeaderFieldValue.hxx.
Referenced by clear(), copyWithPadding(), init(), operator=(), and ~HeaderFieldValue().
1.7.5.1