PEL: Add string accessors to MTMS class
This class is used by a few other classes, so make it easier to get
data out of it.
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I2feb4b83a09e6cb6056c9f1a903ca55e8cacf2ae
diff --git a/extensions/openpower-pels/mtms.hpp b/extensions/openpower-pels/mtms.hpp
index fe8723d..6b76ec7 100644
--- a/extensions/openpower-pels/mtms.hpp
+++ b/extensions/openpower-pels/mtms.hpp
@@ -59,26 +59,61 @@
explicit MTMS(Stream& stream);
/**
- * @brief Returns the machine type/model value
+ * @brief Returns the raw machine type/model value
*
* @return std::array<uint8_t, mtmSize>& - The TM value
*/
- std::array<uint8_t, mtmSize>& machineTypeAndModel()
+ std::array<uint8_t, mtmSize>& machineTypeAndModelRaw()
{
return _machineTypeAndModel;
}
/**
- * @brief Returns the machine serial number value
+ * @brief Returns the machine type/model value
+ *
+ * @return std::string - The TM value
+ */
+ std::string machineTypeAndModel() const
+ {
+ std::string mtm;
+
+ // Get everything up to the 0s.
+ for (size_t i = 0; (i < mtmSize) && (_machineTypeAndModel[i] != 0); i++)
+ {
+ mtm.push_back(_machineTypeAndModel[i]);
+ }
+
+ return mtm;
+ }
+
+ /**
+ * @brief Returns the raw machine serial number value
*
* @return std::array<uint8_t, snSize>& - The SN value
*/
- std::array<uint8_t, snSize>& machineSerialNumber()
+ std::array<uint8_t, snSize>& machineSerialNumberRaw()
{
return _serialNumber;
}
/**
+ * @brief Returns the machine serial number value
+ *
+ * @return std::string - The SN value
+ */
+ std::string machineSerialNumber() const
+ {
+ std::string sn;
+
+ // Get everything up to the 0s.
+ for (size_t i = 0; (i < snSize) && (_serialNumber[i] != 0); i++)
+ {
+ sn.push_back(_serialNumber[i]);
+ }
+ return sn;
+ }
+
+ /**
* @brief Returns the size of the data when flattened
*
* @return size_t - The size of the data