reSIProcate/rutil  9694
Public Member Functions
resip::RRVip::NaptrTransform Class Reference
Inheritance diagram for resip::RRVip::NaptrTransform:
Inheritance graph
[legend]
Collaboration diagram for resip::RRVip::NaptrTransform:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 NaptrTransform (const Data &vip)
void transform (RRVector &rrs, bool &)

Detailed Description

Definition at line 38 of file RRVip.hxx.


Constructor & Destructor Documentation

RRVip::NaptrTransform::NaptrTransform ( const Data vip)

Definition at line 157 of file RRVip.cxx.

References DebugLog.

   : Transform(vip)
{
   DebugLog(<< "Creating a new Napter transform for " << vip);
}

Member Function Documentation

void RRVip::NaptrTransform::transform ( RRVector rrs,
bool &  invalidVip 
) [virtual]

Reimplemented from resip::RRVip::Transform.

Definition at line 163 of file RRVip.cxx.

References DebugLog, resip::DnsNaptrRecord::order(), and resip::RRVip::vip().

{
   invalidVip = true;
   RRVector::iterator vip;
   for (RRVector::iterator it = src.begin(); it != src.end(); ++it)
   {
      if ((*it)->isSameValue(mVip))
      {
         DebugLog(<< "naptr vip record " << mVip << "found");
         invalidVip = false;
         vip = it;
         break;
      }
   }
   if(!invalidVip)
   {
      DebugLog(<< "Transforming Naptr records");
      int min = dynamic_cast<DnsNaptrRecord*>(*(src.begin()))->order();
      for (RRVector::iterator it = src.begin(); it != src.end(); ++it)
      {
         int order = ((dynamic_cast<DnsNaptrRecord*>(*it))->order())++;
         if (order < min) min = order;
      }
      dynamic_cast<DnsNaptrRecord*>((*vip))->order() = min;
   }
}

Here is the call graph for this function:


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