|
reSIProcate/rutil
9694
|


Public Member Functions | |
| NaptrTransform (const Data &vip) | |
| void | transform (RRVector &rrs, bool &) |
| RRVip::NaptrTransform::NaptrTransform | ( | const Data & | vip | ) |
| 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;
}
}

1.7.5.1