17 void transform(
const Data& target,
int rrType, std::vector<DnsResourceRecord*>&);
24 typedef std::vector<DnsResourceRecord*> RRVector;
28 Transform(
const Data& vip);
30 virtual void transform(RRVector& rrs,
bool& invalidVip);
31 void updateVip(
const Data& vip);
32 const Data& vip() {
return mVip; };
38 class NaptrTransform :
public Transform
41 NaptrTransform(
const Data& vip);
42 void transform(RRVector& rrs,
bool&);
45 class SrvTransform :
public Transform
48 SrvTransform(
const Data& vip);
49 void transform(RRVector& rrs,
bool&);
56 MapKey(
const Data& target,
int rrType);
63 class TransformFactory
66 virtual ~TransformFactory() {}
67 virtual Transform* createTransform(
const Data&
vip) = 0;
70 class HostTransformFactory :
public TransformFactory
73 Transform* createTransform(
const Data&
vip) {
return new Transform(
vip); }
76 class NaptrTransformFactroy :
public TransformFactory
79 Transform* createTransform(
const Data&
vip) {
return new NaptrTransform(
vip); }
82 class SrvTransformFactory :
public TransformFactory
85 Transform* createTransform(
const Data&
vip) {
return new SrvTransform(
vip); }
88 typedef std::map<int, TransformFactory*> TransformFactoryMap;
89 TransformFactoryMap mFactories;
91 typedef std::map<MapKey, Transform*> TransformMap;
92 TransformMap mTransforms;