PEL: Make FRUIdentity::flattenedSize() calc size

This function was just returning the _size property, but in the future
_size will instead be set to what this function returns.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I5e5c2cefb595aa07c55c7d32de66372037f79c77
diff --git a/extensions/openpower-pels/fru_identity.cpp b/extensions/openpower-pels/fru_identity.cpp
index 8c81e88..73b4200 100644
--- a/extensions/openpower-pels/fru_identity.cpp
+++ b/extensions/openpower-pels/fru_identity.cpp
@@ -42,6 +42,28 @@
     }
 }
 
+size_t FRUIdentity::flattenedSize() const
+{
+    size_t size = sizeof(_type) + sizeof(_size) + sizeof(_flags);
+
+    if (hasPN() || hasMP())
+    {
+        size += _pnOrProcedureID.size();
+    }
+
+    if (hasCCIN())
+    {
+        size += _ccin.size();
+    }
+
+    if (hasSN())
+    {
+        size += _sn.size();
+    }
+
+    return size;
+}
+
 std::optional<std::string> FRUIdentity::getPN() const
 {
     if (hasPN())
diff --git a/extensions/openpower-pels/fru_identity.hpp b/extensions/openpower-pels/fru_identity.hpp
index ecc2899..bf7b2f7 100644
--- a/extensions/openpower-pels/fru_identity.hpp
+++ b/extensions/openpower-pels/fru_identity.hpp
@@ -82,10 +82,7 @@
      *
      * @return size_t - The size of the section
      */
-    size_t flattenedSize() const
-    {
-        return _size;
-    }
+    size_t flattenedSize() const;
 
     /**
      * @brief The failing component type for this FRU callout.