| Index: net/dns/record_rdata.h
|
| diff --git a/net/dns/record_rdata.h b/net/dns/record_rdata.h
|
| index 76e9b37fe331521b172cc40b0278b4dd3127b4c1..dff311d8e8eed2e3aad323cc1607d08d3cab9a5f 100644
|
| --- a/net/dns/record_rdata.h
|
| +++ b/net/dns/record_rdata.h
|
| @@ -27,6 +27,10 @@ class NET_EXPORT_PRIVATE RecordRdata {
|
| public:
|
| virtual ~RecordRdata() {}
|
|
|
| + virtual bool IsEqual(const RecordRdata* other) const = 0;
|
| + virtual uint16 Type() const = 0;
|
| + virtual scoped_ptr<const RecordRdata> Copy() const = 0;
|
| +
|
| protected:
|
| RecordRdata();
|
|
|
| @@ -46,6 +50,10 @@ class NET_EXPORT_PRIVATE SrvRecordRdata : public RecordRdata {
|
| static scoped_ptr<SrvRecordRdata> Create(const base::StringPiece& data,
|
| const DnsRecordParser& parser);
|
|
|
| + virtual bool IsEqual(const RecordRdata* other) const OVERRIDE;
|
| + virtual uint16 Type() const OVERRIDE;
|
| + virtual scoped_ptr<const RecordRdata> Copy() const OVERRIDE;
|
| +
|
| uint16 priority() const { return priority_; }
|
| uint16 weight() const { return weight_; }
|
| uint16 port() const { return port_; }
|
| @@ -73,6 +81,9 @@ class NET_EXPORT_PRIVATE ARecordRdata : public RecordRdata {
|
| virtual ~ARecordRdata();
|
| static scoped_ptr<ARecordRdata> Create(const base::StringPiece& data,
|
| const DnsRecordParser& parser);
|
| + virtual bool IsEqual(const RecordRdata* other) const OVERRIDE;
|
| + virtual uint16 Type() const OVERRIDE;
|
| + virtual scoped_ptr<const RecordRdata> Copy() const OVERRIDE;
|
|
|
| const IPAddressNumber& address() const { return address_; }
|
|
|
| @@ -84,6 +95,29 @@ class NET_EXPORT_PRIVATE ARecordRdata : public RecordRdata {
|
| DISALLOW_COPY_AND_ASSIGN(ARecordRdata);
|
| };
|
|
|
| +// AAAA Record format (http://www.ietf.org/rfc/rfc1035.txt):
|
| +// 16 bytes for IP address.
|
| +class NET_EXPORT_PRIVATE AAAARecordRdata : public RecordRdata {
|
| + public:
|
| + static const uint16 kType = dns_protocol::kTypeAAAA;
|
| +
|
| + virtual ~AAAARecordRdata();
|
| + static scoped_ptr<AAAARecordRdata> Create(const base::StringPiece& data,
|
| + const DnsRecordParser& parser);
|
| + virtual bool IsEqual(const RecordRdata* other) const OVERRIDE;
|
| + virtual uint16 Type() const OVERRIDE;
|
| + virtual scoped_ptr<const RecordRdata> Copy() const OVERRIDE;
|
| +
|
| + const IPAddressNumber& address() const { return address_; }
|
| +
|
| + private:
|
| + AAAARecordRdata();
|
| +
|
| + IPAddressNumber address_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(AAAARecordRdata);
|
| +};
|
| +
|
| // CNAME record format (http://www.ietf.org/rfc/rfc1035.txt):
|
| // cname: On the wire representation of domain name.
|
| class NET_EXPORT_PRIVATE CnameRecordRdata : public RecordRdata {
|
| @@ -93,6 +127,9 @@ class NET_EXPORT_PRIVATE CnameRecordRdata : public RecordRdata {
|
| virtual ~CnameRecordRdata();
|
| static scoped_ptr<CnameRecordRdata> Create(const base::StringPiece& data,
|
| const DnsRecordParser& parser);
|
| + virtual bool IsEqual(const RecordRdata* other) const OVERRIDE;
|
| + virtual uint16 Type() const OVERRIDE;
|
| + virtual scoped_ptr<const RecordRdata> Copy() const OVERRIDE;
|
|
|
| std::string cname() const { return cname_; }
|
|
|
| @@ -113,6 +150,9 @@ class NET_EXPORT_PRIVATE PtrRecordRdata : public RecordRdata {
|
| virtual ~PtrRecordRdata();
|
| static scoped_ptr<PtrRecordRdata> Create(const base::StringPiece& data,
|
| const DnsRecordParser& parser);
|
| + virtual bool IsEqual(const RecordRdata* other) const OVERRIDE;
|
| + virtual uint16 Type() const OVERRIDE;
|
| + virtual scoped_ptr<const RecordRdata> Copy() const OVERRIDE;
|
|
|
| std::string ptrdomain() const { return ptrdomain_; }
|
|
|
| @@ -134,6 +174,9 @@ class NET_EXPORT_PRIVATE TxtRecordRdata : public RecordRdata {
|
| virtual ~TxtRecordRdata();
|
| static scoped_ptr<TxtRecordRdata> Create(const base::StringPiece& data,
|
| const DnsRecordParser& parser);
|
| + virtual bool IsEqual(const RecordRdata* other) const OVERRIDE;
|
| + virtual uint16 Type() const OVERRIDE;
|
| + virtual scoped_ptr<const RecordRdata> Copy() const OVERRIDE;
|
|
|
| const std::vector<std::string>& texts() const { return texts_; }
|
|
|
|
|