Created primary API wrappers for the Isolator class

This is an attempt to abstract the internal workings of the isolator
class from the user application.

Change-Id: Ic898b202da6a0ddb368411c11218ca019d1f23fd
Signed-off-by: Zane Shelley <zshelle@us.ibm.com>
diff --git a/src/hei_isolation_data.hpp b/src/hei_isolation_data.hpp
index 57344bd..66de234 100644
--- a/src/hei_isolation_data.hpp
+++ b/src/hei_isolation_data.hpp
@@ -1,6 +1,7 @@
 #pragma once
 
-#include "hei_includes.hpp"
+#include <hei_includes.hpp>
+#include <chip_data/hei_chip_data.hpp>
 
 namespace libhei
 {
@@ -14,8 +15,17 @@
 {
   public:
 
-    /** @brief Default constructor. */
-    IsolationData() = default;
+    /**
+     * @brief Default constructor.
+     * @param i_chip     See iv_chip.
+     * @param i_chipType See iv_chipType.
+     */
+    IsolationData( void * i_chip, ChipType_t i_chipType ) :
+        iv_chip(i_chip), iv_chipType(i_chipType)
+    {}
+
+    /** @brief Destructor. */
+    ~IsolationData() = default;
 
     /** @brief Copy constructor. */
     IsolationData( const IsolationData & ) = default;
@@ -23,11 +33,35 @@
     /** @brief Assignment operator. */
     IsolationData & operator=( const IsolationData & ) = default;
 
-    /** @brief Destructor. */
-    ~IsolationData() = default;
+    /** @return The target chip pointer. */
+    void * getChip() const { return iv_chip; }
+
+    /** @return The target chip type. */
+    ChipType_t getChipType() const { return iv_chipType; }
+
+    /** @brief Flushes the data to ensure a clean slate for next isolation. */
+    void clear() {}
 
   private:
 
+    /**
+     * This is simply a pointer to a user application object that represents
+     * the target chip. The isolator does not know anything about this object
+     * nor how to use it. This parameter's only purpose is to eventually get
+     * passed back to the user application in a hardware access operation, which
+     * will be defined by the user application.
+     */
+    void * const iv_chip;
+
+    /**
+     * Each Chip Data File contains a unique chip type identifier. The user
+     * application will need to input this value so that the isolator will know
+     * which set of the isolation objects to reference.
+     */
+    const ChipType_t iv_chipType;
+
+    // TODO: add error signature list and register dump.
+
 }; // end class IsolationData
 
 } // end namespace libhei