|
reSIProcate/stack
9694
|
Represents the "absoluteURI" element in the RFC 3261 grammar. More...
#include <GenericUri.hxx>


Public Types | |
| enum | { commaHandling = CommasAllowedOutputMulti } |
Public Member Functions | |
| GenericUri () | |
| GenericUri (const HeaderFieldValue &hfv, Headers::Type type, PoolBase *pool=0) | |
| GenericUri (const GenericUri &orig, PoolBase *pool=0) | |
| GenericUri & | operator= (const GenericUri &) |
| virtual void | parse (ParseBuffer &pb) |
| virtual ParserCategory * | clone () const |
| virtual ParserCategory * | clone (void *location) const |
| virtual ParserCategory * | clone (PoolBase *pool) const |
| virtual EncodeStream & | encodeParsed (EncodeStream &str) const |
| Data & | uri () |
| const Data & | uri () const |
| virtual Parameter * | createParam (ParameterTypes::Type type, ParseBuffer &pb, const std::bitset< 256 > &terminators, PoolBase *pool) |
| bool | exists (const Param< GenericUri > ¶mType) const |
| void | remove (const Param< GenericUri > ¶mType) |
| defineParam (purpose,"purpose", DataParameter,"RFC 3261") | |
Private Attributes | |
| Data | mUri |
Static Private Attributes | |
| static ParameterTypes::Factory | ParameterFactories [ParameterTypes::MAX_PARAMETER] = {0} |
Represents the "absoluteURI" element in the RFC 3261 grammar.
Definition at line 16 of file GenericUri.hxx.
| anonymous enum |
Definition at line 19 of file GenericUri.hxx.
| resip::GenericUri::GenericUri | ( | ) | [inline] |
| GenericUri::GenericUri | ( | const HeaderFieldValue & | hfv, |
| Headers::Type | type, | ||
| PoolBase * | pool = 0 |
||
| ) |
Definition at line 25 of file GenericUri.cxx.
: ParserCategory(hfv, type, pool) {}
| GenericUri::GenericUri | ( | const GenericUri & | orig, |
| PoolBase * | pool = 0 |
||
| ) |
Definition at line 19 of file GenericUri.cxx.
: ParserCategory(rhs, pool), mUri(rhs.mUri) {}
| ParserCategory * GenericUri::clone | ( | ) | const [virtual] |
Implements resip::ParserCategory.
Definition at line 72 of file GenericUri.cxx.
References GenericUri().
{
return new GenericUri(*this);
}

| ParserCategory * GenericUri::clone | ( | void * | location | ) | const [virtual] |
Implements resip::ParserCategory.
Definition at line 78 of file GenericUri.cxx.
References GenericUri().
{
return new (location) GenericUri(*this);
}

| ParserCategory * GenericUri::clone | ( | PoolBase * | pool | ) | const [virtual] |
Implements resip::ParserCategory.
Definition at line 84 of file GenericUri.cxx.
References GenericUri().
{
return new (pool) GenericUri(*this, pool);
}

| Parameter * GenericUri::createParam | ( | ParameterTypes::Type | type, |
| ParseBuffer & | pb, | ||
| const std::bitset< 256 > & | terminators, | ||
| PoolBase * | pool | ||
| ) | [virtual] |
Reimplemented from resip::ParserCategory.
Definition at line 104 of file GenericUri.cxx.
References resip::ParameterTypes::MAX_PARAMETER, ParameterFactories, type, and resip::ParameterTypes::UNKNOWN.
{
if(type > ParameterTypes::UNKNOWN && type < ParameterTypes::MAX_PARAMETER && ParameterFactories[type])
{
return ParameterFactories[type](type, pb, terminators, pool);
}
return 0;
}
| resip::GenericUri::defineParam | ( | purpose | , |
| "purpose" | , | ||
| DataParameter | , | ||
| "RFC 3261" | |||
| ) |
| EncodeStream & GenericUri::encodeParsed | ( | EncodeStream & | str | ) | const [virtual] |
Implements resip::LazyParser.
Definition at line 90 of file GenericUri.cxx.
References resip::ParserCategory::encodeParameters(), resip::Symbols::LA_QUOTE, mUri, and resip::Symbols::RA_QUOTE.
{
str << Symbols::LA_QUOTE[0]
<< mUri
<< Symbols::RA_QUOTE[0];
encodeParameters(str);
return str;
}

| bool GenericUri::exists | ( | const Param< GenericUri > & | paramType | ) | const |
Definition at line 114 of file GenericUri.cxx.
References resip::LazyParser::checkParsed(), resip::ParserCategory::getParameterByEnum(), and resip::ParamBase::getTypeNum().
{
checkParsed();
bool ret = getParameterByEnum(paramType.getTypeNum()) != NULL;
return ret;
}

| GenericUri & GenericUri::operator= | ( | const GenericUri & | rhs | ) |
Definition at line 32 of file GenericUri.cxx.
References mUri.
{
if (this != &rhs)
{
ParserCategory::operator=(rhs);
mUri = rhs.mUri;
}
return *this;
}
| void GenericUri::parse | ( | ParseBuffer & | pb | ) | [virtual] |
Implements resip::LazyParser.
Definition at line 57 of file GenericUri.cxx.
References resip::ParseBuffer::data(), resip::Symbols::LA_QUOTE, mUri, resip::ParserCategory::parseParameters(), resip::Symbols::RA_QUOTE, resip::ParseBuffer::skipChar(), resip::ParseBuffer::skipToChar(), and resip::ParseBuffer::skipWhitespace().
{
pb.skipWhitespace();
const char* anchor = pb.skipChar(Symbols::LA_QUOTE[0]);
pb.skipToChar(Symbols::RA_QUOTE[0]);
pb.data(mUri, anchor);
pb.skipChar(Symbols::RA_QUOTE[0]);
pb.skipWhitespace();
parseParameters(pb);
}

| void GenericUri::remove | ( | const Param< GenericUri > & | paramType | ) |
Definition at line 122 of file GenericUri.cxx.
References resip::LazyParser::checkParsed(), resip::ParamBase::getTypeNum(), and resip::ParserCategory::removeParameterByEnum().
{
checkParsed();
removeParameterByEnum(paramType.getTypeNum());
}

| Data & GenericUri::uri | ( | ) |
Definition at line 43 of file GenericUri.cxx.
References resip::LazyParser::checkParsed(), and mUri.
{
checkParsed();
return mUri;
}

| const Data & GenericUri::uri | ( | ) | const |
Definition at line 50 of file GenericUri.cxx.
References resip::LazyParser::checkParsed(), and mUri.
{
checkParsed();
return mUri;
}

Data resip::GenericUri::mUri [private] |
Definition at line 59 of file GenericUri.hxx.
Referenced by encodeParsed(), operator=(), parse(), and uri().
ParameterTypes::Factory GenericUri::ParameterFactories = {0} [static, private] |
Definition at line 61 of file GenericUri.hxx.
Referenced by createParam().
1.7.5.1