]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[2206] Change getHeader() to return a reference
authorMukund Sivaraman <muks@isc.org>
Wed, 3 Oct 2012 05:41:02 +0000 (11:11 +0530)
committerMukund Sivaraman <muks@isc.org>
Wed, 3 Oct 2012 05:41:02 +0000 (11:11 +0530)
src/lib/datasrc/memory/zone_table_segment.h
src/lib/datasrc/memory/zone_table_segment_local.cc
src/lib/datasrc/memory/zone_table_segment_local.h
src/lib/datasrc/tests/memory/zone_table_segment_unittest.cc

index aa771d0e59b881dcfb852ef1dcce6c6f16720950..24aed3f4a968c6f2311910985ca8f3221a84031e 100644 (file)
@@ -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;
index 80f26063f6a96ce8daa4ce9587d6f7374fbc1890..279d8992bb9e14c119cd6414729ae8fb40a31bf0 100644 (file)
@@ -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&
index 26d45c40993a585fbd81a03a2f76f1f1a7c8037e..de776a90360e1a224f492555b61473bcad4991b2 100644 (file)
@@ -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).
index 3dead7a0cd2466545503dbf332bfbb39aa15cda0..e6a8a978936d8c72057e64c73f842c431c5492a8 100644 (file)
@@ -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<void*>(NULL), header);
+    ZoneTableHeader& header = segment_->getHeader();
 
     // The zone table is unset.
-    ZoneTable* table = header->getTable();
+    ZoneTable* table = header.getTable();
     EXPECT_EQ(static_cast<void*>(NULL), table);
 }
 
 TEST_F(ZoneTableSegmentTest, getHeaderConst) {
-    // getHeader() should never return NULL.
-    const ZoneTableHeader* header =
+    // Test const methods
+    const ZoneTableHeader& header =
          static_cast<const ZoneTableSegment*>(segment_)->getHeader();
-    EXPECT_NE(static_cast<void*>(NULL), header);
 
     // The zone table is unset.
-    const ZoneTable* table = header->getTable();
+    const ZoneTable* table = header.getTable();
     EXPECT_EQ(static_cast<void*>(NULL), table);
 }