summaryrefslogtreecommitdiffstats
path: root/extensions/openpower-pels
diff options
context:
space:
mode:
authorMatt Spinler <spinler@us.ibm.com>2019-11-06 09:59:07 -0600
committerMatt Spinler <spinler@us.ibm.com>2019-11-12 16:04:32 +0000
commit654708fdd419743c454da00251b12e3bfb0b3be4 (patch)
tree9380680798524908b1270943fb344dacb73e7732 /extensions/openpower-pels
parentf1e85e20a1a6e97e27737b5883a8aa6a63c79b22 (diff)
downloadphosphor-logging-654708fdd419743c454da00251b12e3bfb0b3be4.tar.gz
phosphor-logging-654708fdd419743c454da00251b12e3bfb0b3be4.zip
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
Diffstat (limited to 'extensions/openpower-pels')
-rw-r--r--extensions/openpower-pels/mtms.cpp13
-rw-r--r--extensions/openpower-pels/mtms.hpp26
2 files changed, 33 insertions, 6 deletions
diff --git a/extensions/openpower-pels/mtms.cpp b/extensions/openpower-pels/mtms.cpp
index 9f4144e..3ef8e87 100644
--- a/extensions/openpower-pels/mtms.cpp
+++ b/extensions/openpower-pels/mtms.cpp
@@ -62,7 +62,7 @@ MTMS::MTMS(Stream& stream)
}
}
-Stream& operator<<(Stream& s, MTMS& mtms)
+Stream& operator<<(Stream& s, const MTMS& mtms)
{
for (size_t i = 0; i < MTMS::mtmSize; i++)
{
@@ -79,16 +79,23 @@ Stream& operator<<(Stream& s, MTMS& mtms)
Stream& operator>>(Stream& s, MTMS& mtms)
{
+ std::array<uint8_t, MTMS::mtmSize> mtm;
+
for (size_t i = 0; i < MTMS::mtmSize; i++)
{
- s >> mtms.machineTypeAndModelRaw()[i];
+ s >> mtm[i];
}
+ mtms.setMachineTypeAndModel(mtm);
+
+ std::array<uint8_t, MTMS::snSize> sn;
for (size_t i = 0; i < MTMS::snSize; i++)
{
- s >> mtms.machineSerialNumberRaw()[i];
+ s >> sn[i];
}
+ mtms.setMachineSerialNumber(sn);
+
return s;
}
} // namespace pels
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 @@ class MTMS
*
* @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 @@ class MTMS
*
* @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 @@ Stream& operator>>(Stream& s, MTMS& mtms);
*
* @return Stream&
*/
-Stream& operator<<(Stream& s, MTMS& mtms);
+Stream& operator<<(Stream& s, const MTMS& mtms);
} // namespace pels
} // namespace openpower
OpenPOWER on IntegriCloud