reSIProcate/rutil  9694
Classes | Public Member Functions | Private Attributes
resip::DnsCnameRecord Class Reference

#include <DnsCnameRecord.hxx>

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

List of all members.

Classes

class  CnameException

Public Member Functions

 DnsCnameRecord (const RROverlay &)
 ~DnsCnameRecord ()
const Datacname () const
const Dataname () const
bool isSameValue (const Data &) const
EncodeStream & dump (EncodeStream &strm) const

Private Attributes

Data mCname
Data mName

Detailed Description

Definition at line 14 of file DnsCnameRecord.hxx.


Constructor & Destructor Documentation

DnsCnameRecord::DnsCnameRecord ( const RROverlay overlay)

Definition at line 26 of file DnsCnameRecord.cxx.

References resip::RROverlay::data(), mCname, mName, resip::RROverlay::msg(), resip::RROverlay::msgLength(), name(), resip::RROverlay::nameLength(), and RRFIXEDSZ.

{
   char* name = 0;
   long len = 0;
   if (ARES_SUCCESS != ares_expand_name(overlay.data()-overlay.nameLength()-RRFIXEDSZ, overlay.msg(), overlay.msgLength(), &name, &len))
   {
      throw CnameException("Failed parse of CNAME record", __FILE__, __LINE__);
   }
   mName = name;
   free(name);

   if (ARES_SUCCESS != ares_expand_name(overlay.data(), overlay.msg(), overlay.msgLength(), &name, &len))
   {
      throw CnameException("Failed parse of CNAME record", __FILE__, __LINE__);
   }
   
   mCname = name;
   free(name);
}

Here is the call graph for this function:

resip::DnsCnameRecord::~DnsCnameRecord ( ) [inline]

Definition at line 29 of file DnsCnameRecord.hxx.

{}

Member Function Documentation

const Data& resip::DnsCnameRecord::cname ( ) const [inline]

Definition at line 32 of file DnsCnameRecord.hxx.

References mCname.

Referenced by resip::RRList::encodeRecordItem().

{ return mCname; }
EncodeStream & DnsCnameRecord::dump ( EncodeStream &  strm) const [virtual]

Implements resip::DnsResourceRecord.

Definition at line 52 of file DnsCnameRecord.cxx.

References mCname, and mName.

{
   strm << mName << " (CNAME) --> " << mCname;
   return strm;
}
bool DnsCnameRecord::isSameValue ( const Data value) const [virtual]

Implements resip::DnsResourceRecord.

Definition at line 46 of file DnsCnameRecord.cxx.

References mCname.

{
   return mCname==value;
}
const Data& resip::DnsCnameRecord::name ( ) const [inline, virtual]

Implements resip::DnsResourceRecord.

Definition at line 33 of file DnsCnameRecord.hxx.

References mName.

Referenced by DnsCnameRecord(), and resip::RRList::encodeRecordItem().

{ return mName; }

Member Data Documentation

Definition at line 38 of file DnsCnameRecord.hxx.

Referenced by cname(), DnsCnameRecord(), dump(), and isSameValue().

Definition at line 39 of file DnsCnameRecord.hxx.

Referenced by DnsCnameRecord(), dump(), and name().


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