[svn] commit: r633 - in /branches/parkinglot: ./ src/bin/parkinglot/ src/lib/dns/cpp/ src/lib/dns/cpp/rdata/ src/lib/dns/cpp/rdata/ch_3/ src/lib/dns/cpp/rdata/generic/ src/lib/dns/cpp/rdata/in_1/

BIND 10 source code commits bind10-changes at lists.isc.org
Fri Jan 29 09:36:01 UTC 2010


Author: jinmei
Date: Fri Jan 29 09:36:01 2010
New Revision: 633

Log:
- moved concrete Rdata class definitions to separate directories under rdata/
- introduced unified auto-code generation with a python script for the rdata
  related definitions

Added:
    branches/parkinglot/src/lib/dns/cpp/gen-rdatacode.py.in   (with props)
    branches/parkinglot/src/lib/dns/cpp/rdata/
    branches/parkinglot/src/lib/dns/cpp/rdata/ch_3/
    branches/parkinglot/src/lib/dns/cpp/rdata/ch_3/a_1.cc
    branches/parkinglot/src/lib/dns/cpp/rdata/ch_3/a_1.h
    branches/parkinglot/src/lib/dns/cpp/rdata/generic/
    branches/parkinglot/src/lib/dns/cpp/rdata/generic/mx_15.cc
    branches/parkinglot/src/lib/dns/cpp/rdata/generic/mx_15.h
    branches/parkinglot/src/lib/dns/cpp/rdata/generic/ns_2.cc
    branches/parkinglot/src/lib/dns/cpp/rdata/generic/ns_2.h
    branches/parkinglot/src/lib/dns/cpp/rdata/generic/soa_6.cc
    branches/parkinglot/src/lib/dns/cpp/rdata/generic/soa_6.h
    branches/parkinglot/src/lib/dns/cpp/rdata/generic/txt_16.cc
    branches/parkinglot/src/lib/dns/cpp/rdata/generic/txt_16.h
    branches/parkinglot/src/lib/dns/cpp/rdata/in_1/
    branches/parkinglot/src/lib/dns/cpp/rdata/in_1/a_1.cc
    branches/parkinglot/src/lib/dns/cpp/rdata/in_1/a_1.h
    branches/parkinglot/src/lib/dns/cpp/rdata/in_1/aaaa_28.cc
    branches/parkinglot/src/lib/dns/cpp/rdata/in_1/aaaa_28.h
    branches/parkinglot/src/lib/dns/cpp/rdata/template.cc
    branches/parkinglot/src/lib/dns/cpp/rdata/template.h
    branches/parkinglot/src/lib/dns/cpp/rrclass-placeholder.h
    branches/parkinglot/src/lib/dns/cpp/rrparamregistry-placeholder.cc
    branches/parkinglot/src/lib/dns/cpp/rrtype-placeholder.h
Removed:
    branches/parkinglot/src/lib/dns/cpp/rrclass.h
    branches/parkinglot/src/lib/dns/cpp/rrparamregistry.cc
    branches/parkinglot/src/lib/dns/cpp/rrtype.h
Modified:
    branches/parkinglot/configure.ac
    branches/parkinglot/src/bin/parkinglot/b10-parkinglot.cc
    branches/parkinglot/src/bin/parkinglot/builtin_bench.cc
    branches/parkinglot/src/bin/parkinglot/data_source_plot.cc
    branches/parkinglot/src/lib/dns/cpp/Makefile.am
    branches/parkinglot/src/lib/dns/cpp/message_unittest.cc
    branches/parkinglot/src/lib/dns/cpp/rdata.cc
    branches/parkinglot/src/lib/dns/cpp/rdata.h
    branches/parkinglot/src/lib/dns/cpp/rdata_unittest.cc
    branches/parkinglot/src/lib/dns/cpp/rrset_unittest.cc

Modified: branches/parkinglot/configure.ac
==============================================================================
--- branches/parkinglot/configure.ac (original)
+++ branches/parkinglot/configure.ac Fri Jan 29 09:36:01 2010
@@ -180,6 +180,7 @@
            src/bin/msgq/msgq_test
            src/bin/msgq/run_msgq.sh
            src/bin/parkinglot/config.h
+           src/lib/dns/cpp/gen-rdatacode.py
           ], [
            chmod +x src/bin/cfgmgr/run_b10-cfgmgr.sh
            chmod +x src/bin/cmdctl/run_b10-cmdctl.sh
@@ -187,5 +188,6 @@
            chmod +x src/bin/bindctl/bindctl
            chmod +x src/bin/msgq/run_msgq.sh
            chmod +x src/bin/msgq/msgq_test
+	   chmod +x src/lib/dns/cpp/gen-rdatacode.py
           ])
 AC_OUTPUT

Modified: branches/parkinglot/src/bin/parkinglot/b10-parkinglot.cc
==============================================================================
--- branches/parkinglot/src/bin/parkinglot/b10-parkinglot.cc (original)
+++ branches/parkinglot/src/bin/parkinglot/b10-parkinglot.cc Fri Jan 29 09:36:01 2010
@@ -29,6 +29,7 @@
 #include <dns/cpp/messagerenderer.h>
 #include <dns/cpp/name.h>
 #include <dns/cpp/question.h>
+#include <dns/cpp/rdataclass.h>
 #include <dns/cpp/rrset.h>
 #include <dns/cpp/rrttl.h>
 #include <dns/cpp/message.h>

Modified: branches/parkinglot/src/bin/parkinglot/builtin_bench.cc
==============================================================================
--- branches/parkinglot/src/bin/parkinglot/builtin_bench.cc (original)
+++ branches/parkinglot/src/bin/parkinglot/builtin_bench.cc Fri Jan 29 09:36:01 2010
@@ -25,6 +25,7 @@
 #include <dns/cpp/messagerenderer.h>
 #include <dns/cpp/name.h>
 #include <dns/cpp/rdata.h>
+#include <dns/cpp/rdataclass.h>
 #include <dns/cpp/rrclass.h>
 #include <dns/cpp/rrtype.h>
 #include <dns/cpp/rrttl.h>

Modified: branches/parkinglot/src/bin/parkinglot/data_source_plot.cc
==============================================================================
--- branches/parkinglot/src/bin/parkinglot/data_source_plot.cc (original)
+++ branches/parkinglot/src/bin/parkinglot/data_source_plot.cc Fri Jan 29 09:36:01 2010
@@ -1,6 +1,7 @@
 
 #include <boost/foreach.hpp>
 
+#include <dns/cpp/rdataclass.h>
 #include <dns/cpp/rrttl.h>
 
 #include "data_source_plot.h"

Modified: branches/parkinglot/src/lib/dns/cpp/Makefile.am
==============================================================================
--- branches/parkinglot/src/lib/dns/cpp/Makefile.am (original)
+++ branches/parkinglot/src/lib/dns/cpp/Makefile.am Fri Jan 29 09:36:01 2010
@@ -1,15 +1,26 @@
 AM_CPPFLAGS = -I$(top_srcdir)/ext
 
 CLEANFILES = *.gcno *.gcda
+CLEANFILES += rrclass.h rrtype.h rrparamregistry.cc rdataclass.h rdataclass.cc
 
 lib_LTLIBRARIES = libdns.la
 libdns_la_SOURCES = buffer.h name.cc name.h messagerenderer.h messagerenderer.cc
-libdns_la_SOURCES += rrparamregistry.h rrparamregistry.cc
-libdns_la_SOURCES += rrclass.h rrclass.cc rrtype.h rrtype.cc rrttl.h rrttl.cc
-libdns_la_SOURCES += rdata.h rdata.cc rrset.h rrset.cc
+libdns_la_SOURCES += rrparamregistry.h
+libdns_la_SOURCES += rrclass.cc rrtype.cc rrttl.h rrttl.cc
+libdns_la_SOURCES += rdata.h rdata.cc
+libdns_la_SOURCES += rdataclass.h rdataclass.cc
+libdns_la_SOURCES += rrset.h rrset.cc
 libdns_la_SOURCES += question.h question.cc
 libdns_la_SOURCES += message.h message.cc
 libdns_la_SOURCES += exceptions.h exceptions.cc
+# auto-generate by gen-rdatacode.py:
+libdns_la_SOURCES += rrclass.h rrtype.h rrparamregistry.cc
+
+rrclass.h: rrclass-placeholder.h
+rrtype.h: rrtype-placeholder.h
+rrparamregistry.cc: rrparamregistry-placeholder.cc
+rrclass.h rrtype.h rrparamregistry.cc rdataclass.h rdataclass.cc: Makefile
+	./gen-rdatacode.py
 
 TESTS =
 if HAVE_GTEST

Modified: branches/parkinglot/src/lib/dns/cpp/message_unittest.cc
==============================================================================
--- branches/parkinglot/src/lib/dns/cpp/message_unittest.cc (original)
+++ branches/parkinglot/src/lib/dns/cpp/message_unittest.cc Fri Jan 29 09:36:01 2010
@@ -18,6 +18,7 @@
 #include "message.h"
 #include "messagerenderer.h"
 #include "question.h"
+#include "rdataclass.h"
 #include "rrclass.h"
 #include "rrttl.h"
 #include "rrtype.h"

Modified: branches/parkinglot/src/lib/dns/cpp/rdata.cc
==============================================================================
--- branches/parkinglot/src/lib/dns/cpp/rdata.cc (original)
+++ branches/parkinglot/src/lib/dns/cpp/rdata.cc Fri Jan 29 09:36:01 2010
@@ -143,446 +143,12 @@
     }
 }
 
-NS::NS(InputBuffer& buffer, size_t rdata_len) :
-    nsname_(buffer)
-{
-    // we don't need rdata_len for parsing.  if necessary, the caller will
-    // check consistency.
-}
-
-NS::NS(const NS& other) :
-    nsname_(other.nsname_)
-{}
-
-void
-NS::toWire(OutputBuffer& buffer) const
-{
-    nsname_.toWire(buffer);
-}
-
-void
-NS::toWire(MessageRenderer& renderer) const
-{
-    renderer.writeName(nsname_);
-}
-
-string
-NS::toText() const
-{
-    return (nsname_.toText());
-}
-
-int
-NS::compare(const Rdata& other) const
-{
-    const NS& other_ns = dynamic_cast<const NS&>(other);
-
-    return (compareNames(nsname_, other_ns.nsname_));
-}
-
-const Name&
-NS::getNSName() const
-{
-    return (nsname_);
-}
-
-SOA::SOA(InputBuffer& buffer, size_t rdata_len) :
-    mname_(buffer), rname_(buffer)
-{
-    // we don't need rdata_len for parsing.  if necessary, the caller will
-    // check consistency.
-    buffer.readData(numdata_, sizeof(numdata_));
-}
-
-SOA::SOA(const std::string& soastr) :
-    mname_("."), rname_(".")
-{
-    dns_throw(InvalidRdataText, "Not implemented yet");
-}
-
-SOA::SOA(const Name& mname, const Name& rname, uint32_t serial,
-         uint32_t refresh, uint32_t retry, uint32_t expire, uint32_t minimum) :
-    mname_(mname), rname_(rname)
-{
-    OutputBuffer b(20);
-    b.writeUint32(serial);
-    b.writeUint32(refresh);
-    b.writeUint32(retry);
-    b.writeUint32(expire);
-    b.writeUint32(minimum);
-    assert(b.getLength() == sizeof(numdata_));
-    memcpy(numdata_, b.getData(), sizeof(numdata_));
-}
-
-SOA::SOA(const SOA& other) :
-    mname_(other.mname_), rname_(other.rname_)
-{
-    memcpy(numdata_, other.numdata_, sizeof(numdata_));
-}
-
-void
-SOA::toWire(OutputBuffer& buffer) const
-{
-    mname_.toWire(buffer);
-    rname_.toWire(buffer);
-    buffer.writeData(numdata_, sizeof(numdata_));
-}
-
-void
-SOA::toWire(MessageRenderer& renderer) const
-{
-    renderer.writeName(mname_);
-    renderer.writeName(rname_);
-    renderer.writeData(numdata_, sizeof(numdata_));
-}
-
-string
-SOA::toText() const
-{
-    InputBuffer b(numdata_, sizeof(numdata_));
-    uint32_t serial = b.readUint32();
-    uint32_t refresh = b.readUint32();
-    uint32_t retry = b.readUint32();
-    uint32_t expire = b.readUint32();
-    uint32_t minimum = b.readUint32();
-
-    return (mname_.toText() + " " + rname_.toText() + " " +
-            lexical_cast<string>(serial) + " " +
-            lexical_cast<string>(refresh) + " " +
-            lexical_cast<string>(retry) + " " +
-            lexical_cast<string>(expire) + " " +
-            lexical_cast<string>(minimum));
-}
-
-int
-SOA::compare(const Rdata& other) const
-{
-    const SOA& other_soa = dynamic_cast<const SOA&>(other);
-
-    int order = compareNames(mname_, other_soa.mname_);
-    if (order != 0) {
-        return (order);
-    }
-
-    order = compareNames(rname_, other_soa.rname_);
-    if (order != 0) {
-        return (order);
-    }
-
-    return (memcmp(numdata_, other_soa.numdata_, sizeof(numdata_)));
-}
-
-MX::MX(InputBuffer& buffer, size_t rdata_len) :
-    preference_(buffer.readUint16()), mxname_(buffer)
-{
-    // we don't need rdata_len for parsing.  if necessary, the caller will
-    // check consistency.
-}
-
-MX::MX(const std::string& mxstr) :
-    preference_(0), mxname_(".")
-{
-    dns_throw(InvalidRdataText, "Not implemented yet");
-}
-
-MX::MX(uint16_t preference, const Name& mxname) :
-    preference_(preference), mxname_(mxname)
-{}
-
-MX::MX(const MX& other) :
-    preference_(other.preference_), mxname_(other.mxname_)
-{}
-
-void
-MX::toWire(OutputBuffer& buffer) const
-{
-    buffer.writeUint16(preference_);
-    mxname_.toWire(buffer);
-}
-
-void
-MX::toWire(MessageRenderer& renderer) const
-{
-    renderer.writeUint16(preference_);
-    renderer.writeName(mxname_);
-}
-
-string
-MX::toText() const
-{
-    return (lexical_cast<string>(preference_) + " " + mxname_.toText());
-}
-
-int
-MX::compare(const Rdata& other) const
-{
-    const MX& other_mx = dynamic_cast<const MX&>(other);
-
-    if (preference_ < other_mx.preference_) {
-        return (-1);
-    } else if (preference_ > other_mx.preference_) {
-        return (1);
-    }
-
-    return (compareNames(mxname_, other_mx.mxname_));
-}
-
-TXT::TXT(InputBuffer& buffer, size_t rdata_len)
-{
-    uint8_t len;
-
-    // TBD: this is a simple, incomplete implementation that only supports
-    // a single character-string.
-    len = buffer.readUint8();
-    vector<uint8_t> data(len + 1);
-    data[0] = len;
-    buffer.readData(&data[0] + 1, len);
-    string_list_.push_back(data);
-}
-
-TXT::TXT(const std::string& txtstr)
-{
-    size_t length = txtstr.size();
-    size_t pos_begin = 0;
-
-    if (length > 1 && txtstr[0] == '"' && txtstr[length - 1] == '"') {
-        pos_begin = 1;
-        length -= 2;
-    }
-    if (length > MAX_CHARSTRING_LEN) {
-        dns_throw(CharStringTooLong, "");
-    }
-
-    vector<uint8_t> data;
-    data.reserve(length + 1);
-    data.push_back(length);
-    data.insert(data.end(), txtstr.begin() + pos_begin,
-                txtstr.begin() + pos_begin + length);
-    string_list_.push_back(data);
-}
-
-TXT::TXT(const TXT& other) :
-    string_list_(other.string_list_)
-{}
-
-void
-TXT::toWire(OutputBuffer& buffer) const
-{
-    for (vector<vector<uint8_t> >::const_iterator it = string_list_.begin();
-         it != string_list_.end();
-         ++it)
-    {
-        buffer.writeData(&(*it)[0], (*it).size());
-    }
-}
-
-void
-TXT::toWire(MessageRenderer& renderer) const
-{
-    for (vector<vector<uint8_t> >::const_iterator it = string_list_.begin();
-         it != string_list_.end();
-         ++it)
-    {
-        renderer.writeData(&(*it)[0], (*it).size());
-    }
-}
-
-string
-TXT::toText() const
-{
-    string s;
-
-    // XXX: this implementation is not entirely correct.  for example, it
-    // should escape double-quotes if they appear in the character string.
-    for (vector<vector<uint8_t> >::const_iterator it = string_list_.begin();
-         it != string_list_.end();
-         ++it)
-    {
-        if (!s.empty()) {
-            s.push_back(' ');
-        }
-        s.push_back('"');
-        s.insert(s.end(), (*it).begin() + 1, (*it).end());
-        s.push_back('"');
-    }
-
-    return (s);
-}
-
-int
-TXT::compare(const Rdata& other) const
-{
-    const TXT& other_txt = dynamic_cast<const TXT&>(other);
-
-    // This implementation is not efficient.  Revisit this (TBD).
-    OutputBuffer this_buffer(0);
-    toWire(this_buffer);
-    size_t this_len = this_buffer.getLength();
-
-    OutputBuffer other_buffer(0);
-    other_txt.toWire(other_buffer);
-    size_t other_len = other_buffer.getLength();
-
-    size_t cmplen = min(this_len, other_len);
-    int cmp = memcmp(this_buffer.getData(), other_buffer.getData(), cmplen);
-    if (cmp != 0) {
-        return (cmp);
-    } else {
-        return ((this_len == other_len) ? 0 :
-                (this_len < other_len) ? -1 : 1);
-    }
-}
 } // end of namespace generic
 
 namespace in {
-A::A(const string& addrstr)
-{
-    // RFC1035 states textual representation of IN/A RDATA is
-    // "four decimal numbers separated by dots without any embedded spaces".
-    // This is exactly what inet_pton() accepts for AF_INET.  In particular,
-    // it rejects an abbreviated form such as "10.1" meaning "10.0.0.1".
-    if (inet_pton(AF_INET, addrstr.c_str(), &addr_) != 1) {
-        dns_throw(InvalidRdataText,
-                  "failed to parse IPv4 address for IN/A RDATA");
-    }
-}
-
-A::A(InputBuffer& buffer, size_t rdata_len)
-{
-    if (rdata_len != sizeof(addr_)) {
-        dns_throw(InvalidRdataLength, "Length mismatch for IN/A RDATA");
-    }
-    buffer.readData(&addr_, sizeof(addr_));
-}
-
-A::A(const A& other) :
-    addr_(other.addr_)
-{}
-
-void
-A::toWire(OutputBuffer& buffer) const
-{
-    buffer.writeData(&addr_, sizeof(addr_));
-}
-
-void
-A::toWire(MessageRenderer& renderer) const
-{
-    renderer.writeData(&addr_, sizeof(addr_));
-}
-
-string
-A::toText() const
-{
-    char addr_string[sizeof("255.255.255.255")];
-
-    if (inet_ntop(AF_INET, &addr_, addr_string, sizeof(addr_string)) == NULL) {
-        dns_throw(Unexpected, "inet_ntop failed for an IPv4 address");
-    }
-
-    return (string(addr_string));
-}
-
-int
-A::compare(const Rdata& other) const
-{
-    const A& other_a = dynamic_cast<const A&>(other);
-    return (memcmp(&addr_, &other_a.addr_, sizeof(addr_)));
-}
-
-AAAA::AAAA(const string& addrstr)
-{
-    if (inet_pton(AF_INET6, addrstr.c_str(), &addr_) != 1) {
-        dns_throw(InvalidRdataText,
-                  "failed to parse IPv6 address for IN/AAAA RDATA");
-    }
-}
-
-AAAA::AAAA(InputBuffer& buffer, size_t rdata_len)
-{
-    if (rdata_len != sizeof(addr_)) {
-        dns_throw(InvalidRdataLength, "Length mismatch for IN/AAAA RDATA");
-    }
-    buffer.readData(&addr_, sizeof(addr_));
-}
-
-AAAA::AAAA(const AAAA& other)
-{
-    memcpy(addr_, other.addr_, sizeof(addr_));
-}
-
-void
-AAAA::toWire(OutputBuffer& buffer) const
-{
-    buffer.writeData(&addr_, sizeof(addr_));
-}
-
-void
-AAAA::toWire(MessageRenderer& renderer) const
-{
-    renderer.writeData(&addr_, sizeof(addr_));
-}
-
-string
-AAAA::toText() const
-{
-    char addr_string[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")];
-
-    if (inet_ntop(AF_INET6, &addr_, addr_string, sizeof(addr_string)) == NULL) {
-        dns_throw(Unexpected, "inet_ntop failed for an IPv6 address");
-    }
-
-    return (string(addr_string));
-}
-
-int
-AAAA::compare(const Rdata& other) const
-{
-    const AAAA& other_a = dynamic_cast<const AAAA&>(other);
-    return (memcmp(&addr_, &other_a.addr_, sizeof(addr_)));
-}
 } // end of namespace in
 
 namespace ch {
-A::A(const string& addrstr)
-{
-    // TBD
-}
-
-A::A(InputBuffer& buffer, size_t rdata_len)
-{
-    // TBD
-}
-
-A::A(const A& source)
-{
-    // TBD
-}
-
-void
-A::toWire(OutputBuffer& buffer) const
-{
-    // TBD
-}
-
-void
-A::toWire(MessageRenderer& renderer) const
-{
-    // TBD
-}
-
-string
-A::toText() const
-{
-    // TBD
-    dns_throw(InvalidRdataText, "Not implemented yet");
-}
-
-int
-A::compare(const Rdata& other) const
-{
-    return (0);                 // dummy.  TBD
-}
 } // end of namespace ch
 } // end of namespace rdata
 }

Modified: branches/parkinglot/src/lib/dns/cpp/rdata.h
==============================================================================
--- branches/parkinglot/src/lib/dns/cpp/rdata.h (original)
+++ branches/parkinglot/src/lib/dns/cpp/rdata.h Fri Jan 29 09:36:01 2010
@@ -133,135 +133,7 @@
 private:
     std::vector<uint8_t> data_;
 };
-
-class NS : public Rdata {
-public:
-    explicit NS(const std::string& namestr) : nsname_(namestr) {}
-    explicit NS(InputBuffer& buffer, size_t rdata_len);
-    NS(const NS& other);
-    virtual std::string toText() const;
-    virtual void toWire(OutputBuffer& buffer) const;
-    virtual void toWire(MessageRenderer& buffer) const;
-    virtual int compare(const Rdata& other) const;
-    ///
-    /// Specialized constructorx
-    ///
-    explicit NS(const Name& nsname) : nsname_(nsname) {}
-    ///
-    /// Specialized methods
-    ///
-    const Name& getNSName() const;
-private:
-    Name nsname_;
-};
-
-class SOA : public Rdata {
-public:
-    explicit SOA(const std::string& soastr);
-    explicit SOA(InputBuffer& buffer, size_t rdata_len);
-    explicit SOA(const Name& mname, const Name& rname, uint32_t serial,
-                 uint32_t refresh, uint32_t retry, uint32_t expire,
-                 uint32_t minimum);
-    SOA(const SOA& other);
-    virtual ~SOA() {}
-    virtual std::string toText() const;
-    virtual void toWire(OutputBuffer& buffer) const;
-    virtual void toWire(MessageRenderer& buffer) const;
-    virtual int compare(const Rdata& other) const;
-private:
-    /// Note: this is a prototype version; we may reconsider
-    /// this representation later.
-    Name mname_;
-    Name rname_;
-    /// serial, refresh, retry, expire, minimum, stored in network byte order
-    uint8_t numdata_[20];
-};
-
-class MX : public Rdata {
-public:
-    explicit MX(const std::string& mxstr);
-    explicit MX(InputBuffer& buffer, size_t rdata_len);
-    explicit MX(uint16_t preference, const Name& mxname);
-    MX(const MX& other);
-    virtual std::string toText() const;
-    virtual void toWire(OutputBuffer& buffer) const;
-    virtual void toWire(MessageRenderer& buffer) const;
-    virtual int compare(const Rdata& other) const;
-private:
-    /// Note: this is a prototype version; we may reconsider
-    /// this representation later.
-    uint16_t preference_;
-    Name mxname_;
-};
-
-class TXT : public Rdata {
-public:
-    explicit TXT(const std::string& txtstr);
-    explicit TXT(InputBuffer& buffer, size_t rdata_len);
-    TXT(const TXT& other);
-    virtual std::string toText() const;
-    virtual void toWire(OutputBuffer& buffer) const;
-    virtual void toWire(MessageRenderer& buffer) const;
-    virtual int compare(const Rdata& other) const;
-private:
-    /// Note: this is a prototype version; we may reconsider
-    /// this representation later.
-    static const unsigned int MAX_CHARSTRING_LEN = 255;
-    std::vector<std::vector<uint8_t> > string_list_;
-};
 } // end of namespace "generic"
-
-namespace in {
-class A : public Rdata {
-public:
-    /// \brief Constructor from a textual IPv4 address.
-    explicit A(const std::string& addrstr);
-    explicit A(InputBuffer& buffer, size_t rdata_len);
-    A(const A& ohter);
-    virtual std::string toText() const;
-    virtual void toWire(OutputBuffer& buffer) const;
-    virtual void toWire(MessageRenderer& renderer) const;
-    virtual int compare(const Rdata& other) const;
-    //We can use the default destructor.
-    //virtual ~A() {}
-    // notyet:
-    //const struct in_addr& getAddress() const { return (addr_); }
-private:
-    uint32_t addr_;             // raw IPv4 address (network byte order)
-};
-
-class AAAA : public Rdata {
-public:
-    /// \brief Constructor from a textual IPv6 address.
-    explicit AAAA(const std::string& addrstr);
-    explicit AAAA(InputBuffer& buffer, size_t rdata_len);
-    AAAA(const AAAA& ohter);
-    virtual std::string toText() const;
-    virtual void toWire(OutputBuffer& buffer) const;
-    virtual void toWire(MessageRenderer& renderer) const;
-    virtual int compare(const Rdata& other) const;
-    //We can use the default destructor.
-    //virtual ~AAAA() {}
-    // notyet:
-    //const struct in6_addr& getAddress() const { return (addr_); }
-private:
-    uint8_t addr_[16];        // raw IPv6 address (network byte order)
-};
-} // end of namespace "in"
-
-namespace ch {
-class A : public Rdata {
-public:
-    explicit A(const std::string& addrstr);
-    explicit A(InputBuffer& buffer, size_t rdata_len);
-    A(const A& ohter);
-    virtual std::string toText() const;
-    virtual void toWire(OutputBuffer& buffer) const;
-    virtual void toWire(MessageRenderer& renderer) const;
-    virtual int compare(const Rdata& other) const;
-private:
-};
-} // end of namespace "ch"
 
 ///
 /// Non class-member functions related to Rdata

Modified: branches/parkinglot/src/lib/dns/cpp/rdata_unittest.cc
==============================================================================
--- branches/parkinglot/src/lib/dns/cpp/rdata_unittest.cc (original)
+++ branches/parkinglot/src/lib/dns/cpp/rdata_unittest.cc Fri Jan 29 09:36:01 2010
@@ -19,6 +19,7 @@
 #include "buffer.h"
 #include "messagerenderer.h"
 #include "rdata.h"
+#include "rdataclass.h"
 #include "rrclass.h"
 #include "rrtype.h"
 

Modified: branches/parkinglot/src/lib/dns/cpp/rrset_unittest.cc
==============================================================================
--- branches/parkinglot/src/lib/dns/cpp/rrset_unittest.cc (original)
+++ branches/parkinglot/src/lib/dns/cpp/rrset_unittest.cc Fri Jan 29 09:36:01 2010
@@ -18,6 +18,7 @@
 #include "messagerenderer.h"
 #include "name.h"
 #include "rdata.h"
+#include "rdataclass.h"
 #include "rrclass.h"
 #include "rrtype.h"
 #include "rrttl.h"




More information about the bind10-changes mailing list