|
reSIProcate/rutil
9694
|


Public Member Functions | |
| SrvTransform (const Data &vip) | |
| void | transform (RRVector &rrs, bool &) |
| RRVip::SrvTransform::SrvTransform | ( | const Data & | vip | ) |
| void RRVip::SrvTransform::transform | ( | RRVector & | rrs, |
| bool & | invalidVip | ||
| ) | [virtual] |
Reimplemented from resip::RRVip::Transform.
Definition at line 197 of file RRVip.cxx.
References DebugLog, resip::DnsSrvRecord::priority(), and resip::RRVip::vip().
{
invalidVip = true;
RRVector::iterator vip;
for (RRVector::iterator it = src.begin(); it != src.end(); ++it)
{
if ((*it)->isSameValue(mVip))
{
invalidVip = false;
vip = it;
break;
}
}
if(!invalidVip)
{
DebugLog(<< "Transforming SRV records");
int min = dynamic_cast<DnsSrvRecord*>(*(src.begin()))->priority();
for (RRVector::iterator it = src.begin(); it != src.end(); ++it)
{
int priority = ((dynamic_cast<DnsSrvRecord*>(*it))->priority())++;
if (priority < min) min = priority;
}
dynamic_cast<DnsSrvRecord*>((*vip))->priority() = min;
}
}

1.7.5.1