From: JINMEI Tatuya Date: Fri, 7 Dec 2012 22:54:47 +0000 (-0800) Subject: [2470] added wrapper interface to create null loader callbacks X-Git-Tag: bind10-1.0.0-beta-release~15^2~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=50ca8b1b82973adbc44594812733aad0dd28bc2e;p=thirdparty%2Fkea.git [2470] added wrapper interface to create null loader callbacks this is especially useful for tests. --- diff --git a/src/lib/dns/Makefile.am b/src/lib/dns/Makefile.am index 7778b5813c..45cec325e3 100644 --- a/src/lib/dns/Makefile.am +++ b/src/lib/dns/Makefile.am @@ -124,7 +124,7 @@ libb10_dns___la_SOURCES += tsigerror.h tsigerror.cc libb10_dns___la_SOURCES += tsigkey.h tsigkey.cc libb10_dns___la_SOURCES += tsigrecord.h tsigrecord.cc libb10_dns___la_SOURCES += character_string.h character_string.cc -libb10_dns___la_SOURCES += master_loader_callbacks.h +libb10_dns___la_SOURCES += master_loader_callbacks.h master_loader_callbacks.cc libb10_dns___la_SOURCES += master_loader.h libb10_dns___la_SOURCES += rdata/generic/detail/char_string.h libb10_dns___la_SOURCES += rdata/generic/detail/char_string.cc diff --git a/src/lib/dns/master_loader_callbacks.h b/src/lib/dns/master_loader_callbacks.h index f572194ee6..f9cc18b60b 100644 --- a/src/lib/dns/master_loader_callbacks.h +++ b/src/lib/dns/master_loader_callbacks.h @@ -122,6 +122,16 @@ public: warning_(source_name, source_line, reason); } + /// \brief Return a callbacks instance with null callbacks + /// + /// This is a convenience wrapper to generate a + /// \c MasterLoaderCallbacks object with both callbacks being nothing. + /// This will be useful for applications that only need to run + /// \c MasterLoader and get the end result. + /// + /// \throw None + static MasterLoaderCallbacks getNullCallbacks(); + private: IssueCallback error_, warning_; }; diff --git a/src/lib/dns/tests/rdata_txt_like_unittest.cc b/src/lib/dns/tests/rdata_txt_like_unittest.cc index b0a572d7ce..d045875891 100644 --- a/src/lib/dns/tests/rdata_txt_like_unittest.cc +++ b/src/lib/dns/tests/rdata_txt_like_unittest.cc @@ -53,17 +53,11 @@ const uint8_t wiredata_txt_like[] = { const uint8_t wiredata_nulltxt[] = { 0 }; -// For lexer-based constructor -void -dummyCallback(const string&, size_t, const string&) { -} - template class Rdata_TXT_LIKE_Test : public RdataTest { protected: Rdata_TXT_LIKE_Test() : - callback(boost::bind(&dummyCallback, _1, _2, _3)), - loader_cb(callback, callback), + loader_cb(MasterLoaderCallbacks::getNullCallbacks()), wiredata_longesttxt(256, 'a'), rdata_txt_like("Test-String"), rdata_txt_like_empty("\"\""), @@ -72,9 +66,6 @@ protected: wiredata_longesttxt[0] = 255; // adjust length } -private: - const MasterLoaderCallbacks::IssueCallback callback; - protected: MasterLoaderCallbacks loader_cb; vector wiredata_longesttxt; diff --git a/src/lib/dns/tests/rdata_unittest.cc b/src/lib/dns/tests/rdata_unittest.cc index 7f0dd6580d..95f50e7441 100644 --- a/src/lib/dns/tests/rdata_unittest.cc +++ b/src/lib/dns/tests/rdata_unittest.cc @@ -60,10 +60,6 @@ RdataTest::rdataFactoryFromFile(const RRType& rrtype, const RRClass& rrclass, namespace test { -void -dummyCallback(const string&, size_t, const string&) { -} - RdataPtr createRdataUsingLexer(const RRType& rrtype, const RRClass& rrclass, const std::string& str) @@ -72,9 +68,8 @@ createRdataUsingLexer(const RRType& rrtype, const RRClass& rrclass, MasterLexer lexer; lexer.pushSource(ss); - const MasterLoaderCallbacks::IssueCallback callback - (boost::bind(&dummyCallback, _1, _2, _3)); - MasterLoaderCallbacks callbacks(callback, callback); + MasterLoaderCallbacks callbacks = + MasterLoaderCallbacks::getNullCallbacks(); const Name origin("example.org."); return (createRdata(rrtype, rrclass, lexer, &origin, diff --git a/src/lib/dns/tests/rrparamregistry_unittest.cc b/src/lib/dns/tests/rrparamregistry_unittest.cc index 0ae0a762c6..08e0af10cb 100644 --- a/src/lib/dns/tests/rrparamregistry_unittest.cc +++ b/src/lib/dns/tests/rrparamregistry_unittest.cc @@ -157,10 +157,6 @@ TEST_F(RRParamRegistryTest, addRemoveFactory) { RRType(test_type_code))); } -void -dummyCallback(const string&, size_t, const string&) { -} - RdataPtr createRdataHelper(const std::string& str) { boost::scoped_ptr rdf(new TestRdataFactory); @@ -169,9 +165,7 @@ createRdataHelper(const std::string& str) { MasterLexer lexer; lexer.pushSource(ss); - const MasterLoaderCallbacks::IssueCallback callback - (boost::bind(&dummyCallback, _1, _2, _3)); - MasterLoaderCallbacks callbacks(callback, callback); + MasterLoaderCallbacks callbacks(MasterLoaderCallbacks::getNullCallbacks()); const Name origin("example.org."); return (rdf->create(lexer, &origin,