Browse Source

[2206] Add const variant of getHeader()

Mukund Sivaraman 12 years ago
parent
commit
538a160ef4

+ 7 - 0
src/lib/datasrc/memory/zone_table_segment.h

@@ -77,6 +77,13 @@ public:
     /// \return Returns the ZoneTableHeader for this zone table segment.
     /// \return Returns the ZoneTableHeader for this zone table segment.
     virtual ZoneTableHeader* getHeader() = 0;
     virtual ZoneTableHeader* getHeader() = 0;
 
 
+    /// \brief const version of \c getHeader().
+    ///
+    /// NOTE: This method should never return \c NULL.
+    ///
+    /// \return Returns the ZoneTableHeader for this zone table segment.
+    virtual const ZoneTableHeader* getHeader() const = 0;
+
     /// \brief Return the MemorySegment for the zone table segment.
     /// \brief Return the MemorySegment for the zone table segment.
     ///
     ///
     /// \return Returns the ZoneTableHeader for this zone table segment.
     /// \return Returns the ZoneTableHeader for this zone table segment.

+ 5 - 0
src/lib/datasrc/memory/zone_table_segment_local.cc

@@ -25,6 +25,11 @@ ZoneTableSegmentLocal::getHeader() {
      return (&header_);
      return (&header_);
 }
 }
 
 
+const ZoneTableHeader*
+ZoneTableSegmentLocal::getHeader() const {
+     return (&header_);
+}
+
 MemorySegment&
 MemorySegment&
 ZoneTableSegmentLocal::getMemorySegment() {
 ZoneTableSegmentLocal::getMemorySegment() {
      return (mem_sgmt_);
      return (mem_sgmt_);

+ 7 - 0
src/lib/datasrc/memory/zone_table_segment_local.h

@@ -51,6 +51,13 @@ public:
     /// \return Returns the ZoneTableHeader for this zone table segment.
     /// \return Returns the ZoneTableHeader for this zone table segment.
     virtual ZoneTableHeader* getHeader();
     virtual ZoneTableHeader* getHeader();
 
 
+    /// \brief const version of \c getHeader().
+    ///
+    /// NOTE: This method will never return \c NULL.
+    ///
+    /// \return Returns the ZoneTableHeader for this zone table segment.
+    virtual const ZoneTableHeader* getHeader() const;
+
     /// \brief Return the MemorySegment for the local zone table segment
     /// \brief Return the MemorySegment for the local zone table segment
     /// implementation.
     /// implementation.
     ///
     ///