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