From: Mukund Sivaraman Date: Tue, 23 Oct 2012 02:58:41 +0000 (+0530) Subject: [2208] Pass RRClass to ZoneTableSegment::create() factory method X-Git-Tag: trac2487_base~21^2~8^2~8^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4ea73cff14dfd8c6898f1c79e7de860a2ca83b33;p=thirdparty%2Fkea.git [2208] Pass RRClass to ZoneTableSegment::create() factory method --- diff --git a/src/bin/auth/tests/auth_srv_unittest.cc b/src/bin/auth/tests/auth_srv_unittest.cc index fb799fd340..3725c208d4 100644 --- a/src/bin/auth/tests/auth_srv_unittest.cc +++ b/src/bin/auth/tests/auth_srv_unittest.cc @@ -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 diff --git a/src/lib/datasrc/client_list.cc b/src/lib/datasrc/client_list.cc index 348ef8ea9e..cba75b8db6 100644 --- a/src/lib/datasrc/client_list.cc +++ b/src/lib/datasrc/client_list.cc @@ -93,7 +93,7 @@ ConfigurableClientList::configure(const ConstElementPtr& config, try { vector new_data_sources; shared_ptr ztable_segment( - ZoneTableSegment::create(*config)); + ZoneTableSegment::create(*config, rrclass_)); for (; i < config->size(); ++i) { // Extract the parameters const ConstElementPtr dconf(config->get(i)); diff --git a/src/lib/datasrc/memory/zone_table_segment.cc b/src/lib/datasrc/memory/zone_table_segment.cc index 7e8e480053..1c7028aeec 100644 --- a/src/lib/datasrc/memory/zone_table_segment.cc +++ b/src/lib/datasrc/memory/zone_table_segment.cc @@ -15,22 +15,20 @@ #include #include +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 diff --git a/src/lib/datasrc/memory/zone_table_segment.h b/src/lib/datasrc/memory/zone_table_segment.h index bd408b09d3..f4b5deda6f 100644 --- a/src/lib/datasrc/memory/zone_table_segment.h +++ b/src/lib/datasrc/memory/zone_table_segment.h @@ -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 /// diff --git a/src/lib/datasrc/tests/client_list_unittest.cc b/src/lib/datasrc/tests/client_list_unittest.cc index 7d92329d82..c3184411a2 100644 --- a/src/lib/datasrc/tests/client_list_unittest.cc +++ b/src/lib/datasrc/tests/client_list_unittest.cc @@ -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 diff --git a/src/lib/datasrc/tests/zone_finder_context_unittest.cc b/src/lib/datasrc/tests/zone_finder_context_unittest.cc index d213a00ca6..1a4cae2022 100644 --- a/src/lib/datasrc/tests/zone_finder_context_unittest.cc +++ b/src/lib/datasrc/tests/zone_finder_context_unittest.cc @@ -67,7 +67,7 @@ createInMemoryClient(RRClass zclass, const Name& zname) { const ElementPtr config(Element::fromJSON("{}")); shared_ptr ztable_segment( - ZoneTableSegment::create(*config)); + ZoneTableSegment::create(*config, zclass)); shared_ptr client(new InMemoryClient(ztable_segment, zclass)); client->load(zname, TEST_ZONE_FILE);