From: Mukund Sivaraman Date: Wed, 3 Oct 2012 05:41:02 +0000 (+0530) Subject: [2206] Change getHeader() to return a reference X-Git-Tag: trac2351_base~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1fb24f540ade83926d311316e77e1a6c8bef8432;p=thirdparty%2Fkea.git [2206] Change getHeader() to return a reference --- diff --git a/src/lib/datasrc/memory/zone_table_segment.h b/src/lib/datasrc/memory/zone_table_segment.h index aa771d0e59..24aed3f4a9 100644 --- a/src/lib/datasrc/memory/zone_table_segment.h +++ b/src/lib/datasrc/memory/zone_table_segment.h @@ -71,14 +71,10 @@ public: virtual ~ZoneTableSegment() {} /// \brief Return the ZoneTableHeader for the zone table segment. - /// - /// NOTE: This method should never return \c NULL. - virtual ZoneTableHeader* getHeader() = 0; + virtual ZoneTableHeader& getHeader() = 0; /// \brief const version of \c getHeader(). - /// - /// NOTE: This method should never return \c NULL. - virtual const ZoneTableHeader* getHeader() const = 0; + virtual const ZoneTableHeader& getHeader() const = 0; /// \brief Return the MemorySegment for the zone table segment. virtual isc::util::MemorySegment& getMemorySegment() = 0; diff --git a/src/lib/datasrc/memory/zone_table_segment_local.cc b/src/lib/datasrc/memory/zone_table_segment_local.cc index 80f26063f6..279d8992bb 100644 --- a/src/lib/datasrc/memory/zone_table_segment_local.cc +++ b/src/lib/datasrc/memory/zone_table_segment_local.cc @@ -20,14 +20,14 @@ namespace isc { namespace datasrc { namespace memory { -ZoneTableHeader* +ZoneTableHeader& ZoneTableSegmentLocal::getHeader() { - return (&header_); + return (header_); } -const ZoneTableHeader* +const ZoneTableHeader& ZoneTableSegmentLocal::getHeader() const { - return (&header_); + return (header_); } MemorySegment& diff --git a/src/lib/datasrc/memory/zone_table_segment_local.h b/src/lib/datasrc/memory/zone_table_segment_local.h index 26d45c4099..de776a9036 100644 --- a/src/lib/datasrc/memory/zone_table_segment_local.h +++ b/src/lib/datasrc/memory/zone_table_segment_local.h @@ -45,14 +45,10 @@ public: /// \brief Return the ZoneTableHeader for the local zone table /// segment implementation. - /// - /// NOTE: This method will never return \c NULL. - virtual ZoneTableHeader* getHeader(); + virtual ZoneTableHeader& getHeader(); /// \brief const version of \c getHeader(). - /// - /// NOTE: This method will never return \c NULL. - virtual const ZoneTableHeader* getHeader() const; + virtual const ZoneTableHeader& getHeader() const; /// \brief Return the MemorySegment for the local zone table segment /// implementation (a MemorySegmentLocal instance). diff --git a/src/lib/datasrc/tests/memory/zone_table_segment_unittest.cc b/src/lib/datasrc/tests/memory/zone_table_segment_unittest.cc index 3dead7a0cd..e6a8a97893 100644 --- a/src/lib/datasrc/tests/memory/zone_table_segment_unittest.cc +++ b/src/lib/datasrc/tests/memory/zone_table_segment_unittest.cc @@ -55,23 +55,20 @@ TEST_F(ZoneTableSegmentTest, create) { } TEST_F(ZoneTableSegmentTest, getHeader) { - // getHeader() should never return NULL. - ZoneTableHeader* header = segment_->getHeader(); - EXPECT_NE(static_cast(NULL), header); + ZoneTableHeader& header = segment_->getHeader(); // The zone table is unset. - ZoneTable* table = header->getTable(); + ZoneTable* table = header.getTable(); EXPECT_EQ(static_cast(NULL), table); } TEST_F(ZoneTableSegmentTest, getHeaderConst) { - // getHeader() should never return NULL. - const ZoneTableHeader* header = + // Test const methods + const ZoneTableHeader& header = static_cast(segment_)->getHeader(); - EXPECT_NE(static_cast(NULL), header); // The zone table is unset. - const ZoneTable* table = header->getTable(); + const ZoneTable* table = header.getTable(); EXPECT_EQ(static_cast(NULL), table); }