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

Represents the RAck header field value defined in the RFC 3262 grammar. More...

#include <RAckCategory.hxx>

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

List of all members.

Public Types

enum  { commaHandling = NoCommaTokenizing }

Public Member Functions

 RAckCategory ()
 RAckCategory (const HeaderFieldValue &hfv, Headers::Type type, PoolBase *pool=0)
 RAckCategory (const RAckCategory &orig, PoolBase *pool=0)
RAckCategoryoperator= (const RAckCategory &)
MethodTypes & method ()
MethodTypes method () const
DataunknownMethodName ()
const DataunknownMethodName () const
unsigned int & rSequence ()
unsigned int rSequence () const
unsigned int & cSequence ()
unsigned int cSequence () const
bool operator== (const RAckCategory &rhs) const
virtual void parse (ParseBuffer &pb)
virtual ParserCategoryclone () const
virtual ParserCategoryclone (void *location) const
virtual ParserCategoryclone (PoolBase *pool) const
virtual EncodeStreamencodeParsed (EncodeStream &str) const

Private Attributes

MethodTypes mMethod
Data mUnknownMethodName
unsigned int mRSequence
unsigned int mCSequence

Detailed Description

Represents the RAck header field value defined in the RFC 3262 grammar.

Definition at line 17 of file RAckCategory.hxx.


Member Enumeration Documentation

anonymous enum
Enumerator:
commaHandling 

Definition at line 20 of file RAckCategory.hxx.


Constructor & Destructor Documentation

RAckCategory::RAckCategory ( )

Definition at line 30 of file RAckCategory.cxx.

Referenced by clone().

   : ParserCategory(), 
     mMethod(UNKNOWN), 
     mUnknownMethodName(getMethodName(UNKNOWN)),
     mRSequence(0),
     mCSequence(0) 
{}
RAckCategory::RAckCategory ( const HeaderFieldValue hfv,
Headers::Type  type,
PoolBase pool = 0 
)

Definition at line 21 of file RAckCategory.cxx.

   : ParserCategory(hfv, type, pool), 
     mMethod(UNKNOWN), 
     mRSequence(0),
     mCSequence(0) 
{}
RAckCategory::RAckCategory ( const RAckCategory orig,
PoolBase pool = 0 
)

Definition at line 38 of file RAckCategory.cxx.

   : ParserCategory(rhs, pool),
     mMethod(rhs.mMethod),
     mUnknownMethodName(rhs.mUnknownMethodName),
     mRSequence(rhs.mRSequence),
     mCSequence(rhs.mCSequence)
{}

Member Function Documentation

ParserCategory * RAckCategory::clone ( ) const [virtual]

Implements resip::ParserCategory.

Definition at line 71 of file RAckCategory.cxx.

References RAckCategory().

{
   return new RAckCategory(*this);
}

Here is the call graph for this function:

ParserCategory * RAckCategory::clone ( void *  location) const [virtual]

Implements resip::ParserCategory.

Definition at line 77 of file RAckCategory.cxx.

References RAckCategory().

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

Here is the call graph for this function:

ParserCategory * RAckCategory::clone ( PoolBase pool) const [virtual]

Implements resip::ParserCategory.

Definition at line 83 of file RAckCategory.cxx.

References RAckCategory().

{
   return new (pool) RAckCategory(*this, pool);
}

Here is the call graph for this function:

unsigned int & RAckCategory::cSequence ( )

Definition at line 130 of file RAckCategory.cxx.

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

{
   checkParsed(); 
   return mCSequence;
}

Here is the call graph for this function:

unsigned int RAckCategory::cSequence ( ) const

Definition at line 137 of file RAckCategory.cxx.

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

{
   checkParsed(); 
   return mCSequence;
}

Here is the call graph for this function:

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

Implements resip::LazyParser.

Definition at line 162 of file RAckCategory.cxx.

References mCSequence, mMethod, mRSequence, mUnknownMethodName, and resip::Symbols::SPACE.

{
   str << mRSequence << Symbols::SPACE 
       << mCSequence << Symbols::SPACE 
       << (mMethod != UNKNOWN ? getMethodName(mMethod) : mUnknownMethodName);
   return str;
}
MethodTypes & RAckCategory::method ( )

Definition at line 89 of file RAckCategory.cxx.

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

{
   checkParsed(); 
   return mMethod;
}

Here is the call graph for this function:

MethodTypes RAckCategory::method ( ) const

Definition at line 96 of file RAckCategory.cxx.

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

{
   checkParsed(); return mMethod;
}

Here is the call graph for this function:

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

Definition at line 48 of file RAckCategory.cxx.

References mCSequence, mMethod, mRSequence, and mUnknownMethodName.

{
   if (this != &rhs)
   {
      ParserCategory::operator=(rhs);
      mMethod = rhs.mMethod;
      mUnknownMethodName = rhs.mUnknownMethodName;
      mRSequence = rhs.mRSequence;
      mCSequence = rhs.mCSequence;
   }
   return *this;
}
bool RAckCategory::operator== ( const RAckCategory rhs) const

Definition at line 62 of file RAckCategory.cxx.

References mCSequence, mMethod, mRSequence, and mUnknownMethodName.

{
   return (mMethod == rhs.mMethod &&
           (mMethod != UNKNOWN || mUnknownMethodName == rhs.mUnknownMethodName) &&
           mRSequence == rhs.mRSequence &&
           mCSequence == rhs.mCSequence);
}
void RAckCategory::parse ( ParseBuffer pb) [virtual]

Implements resip::LazyParser.

Definition at line 144 of file RAckCategory.cxx.

References resip::ParseBuffer::data(), mCSequence, mMethod, mRSequence, mUnknownMethodName, resip::ParseBuffer::position(), resip::ParseBuffer::skipNonWhitespace(), resip::ParseBuffer::skipWhitespace(), and resip::ParseBuffer::uInt32().

{
   const char* anchorPtr;
   pb.skipWhitespace();
   mRSequence = pb.uInt32();

   pb.skipWhitespace();
   mCSequence = pb.uInt32();

   anchorPtr = pb.skipWhitespace();
   pb.skipNonWhitespace();

   mMethod = getMethodType(anchorPtr, int(pb.position() - anchorPtr));
   // for backward compatibility, set the method name even if the method is known
   pb.data(mUnknownMethodName, anchorPtr);
}

Here is the call graph for this function:

unsigned int & RAckCategory::rSequence ( )

Definition at line 116 of file RAckCategory.cxx.

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

{
   checkParsed(); 
   return mRSequence;
}

Here is the call graph for this function:

unsigned int RAckCategory::rSequence ( ) const

Definition at line 123 of file RAckCategory.cxx.

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

{
   checkParsed(); 
   return mRSequence;
}

Here is the call graph for this function:

Data & RAckCategory::unknownMethodName ( )

Definition at line 102 of file RAckCategory.cxx.

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

Here is the call graph for this function:

const Data & RAckCategory::unknownMethodName ( ) const

Definition at line 109 of file RAckCategory.cxx.

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

Here is the call graph for this function:


Member Data Documentation

unsigned int resip::RAckCategory::mCSequence [private]

Definition at line 51 of file RAckCategory.hxx.

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

MethodTypes resip::RAckCategory::mMethod [private]

Definition at line 48 of file RAckCategory.hxx.

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

unsigned int resip::RAckCategory::mRSequence [private]

Definition at line 50 of file RAckCategory.hxx.

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

Definition at line 49 of file RAckCategory.hxx.

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


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