reSIProcate/stack  9694
Public Member Functions | Private Attributes
resip::RequestLine Class Reference

Represents the "Request-Line" element in the RFC 3261 grammar. More...

#include <RequestLine.hxx>

Inheritance diagram for resip::RequestLine:
Inheritance graph
[legend]
Collaboration diagram for resip::RequestLine:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 RequestLine ()
 RequestLine (MethodTypes method, const Data &sipVersion=Symbols::DefaultSipVersion)
 RequestLine (const HeaderFieldValue &hfv)
 RequestLine (const char *buf, int len)
 RequestLine (const RequestLine &)
RequestLineoperator= (const RequestLine &)
virtual ~RequestLine ()
const Uriuri () const
Uriuri ()
MethodTypes getMethod () const
MethodTypes & method ()
MethodTypes method () const
DataunknownMethodName ()
const DataunknownMethodName () const
const DatagetSipVersion () const
virtual void parse (ParseBuffer &pb)
virtual StartLineclone () const
virtual StartLineclone (void *location) const
virtual EncodeStreamencodeParsed (EncodeStream &str) const
virtual const DataerrorContext () const

Private Attributes

Uri mUri
MethodTypes mMethod
Data mUnknownMethodName
Data mSipVersion

Detailed Description

Represents the "Request-Line" element in the RFC 3261 grammar.

Definition at line 17 of file RequestLine.hxx.


Constructor & Destructor Documentation

RequestLine::RequestLine ( )

Definition at line 21 of file RequestLine.cxx.

Referenced by clone().

RequestLine::RequestLine ( MethodTypes  method,
const Data sipVersion = Symbols::DefaultSipVersion 
)

Definition at line 28 of file RequestLine.cxx.

RequestLine::RequestLine ( const HeaderFieldValue hfv)

Definition at line 35 of file RequestLine.cxx.

RequestLine::RequestLine ( const char *  buf,
int  len 
)

Definition at line 42 of file RequestLine.cxx.

RequestLine::RequestLine ( const RequestLine rhs)

Definition at line 49 of file RequestLine.cxx.

RequestLine::~RequestLine ( ) [virtual]

Definition at line 71 of file RequestLine.cxx.

{}

Member Function Documentation

StartLine * RequestLine::clone ( ) const [virtual]

Implements resip::StartLine.

Definition at line 75 of file RequestLine.cxx.

References RequestLine().

{
   return new RequestLine(*this);
}

Here is the call graph for this function:

StartLine * RequestLine::clone ( void *  location) const [virtual]

Implements resip::StartLine.

Definition at line 81 of file RequestLine.cxx.

References RequestLine().

{
   return new (location) RequestLine(*this);
}

Here is the call graph for this function:

EncodeStream & RequestLine::encodeParsed ( EncodeStream str) const [virtual]

Implements resip::StartLine.

Definition at line 159 of file RequestLine.cxx.

References resip::Uri::encodeParsed(), mMethod, mSipVersion, mUnknownMethodName, mUri, and resip::Symbols::SPACE.

Referenced by resip::SipMessage::getCanonicalIdentityString().

{
   str << (mMethod != UNKNOWN ? getMethodName(mMethod) : mUnknownMethodName) << Symbols::SPACE;
   mUri.encodeParsed(str);
   str << Symbols::SPACE << mSipVersion;
   return str;
}

Here is the call graph for this function:

const Data & RequestLine::errorContext ( ) const [virtual]

Implements resip::StartLine.

Definition at line 168 of file RequestLine.cxx.

{
   static const Data reqLine("Request Line");
   return reqLine;
}
MethodTypes RequestLine::getMethod ( ) const
const Data & RequestLine::getSipVersion ( ) const

Definition at line 136 of file RequestLine.cxx.

References resip::LazyParser::checkParsed(), and mSipVersion.

Referenced by main(), resip::Helper::makeCancel(), and resip::Helper::makeFailureAck().

{
   checkParsed(); 
   return mSipVersion;
}

Here is the call graph for this function:

MethodTypes & RequestLine::method ( )
MethodTypes RequestLine::method ( ) const

Definition at line 115 of file RequestLine.cxx.

References resip::LazyParser::checkParsed(), and mMethod.

{
   checkParsed(); 
   return mMethod;
}

Here is the call graph for this function:

RequestLine & RequestLine::operator= ( const RequestLine rhs)

Definition at line 58 of file RequestLine.cxx.

References mMethod, mSipVersion, mUnknownMethodName, and mUri.

{
   if (this != &rhs)
   {
      StartLine::operator=(rhs);
      mUri = rhs.mUri;
      mMethod = rhs.mMethod;
      mUnknownMethodName = rhs.mUnknownMethodName;
      mSipVersion = rhs.mSipVersion;
   }
   return *this;
}
void RequestLine::parse ( ParseBuffer pb) [virtual]

Implements resip::StartLine.

Definition at line 143 of file RequestLine.cxx.

References resip::ParseBuffer::data(), mMethod, mSipVersion, mUnknownMethodName, mUri, resip::Uri::parse(), resip::ParseBuffer::position(), resip::ParseBuffer::skipNonWhitespace(), and resip::ParseBuffer::skipWhitespace().

{
   const char* start;
   start = pb.skipWhitespace();
   pb.skipNonWhitespace();
   mMethod = getMethodType(start, int(pb.position() - start));
   // for backward compatibility, set the method name even if the method is known
   pb.data(mUnknownMethodName, start);
   pb.skipWhitespace();
   mUri.parse(pb);
   start = pb.skipWhitespace();
   pb.skipNonWhitespace();
   pb.data(mSipVersion, start);
}

Here is the call graph for this function:

Data & RequestLine::unknownMethodName ( )

Definition at line 122 of file RequestLine.cxx.

References resip::LazyParser::checkParsed(), and mUnknownMethodName.

Referenced by resip::SipMessage::encodeBrief(), and resip::SipMessage::methodStr().

Here is the call graph for this function:

const Data & RequestLine::unknownMethodName ( ) const

Definition at line 129 of file RequestLine.cxx.

References resip::LazyParser::checkParsed(), and mUnknownMethodName.

Here is the call graph for this function:

const Uri & RequestLine::uri ( ) const

Definition at line 87 of file RequestLine.cxx.

References resip::LazyParser::checkParsed(), and mUri.

Referenced by resip::SipMessage::compute2543TransactionHash(), resip::TransportSelector::dnsResolve(), resip::SipMessage::encodeBrief(), resip::Helper::extractFromPkcs7(), resip::SipMessage::getCanonicalIdentityString(), main(), resip::Helper::makeCancel(), resip::Helper::makeChallengeResponseAuth(), resip::Helper::makeChallengeResponseAuthWithA1(), resip::Helper::makeFailureAck(), resip::DeprecatedDialog::makeInitialInvite(), resip::DeprecatedDialog::makeInitialMessage(), resip::DeprecatedDialog::makeInitialPublish(), resip::DeprecatedDialog::makeInitialRegister(), resip::DeprecatedDialog::makeInitialSubscribe(), resip::Helper::makeMessage(), resip::BasicNonceHelper::makeNonce(), resip::Helper::makePublish(), resip::Helper::makeRegister(), resip::Helper::makeRequest(), resip::DeprecatedDialog::makeRequestInternal(), resip::Helper::makeSubscribe(), resip::Helper::massageRoute(), resip::MessageFilterRule::matches(), resip::SipMessage::mergeUri(), resip::TransactionState::processClientInvite(), resip::TransactionState::processClientNonInvite(), resip::TuIM::processMessageRequest(), resip::TuIM::processNotifyRequest(), resip::TuIM::processPageResponse(), resip::TuIM::processRegisterResponse(), resip::Helper::processStrictRoute(), resip::TuIM::processSubscribeRequest(), resip::TuIM::processSubscribeResponse(), resip::StatelessMessage::rewriteRequest(), resip::TransactionState::rewriteRequest(), Loadgen::Transceiver::send(), resip::TuIM::setOutbound(), resip::TransportSelector::transmit(), and resip::DeprecatedDialog::updateRequest().

{
   checkParsed(); 
   return mUri;
}

Here is the call graph for this function:

Uri & RequestLine::uri ( )

Definition at line 94 of file RequestLine.cxx.

References resip::LazyParser::checkParsed(), and mUri.

{
   checkParsed(); 
   return mUri;
}

Here is the call graph for this function:


Member Data Documentation

MethodTypes resip::RequestLine::mMethod [private]

Definition at line 48 of file RequestLine.hxx.

Referenced by encodeParsed(), getMethod(), method(), operator=(), and parse().

Definition at line 50 of file RequestLine.hxx.

Referenced by encodeParsed(), getSipVersion(), operator=(), and parse().

Definition at line 49 of file RequestLine.hxx.

Referenced by encodeParsed(), operator=(), parse(), and unknownMethodName().

Definition at line 47 of file RequestLine.hxx.

Referenced by encodeParsed(), operator=(), parse(), and uri().


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