PEL: MTMS: Support const flattening

Future commits will eventually make every flatten function const, as
they should be since flattening an object should not affect it.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I285963805800b29163c5a3979a33590f64c03d00
diff --git a/extensions/openpower-pels/mtms.hpp b/extensions/openpower-pels/mtms.hpp
index 6b76ec7..928fb74 100644
--- a/extensions/openpower-pels/mtms.hpp
+++ b/extensions/openpower-pels/mtms.hpp
@@ -63,12 +63,22 @@
      *
      * @return std::array<uint8_t, mtmSize>&  - The TM value
      */
-    std::array<uint8_t, mtmSize>& machineTypeAndModelRaw()
+    const std::array<uint8_t, mtmSize>& machineTypeAndModelRaw() const
     {
         return _machineTypeAndModel;
     }
 
     /**
+     * @brief Sets the machine type and model field
+     *
+     * @param[in] mtm - The new value
+     */
+    void setMachineTypeAndModel(const std::array<uint8_t, mtmSize>& mtm)
+    {
+        _machineTypeAndModel = mtm;
+    }
+
+    /**
      * @brief Returns the machine type/model value
      *
      * @return std::string - The TM value
@@ -91,12 +101,22 @@
      *
      * @return std::array<uint8_t, snSize>& - The SN value
      */
-    std::array<uint8_t, snSize>& machineSerialNumberRaw()
+    const std::array<uint8_t, snSize>& machineSerialNumberRaw() const
     {
         return _serialNumber;
     }
 
     /**
+     * @brief Sets the machine serial number field
+     *
+     * @param[in] sn - The new value
+     */
+    void setMachineSerialNumber(const std::array<uint8_t, snSize>& sn)
+    {
+        _serialNumber = sn;
+    }
+
+    /**
      * @brief Returns the machine serial number value
      *
      * @return std::string - The SN value
@@ -157,7 +177,7 @@
  *
  * @return Stream&
  */
-Stream& operator<<(Stream& s, MTMS& mtms);
+Stream& operator<<(Stream& s, const MTMS& mtms);
 
 } // namespace pels
 } // namespace openpower