Change isolate() API to take list of chips
In order to avoid issues with the internal data structures of the
isolation code, we changed the isolate() API take a list of chips
instead of a single chip.
Signed-off-by: Zane Shelley <zshelle@us.ibm.com>
Change-Id: I736d59ce1733cf6b582ece53447ef0c978846f50
diff --git a/src/isolator/hei_isolator.cpp b/src/isolator/hei_isolator.cpp
index 64cfe3e..cbb6652 100644
--- a/src/isolator/hei_isolator.cpp
+++ b/src/isolator/hei_isolator.cpp
@@ -24,7 +24,8 @@
// END temporary code
}
-ReturnCode Isolator::isolate( IsolationData & o_isoData ) const
+ReturnCode Isolator::isolate( const std::vector<Chip> & i_chipList,
+ IsolationData & o_isoData ) const
{
ReturnCode rc;
@@ -32,8 +33,11 @@
o_isoData.clear();
// BEGIN temporary code
- HEI_INF( "Isolator::isolate(%p,%u)", o_isoData.getChip(),
- o_isoData.getChipType() );
+ for ( auto const & chip : i_chipList )
+ {
+ HEI_INF( "Isolator::isolate(%p,%u)", chip.getChip(),
+ chip.getType() );
+ }
// END temporary code
return rc;
diff --git a/src/isolator/hei_isolator.hpp b/src/isolator/hei_isolator.hpp
index 4687b4f..1cc29b7 100644
--- a/src/isolator/hei_isolator.hpp
+++ b/src/isolator/hei_isolator.hpp
@@ -2,7 +2,6 @@
#include <hei_includes.hpp>
#include <hei_isolation_data.hpp>
-#include <chip_data/hei_chip_data.hpp>
namespace libhei
{
@@ -15,8 +14,8 @@
* - Create a singleton instance of an Isolator object via getSingleton().
* - Use initialize() to input each necessary Chip Data File provided by the
* user application.
- * - Call isolate() each time you want to find all active errors being
- * reported by a chip.
+ * - Call isolate() to find all active errors being reported by the given list
+ * of chips.
* - Once isolation is no longer needed, use uninitialize() to free up
* internal resources.
*
@@ -69,7 +68,8 @@
void uninitialize();
/** @brief See API wrapper description in hei_main.hpp. */
- ReturnCode isolate( IsolationData & o_isoData ) const;
+ ReturnCode isolate( const std::vector<Chip> & i_chipList,
+ IsolationData & o_isoData ) const;
private: