]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[2208] Pass RRClass to ZoneTableSegment::create() factory method
authorMukund Sivaraman <muks@isc.org>
Tue, 23 Oct 2012 02:58:41 +0000 (08:28 +0530)
committerMukund Sivaraman <muks@isc.org>
Tue, 23 Oct 2012 03:25:32 +0000 (08:55 +0530)
src/bin/auth/tests/auth_srv_unittest.cc
src/lib/datasrc/client_list.cc
src/lib/datasrc/memory/zone_table_segment.cc
src/lib/datasrc/memory/zone_table_segment.h
src/lib/datasrc/tests/client_list_unittest.cc
src/lib/datasrc/tests/zone_finder_context_unittest.cc

index fb799fd34062683687bb3450f0cd3cf505e5becb..3725c208d49f7bb8165a3ff90bd3b21804451de5 100644 (file)
@@ -1403,7 +1403,7 @@ public:
         ConfigurableClientList(RRClass::IN()),
         real_(real_list),
         config_(Element::fromJSON("{}")),
-        ztable_segment_(ZoneTableSegment::create(*config_))
+        ztable_segment_(ZoneTableSegment::create(*config_, RRClass::IN()))
     {
         BOOST_FOREACH(const DataSourceInfo& info, real_->getDataSources()) {
              const isc::datasrc::DataSourceClientPtr
index 348ef8ea9eb0177f886bffb54e29b893bb1d9b50..cba75b8db697c292255ae6b03ea6ab9e45c1dda2 100644 (file)
@@ -93,7 +93,7 @@ ConfigurableClientList::configure(const ConstElementPtr& config,
     try {
         vector<DataSourceInfo> new_data_sources;
         shared_ptr<ZoneTableSegment> ztable_segment(
-             ZoneTableSegment::create(*config));
+            ZoneTableSegment::create(*config, rrclass_));
         for (; i < config->size(); ++i) {
             // Extract the parameters
             const ConstElementPtr dconf(config->get(i));
index 7e8e480053d664ad94b19f21a83ae375e6c2230b..1c7028aeec830abcfe0eff2a3f6432bfc1665b3b 100644 (file)
 #include <datasrc/memory/zone_table_segment.h>
 #include <datasrc/memory/zone_table_segment_local.h>
 
+using namespace isc::dns;
+
 namespace isc {
 namespace datasrc {
 namespace memory {
 
 ZoneTableSegment*
-ZoneTableSegment::create(const isc::data::Element&) {
+ZoneTableSegment::create(const isc::data::Element&, RRClass rrclass) {
     /// FIXME: For now, we always return ZoneTableSegmentLocal. This
     /// should be updated eventually to parse the passed Element
     /// argument and construct a corresponding ZoneTableSegment
     /// implementation.
 
-    /// FIXME: For now, we always use RRClass::IN(). This
-    /// should be updated eventually to parse the passed Element
-    /// argument and pick the appropriate RRClass.
-
-    return (new ZoneTableSegmentLocal(isc::dns::RRClass::IN()));
+    return (new ZoneTableSegmentLocal(rrclass));
 }
 
 void
index bd408b09d353fd7a1b152ec06904c23da45eb23f..f4b5deda6f4ffd2d821b90cd337b2c19456c9555 100644 (file)
@@ -97,7 +97,8 @@ public:
     /// \param config The configuration based on which a derived object
     ///               is returned.
     /// \return Returns a ZoneTableSegment object
-    static ZoneTableSegment* create(const isc::data::Element& config);
+    static ZoneTableSegment* create(const isc::data::Element& config,
+                                    isc::dns::RRClass rrclass);
 
     /// \brief Destroy a ZoneTableSegment
     ///
index 7d92329d8282f8b0a5a9ef3048b9edfebe3ef31a..c3184411a2f5b5f848a064065b252be57f15ca58 100644 (file)
@@ -257,7 +257,7 @@ public:
             "                \"noiter.org\", \"null.org\"]"
             "}]")),
         config_(Element::fromJSON("{}")),
-        ztable_segment_(ZoneTableSegment::create(*config_))
+        ztable_segment_(ZoneTableSegment::create(*config_, rrclass_))
     {
         for (size_t i(0); i < ds_count; ++ i) {
             shared_ptr<MockDataSourceClient>
index d213a00ca6f03a6097c88b2861eb014d93977129..1a4cae2022b402f96f5260debe6ef4b88cc51bad 100644 (file)
@@ -67,7 +67,7 @@ createInMemoryClient(RRClass zclass, const Name& zname)
 {
     const ElementPtr config(Element::fromJSON("{}"));
     shared_ptr<ZoneTableSegment> ztable_segment(
-        ZoneTableSegment::create(*config));
+        ZoneTableSegment::create(*config, zclass));
     shared_ptr<InMemoryClient> client(new InMemoryClient(ztable_segment,
                                                          zclass));
     client->load(zname, TEST_ZONE_FILE);