bool NameRecord::operator==(const NameRecord &o) { if (isNull() != o.isNull() || owner() != o.owner() || ttl() != o.ttl() || type() != o.type()) { return false; } switch (type()) { case XMPP::NameRecord::A: case XMPP::NameRecord::Aaaa: return address() == o.address(); case XMPP::NameRecord::Mx: return name() == o.name() && priority() == o.priority(); case XMPP::NameRecord::Srv: return name() == o.name() && port() == o.port() && priority() == o.priority() && weight() == o.weight(); case XMPP::NameRecord::Cname: case XMPP::NameRecord::Ptr: case XMPP::NameRecord::Ns: return name() == o.name(); case XMPP::NameRecord::Txt: return texts() == o.texts(); case XMPP::NameRecord::Hinfo: return cpu() == o.cpu() && os() == o.os(); case XMPP::NameRecord::Null: return rawData() == o.rawData(); case XMPP::NameRecord::Any: return false; } return false; }
QJDns::Record exportJDNSRecord(const NameRecord &in) { QJDns::Record out; switch(in.type()) { case NameRecord::A: out.type = QJDns::A; out.haveKnown = true; out.address = in.address(); break; case NameRecord::Aaaa: out.type = QJDns::Aaaa; out.haveKnown = true; out.address = in.address(); break; case NameRecord::Mx: out.type = QJDns::Mx; out.haveKnown = true; out.name = in.name(); out.priority = in.priority(); break; case NameRecord::Srv: out.type = QJDns::Srv; out.haveKnown = true; out.name = in.name(); out.port = in.port(); out.priority = in.priority(); out.weight = in.weight(); break; case NameRecord::Cname: out.type = QJDns::Cname; out.haveKnown = true; out.name = in.name(); break; case NameRecord::Ptr: out.type = QJDns::Ptr; out.haveKnown = true; out.name = in.name(); break; case NameRecord::Txt: out.type = QJDns::Txt; out.haveKnown = true; out.texts = in.texts(); break; case NameRecord::Hinfo: out.type = QJDns::Hinfo; out.haveKnown = true; out.cpu = in.cpu(); out.os = in.os(); break; case NameRecord::Ns: out.type = QJDns::Ns; out.haveKnown = true; out.name = in.name(); break; case NameRecord::Null: out.type = 10; out.rdata = in.rawData(); break; default: return out; } out.owner = in.owner(); out.ttl = in.ttl(); return out; }