store IsolationData in ServiceData class

Instead of passing both the IsolationData and ServiceData around
everywhere, store the IsolationData inside the ServiceData class so
that we only need to pass around one object.

Signed-off-by: Zane Shelley <zshelle@us.ibm.com>
Change-Id: I13f02fe43ede324ba51242a16daab107bc81a678
diff --git a/analyzer/service_data.hpp b/analyzer/service_data.hpp
index 1639ed0..44f31b9 100644
--- a/analyzer/service_data.hpp
+++ b/analyzer/service_data.hpp
@@ -18,13 +18,15 @@
   public:
     /**
      * @brief Constructor from components.
-     * @param The signature of the root cause attention.
-     * @param The type of analysis to perform.
+     * @param i_rootCause    The signature of the root cause attention.
+     * @param i_analysisType The type of analysis to perform.
+     * @param i_isoData      The data found during isolation.
      */
     ServiceData(const libhei::Signature& i_rootCause,
-                AnalysisType i_analysisType) :
+                AnalysisType i_analysisType,
+                const libhei::IsolationData& i_isoData) :
         iv_rootCause(i_rootCause),
-        iv_analysisType(i_analysisType)
+        iv_analysisType(i_analysisType), iv_isoData(i_isoData)
     {}
 
     /** @brief Destructor. */
@@ -43,6 +45,9 @@
     /** The type of analysis to perform. */
     const AnalysisType iv_analysisType;
 
+    /** The data found during isolation. */
+    const libhei::IsolationData iv_isoData;
+
     /** The list of callouts that will be added to a PEL. */
     nlohmann::json iv_calloutList = nlohmann::json::array();
 
@@ -63,6 +68,12 @@
         return iv_analysisType;
     }
 
+    /** @return The data found during isolation. */
+    const libhei::IsolationData& getIsolationData() const
+    {
+        return iv_isoData;
+    }
+
     /** @return Returns the guard type based on current analysis policies. */
     callout::GuardType queryGuardPolicy() const
     {