Created IsolationNode class
This class is a wrapper around the HardwareRegister objects and other
Register objects that will do isolation of active attentions.
Change-Id: I08b0955d59a6e278f51fd6bcac7b29c986c0770b
Signed-off-by: Zane Shelley <zshelle@us.ibm.com>
diff --git a/src/isolator/hei_isolator.cpp b/src/isolator/hei_isolator.cpp
index becd1b1..e977054 100644
--- a/src/isolator/hei_isolator.cpp
+++ b/src/isolator/hei_isolator.cpp
@@ -1,5 +1,6 @@
#include <isolator/hei_isolator.hpp>
+#include <isolator/hei_isolation_node.hpp>
#include <register/hei_hardware_register.hpp>
#include <util/hei_flyweight.hpp>
@@ -40,15 +41,15 @@
void Isolator::uninitialize()
{
+ // Remove all of the IsolationNode objects stored in the flyweights. This
+ // must be done before removing the HardwareRegister objects
+ Flyweight<IsolationNode>::getSingleton().clear();
+
// Must flush the hardware register cache before deleting any
// HardwareRegister objects.
HardwareRegister::flushAll();
- // BEGIN temporary code
- HEI_INF( "Isolator::uninitialize()" );
- // END temporary code
-
- // Remove all of the isolation objects stored in the flyweights.
+ // Remove all of the HardwareRegister objects stored in the flyweights.
Flyweight<ScomRegister>::getSingleton().clear();
Flyweight<IdScomRegister>::getSingleton().clear();
}